CMS version 5.3.0.

Version 5.3.0 of WebBox CMS was released on 31st October 2018 with the following changes:

Notable features

  • New GPS functionality for addresses.
  • New SMS bundle for sending SMS messages with dispatch log CMS interface.
  • New email dispatch log CMS interface.
  • New email/telephone verification methods for users.
  • Taxonomies can now have individual views.


  • Added beberlei's Doctrine DQL extensions.
  • Added phlib sms-length at 1.1.0.
  • CkEditor toolbar: Fixed iframe showing twice.
  • File store entity subscriber: Fixed an error when files were being saved, as this was sometimes being attempted twice for the same upload.


  • Style:
    • Fixed a mobile header (top right) sparse issue.
    • Separated out in-line and asynchronous styles, so stuff that won't work in-line won't cause 404s.


  • CMS:
    • Fixed some field labels not focusing their input when clicked.
    • Fixed some fields not being sortable.


  • Addresses can now store their GPS coordinates, though an external service must be used to populate these.
  • Address CMS:
    • Added GPS coordinate properties, but only for the CMS when not in AJAX mode.
    • Added option to lookup GPS coordinates on save when not in AJAX mode.
    • Fixed incorrect redirect route on create/edit.
  • Address front end:
    • Any address creation (address book or checkout) will do a GPS coordinate lookup on save.
    • Any address editing will do a GPS coordinate lookup only if it has been changed.
    • GPS coordinates will be searched for when an address is edited if either coordinate is missing.
    • GPS coordinates will be searched for when an address is selected as default if either coordinate is missing.
    • When creating/editing an address set it as the user default if they don't have a default yet. (That's 1 click saved.)
  • Stripe library:
    • Updated all error messages to our base style. -- Also fixed a missing `$error` assignment with one of the coupon error messages.
    • Support for creating managed accounts. (Express too, but only for US based platforms.)
  • New console command to show the distances between 2 address entities.
  • New console command to retrieve GPS coordinates for all Address entities that are missing them.


  • Callback request:
    • Ability for a controller/view to set the message category.
    • Workaround for form name adjustment from Symfony 3.
  • Email logging:
    • Added CMS UI for seeing dispatched emails.
    • Audit those sent in test mode.
    • Fixed full headers not saving properly in logged emails.
  • Mail parser library:
    • Added support for Address entity with a mock entry, including Country and Zone.
    • Always asks the URL generator to build URLs in absolute mode properly.
  • Tweaks to the CMS menu.


  • Geocode library:
    • Registered as service and Twig global "geocode".
    • Functions are no longer static.
    • Functions available for taking in Address entities.
    • Updated Google API interaction to use cURL, HTTP refer, and API key with more solid response checking.
    • Updated GPS coordinate distance difference to allow for unit choice. (Miles, kilometres, or nautical miles.)
    • If no Google API key is available return null (and log this) rather than throw an exception.
    • Planet radius now a constant.


  • Language library: Fixed flushes conflicting with other parts of the application.


  • File manager library:
    • Getting directory contents now has a "nofiles" option to exclude retrieving file details.
    • Fixed incredibly long delay while building the tree for the media manager in projects with a LOT of images.


  • Contact page: Fixed front end post-submission code not appearing if the user was redirected back to the same page the form was on.
  • Sample page: Class "form-choices-wrap" should be in the immediate input wrapper, so then it can be used in Symfony forms with the "attr" option.


  • New bundle for SMS messages:
    • Includes logger for dispatches messages.
    • Includes dispatcher using the TextLocal service.
    • Includes site setting for default sender name.
    • Includes CMS interface for searching dispatched messages.
    • Includes CMS interface to send messages manually.
    • Added "phlib/sms-length" to help with message body encoding.


  • Added a "department" variable, which represents the taxonomy 1 deep from a root taxonomy. (Also exposed to the front end.)
  • Fixed missing template slug when viewing a root taxonomy.
  • Support for more in depth templates, so any taxonomy can have its own template based on its slug. The first found template will be picked from this list:
    1. Category taxonomy
    2. Department taxonomy
    3. Root taxonomy
    4. Default


  • Account edit: Fixed duplicate icon in alert divs.
  • Account registration: A group name can now be passed in to specify which group to register in, but the group must not have any higher role than standard user.
  • Email/telephone change verification:
    • These are not designed to stop a user logging in, but instead to limit functionality per project for unverified changes.
    • If the user must activate their account by email then an on-register trigger for a 6 digit email code won't be used. (This would be a pointless duplication.)
    • The CMS will now allow administrators to see and edit codes for activation, forgot password, email verification, and telephone verification. (Clearing a code effectively activates/verifies.)
  • User CMS form: Additional tool-tips, and some tidying.
  • User entity: Social profile ID properties now have the unique property enabled.
  • User expire command:
    • Tweaked repository functions to use `CURRENT_TIMESTAMP()`.
    • Use the core mailer functions for consistency, and logged.


  • Corrected some legacy (and now invalid) ways of generating absolute URLs.
  • Live HTACCESS: Do not prepend "www." if the HTTP host begins with "ipv4." or "ipv6.".
  • Removing composer binary. (We don't need this now!)