Major new version 3 of the CMS has been released. The changelog below includes changes from multiple internal versions since previous public release of 2.1.5
Read the
v3 blog post for an overview of the major new features and to download the latest version
click here.
v 3.0.1
* Can now add more than one security question for anti-spam
* One random security question asked per session and goes away if answered correctly
* Can toggle security question for user registration and contact forms
* Removed no_email admin controls on registration page , use add user page in admin instead
* Fixes and improvements to content area handling in admin area
* New articles default to Draft status
* UI/UX improvements to image galleries in admin
* Refreshed all admin themes
v 3.0.0
* Some tidy-up changes to Theme page in admin
* Fixed delete product attribute bug
* Fixed import products would reset name and status of existing products if not in the csv
* Fixed edit category issue could not set root as parent category
* Fixed add and edit category pages not remembering submitted data on failed submission
* Fixed bug with sub categorires not showing as selected when they should
* Fixed add category page not setting parent category from clicking + beside category name
* Add sub cat + on categories page now uses button instead of link, as url is now always ?adCat it works better with browser back behaviour
* modify_news changed to editArticle
* new $cmsSettings->getDateFormat('dd','mm','yyyy') to allow switching of set date format eg. d/m/y to dd/mm/yyyy etc.
* Changes to how various admin pages submit and remember data
* Product attributes included in OrderProduct class for shipping options etc.
* Maintenance message field in admin changed to textarea to better support html
* New find and replace text feature added to batch edit on products page
v 2.4.0
* Add/Edit product page now stores net price with 3 decimal precision to avoid rounding issues on taxed products (should we increase precision to 4,5,6 places?)
* Entering a . into price fields no longer changes to 0 and instead allows user to finish typing a cent value less than 1.00
* can now add optional layout string to navmenu tag eg. {cms-navmenu-123456789-mylayout}
v 2.3.1
* Removed thumbnail image size fields from add/edit category in admin - category image sizes now set and controlled by the content template
* New admin panel for front-end
* Icon css updated to use cms-fi- prefix on class names
* Max number of backups allowed can be set in sys/config.php - default is 5
* Dev Mode now enables/disables admin panel on front-end
* All admins now have access to use dev mode
* Server response time now shown on admin pages (main admin only)
* Fixed bug when a product attribute is included for indexing
* Fixed recently introduced bug where qty always 1 when first added to cart
* Optimised admin users page and the order filters on it, now quicker in most cases
* Added filename download link to theme file edit page
* Optimised category dropdown select lists, significantly faster admin pages where these dropdowns are present
* Fixed minor bug when submitting a new article with no name
v 2.3.0
* cms_root_url can now be seen and set on the admin config page
* cms_root_url is now saved with cms settings ensuring it is always the same no matter how cms scripts are run (some hosts could have a different http_host than the domain)
* some header redirects changed to use relative location instead of absolute with cms_root_url - ensures admin pages work properly so even if cms_root_url is set wrong can be corrected in admin
* lots of cms_root_url links in admin changed to relative
* $cms_settings array changed to $cmsSettings object/class
* functions and classes files moved to new scripts/lib folder
* scripts/config.php moved to sys/config.php to make for easier upgrading of scripts folder without overwriting custom settings
* new class/object cmsConfig for config file settings, note cmsSettings object is for settings set in admin
* default settings for categories, products and articles are applied and working again
* Can now batch edit discount on products
* Added section_content div into collapsable sections in admin are so now looks good on chrome browser too
* default.php in scripts folder renamed to main.php
* Some css changes to default theme including new cms_colors.css which has theme color vars for easier themeing
* New account/change owner section (with guest account/no owner support) replaces old owner bar
* Fixed some searches were not updated from search[customer_id] to search[owner] after recent changes
* Listings moved over to use new class/object item code
* process_update_templates.php updated to ignore data:image and # in url()
* Fixed </body></html> closing tags were not outputting on admin pages!
* PHPMailer plugin updated
* codemirror plugin updated
* SMTP can now be set in admin settings and is no longer set in config.php file
* Removed $paynow_login_required from paynow page - onus is now on individual payment options to check if customer is logged in before outputing any personal details - use new function canViewCustomerData($order)
* Orders made during session now have their id's stored in session so guest customers canViewCustomerData($order) on orders they have placed
* Can now batch edit product status
* Fix title tags on category pages were not showing due to recent page->title page->meta_title changes
* get_categories() function improved to prevent potential 500 server error issue, now returns empty array instead of false
v 2.2.8
* Fix email user from order was not working due to order-customer->id not being set correctly on legacy orders
* Catgeory content templates can now access generated thumbnails of category images eg. $category->image[$filename]['thumbnail']='my.jpg'
* Description can now be added to navmenu items, helper text for admin only reference
* Removed function display_category_image_table() - use a content template for this
* Removed function display_categories_as_text_links() - use a content template for this
* Fixed bug: a user with admin and theme usergroup permissions could not update theme
* Can now use additional custom text or select inputs with contact form eg. name="custom[myCustomName]"
* Other bug fixes
v 2.2.7
* language folder moved into includes folder
* Various fixes to rencent code changes
v 2.2.6
* Various fixes to rencent code changes
v 2.2.5
* !! Extensive changes to code base !!
* Data change -> order slot now saves price excl. tax instead of incl. tax
* Data change -> customers folder renamed to users in sys/data
* Further extensive changes to product and orderslot price/tax rate storing and handling
* Fixed cms_interface check bug in zones_by_country shipping option
* Order stats ie. currency totals are now cached (and cleared when index file is updated) (admin orders page now loads faster)
* Updated admin viewdata to show both object data and also all loaded data
* Updated admin_debug function
* Subscriptions now using class/object oop
* Removed percent price mod on product options plus/minus modifiers should be adequate and less problematic in calculations
* User now using class/object oop wip
* item index filenames changed
* Removed ability for guest commenting on articles, easier to spam and UI was a bit complex anyway
* Categories now use the item class/object system
v 2.2.4
* Added warning messge to API options page in admin to clarify when API is locked.
* Updated more d/m/y dates in admin to format using $cms_settings['config']['dateFormat'] - note some dates using d/m/Y not changed, need to check
* Coupons now using class/object oop
* Added social media icons fb,ig,li,yt,tw
v 2.2.3
* Fixed price text bug in product->displayPrice()
* Template tag {cms-terms} changed to {cms-terms-content}
* New template tags {cms-terms-url} {cms-time-year}
* All template references now stored without .php extension
* New template tags {cms-category-items-content} {cms-category-page-nav} {cms-category-total-item-count} {cms-category-page_num} alternatives to displaying everything with {cms-page_content}
* Added new admin user permissions for changing theme, templates, css and page code
* New NavMenu feature added to admin
* Added new admin user permissions for changing navmenus
* Contact form anti-spam measure that checks email volume and frequency no longer applies if logged in as an admin
* Active theme is now updated when saving website config settings
* index files now include created_time to filter/sort by age, eg. use search[old]=30 to get items 30 days or older or search[new]=30 to get new items added in last 30 days
* Added "Days to Consider New" setting to product settings, used on products page filter in admin 'Added last X days'
* New discount amount/percent option added to products
* New filter in admin to show products that are discounted
v 2.2.2
* Started to implement PHP classes and objects starting with category/displayCategory and page
* Function display_category() is now displayCategory() and uses new category object
* Category content templates must now define a unique namespace at top of file category\[ct_filename_without_extension]
* It is now possible to display content from multiple categories on the same page with different content templates
* search['price'] now more flexible in what it accepts ie. it attempts to extract price values even if other characters are passed in
* Removed date of birth option from checkout - if dob required for orders (rare) a user account should be created first
* Batch edit products moved from product settings and now integrated into products page (uses applied filter/search)
* New API options added in admin settings
* Fixed an issue where item id was being converted to lowercase in get_items() function
* positive keyword search now checks all search keys, not just name and keywords
* Improved cms locking to allow admin ui to show and website front-end
* Lock message shown in admin area with fail-safe release locks option shown after a period of time
* Product attributes are now stored in the product index file to allow attribute search/filter
* Can now search products by attributes eg. search[attr_brand], search[attr_color] etc.
* Fixed invalid auto discount coupon not being fully ignored and incorrectly affecting the order discount
* Added new item sort feature for categories on the front-end eg. ?sort=price ?sort=price_r
* New product variants feature
* Increased character limit on short descriptions from 150 to 270
* New fotorama plugin added
* UI change to adding related products (same UI as new variants)
* New "See/Show/Read More" content reveal feature added
* New open/close fieldset sections in admin and other UI improvements to admin
* Removed weight and volume from products (use attributes instead to add these)
* Removed weight and volume modifiers on product options, replaced with a single modifier string
* New holding page mode added to maintenance mode.
* New friendly URL settings page in admin (removed setting from config.php)
* Related products category no longer displays pagination
v 2.2.1
* $category_details['display_format'] is now $category_details['ctemplate'] / content template
v 2.2.0
* Data change - categories now store additional content areas as $page_content['myarea'] instead of $page_content['page_content_myarea']
* Big changes to theme - display_theme_file_loc() function split into theme_file_path() and theme_file_url()
* paynow page skips loading payment options if order_total is 0
* paynow page checks now for cancelled payments
* Updating page templates process now handles both single and double quote in href and src (previously only updated links with double quotes)
* Some /n (new line) were not in double quotes admin/includes/backup.php
* Restore process now works with either .tar or compressed tar.gz backups
* Page templates for the active theme are now listed and can be previewed and edited from the admin theme page
* CSS files in the styles folder of the acitve theme are now listed and can be edited from the admin theme page
* Trailing slash removed from constant cms_theme_dir and all files where it is used have been updated
* Added codemirror plugin for syntax highlighting of html/css when editing theme files
* Changes to tinymce plugin to allow relative as well as abosolute URLS (convert urls disabled)
* Eased check in Update templates, now checks for "html" string instead of "<html"
* Minify css now ignores 0px if it is part of a class name, id etc.
* Big changes to page template tags: all tags begin with "cms-", use of hyphens in tag name and to seperate parameters instead of commas (for class name compatibility) (see docs/readme_user_manual.html)
* Page template tags {page_content} and {page_content_*} are now {cms-page-content} and {cms-page-content-*}
* New page template tags {cms-cart-qty} and {cms-cart-price}
* Can now use class names in page templates to define cms content areas
* New page template classes "cms-page-content" and "cms-pag-content-*" (* = custom name of content area)
* New page template classes "cms-cart-qty" and "cms-cart-price"
* Various changes to template tags (see docs/readme_user_manual.html)
* Updating page templates process now ignores href relative urls beginning with a query string eg. ?cart ?login etc.
* Optimised add_to_cart_popup from 3 ajax page loads to just 1
* Removed cart_menu_popup.php file (is now all in add_to_cart_popup.php)
* cms-cart-qty and cms-cart-total now used in cart menus generated by the cms (parity with the template tag so they all update together with add_to_cart_popup)
* Product suggestions category (cat id 1) now has listings visibilty set to hidden on install
* Added missing status to default categories created maintenance.php
* Can now set default categories for new products in admin settings
* Can now batch add categories to mulitple/all products in admin settings (removing selected categories must still be done by editing products individually)
* Can now optionally use HTML comment tags with special tags, eg. <!--{cms-page-meta}-->
* Only css in the styles folder is minified (for reliabilty, possible bug in the minfycss function)
* Page template named index.htm/.html is now allowed
* Filenames for fingerprinted files now begin with "fptf"
* Fingerprinted files now stored alongside their original theme file (better reliability for file associations in js etc. by keeping theme files in same directories)
* New front-end constants cms_index_url_rel and cms_index_url_abs (the relative and absolute URLs to the CMS main index.php)
* New front-end constants current_page_url_rel and current_page_url_abs (the relative and absolute URLs to the current page url)
* New front-end variable $current_page_url used in form actions and can be changed in include files if needed using item_url etc.
* cms.min.css file now added to template in process_update_templates.php instead of cms_front.php
* Edit template file in admin now shows html errors
* CMS CSS files for themes are now stored in styles/cms/ instead of just styles/
* Added some helpful comments to main index.php file
* payment options are now listed alphabetically in admin area
* $payment_option_details['item_type'] no longer needs to be set in a payment option paynow.php file
* $shipping_option_details['item_type'] no longer needs to be set in a shipping option shipping_option.php file
* Category content wrapper div removed from display_category function and div/class should now be added in listings format file
* $item_url and $item_thumbnail[0],$item_thumbnail[1] can now be used in listing format files
* Changes to display_category function and display category format files in a theme
* Added reverse number formatting function eg. 1,000.99 will convert to 1000.99 (used on paynow page when amount is passed in URL)
* Orders on Myaccount page now show order date if set instead of always showing order creation date
* Big changes to session variables that now use a unique key/id to separate from other installs of the CMS on the same website
* new exit_cms function
* ip block timeout/check every 10mins , so can take 10mins for block/unblock to take effect
* some optimisation to ip block lists , lighter file ip_block.txt for front-end and ip_block_data.txt for back-end
* all terms and conditions files are now save with "tos_" prefix, full terms file saved as tos.html
* New section added to admin terms and conditions page for adding disclaimers and copyright information
* Blog comment now shows only first name of user and Guest if user does not exist
* rel="nofollow ugc" added to user website links in blog comments#
* Improved sorting of usergroups in admin settings usergroups
* compare_items_ids function updated to take strlen into account too, so shorter ids before longer
* Moved includes/cms/user/account_menu.php from core and into theme instead
* Moved display part of includes/cms/shop/cart.php and includes/cms/shop/confirm_order.php into theme instead
* Moved display part of login, register and forgot password into theme
* Reorganised files in theme includes folder
* Import removed from main admin menu and import button added to products page alongside export button (todo categories,users etc.)
* Improved csv import to allow column headings in any order and not required to have them all present in the file
* Added cancel buttons to add/modify product page and some other pages in admin
* Changes to admin pages to make them look more interfacey when no items to list
* Buttons added to footer of admin items pages
* functions in display format files can now output different layouts eg. a grid and list layout of same items on the same page
* Removed keep aspect ratio option from add/edit category and category settings in admin area (images should really keep aspect ratio and instead use object-fit/cover to crop and fit to a specific width and height)
* Reorganised some options in add/edit category pages in admin
* Added tip of the day to the admin home page
* Some reorganisation of admin menu and settings menu
* Context sensitive settings button added to admin header menu
* UI improvement to admin menu buttons
* product_detail.php and news_detail.php renamed to product_page.php and article_page.php and both split into theme folder for easier customisation
* New booking system added with booking schedule options added to products
* New setting added to enable/disable order confirmation emails
* Date format can be changed in admin config settings d/m/y or m/d/y (still todo: update hardcoded instances of d/m/y)
* Can now set page templates for user login and account pages in the admin area and also for cart, checkout, paynow pages
* Added new newsletter subscription page ?subscribe
* New read/write/import option for usergroup permissions
* Fixed bug when thousands separator used in product price would mess up price
* Various other changes and improvements