XT-CMS Forum

XT-CMS : Content Management System => Announcements => Topic started by: xtom on May 19, 2022, 08:06:10 PM

Title: XT-CMS v3 Released
Post by: xtom on May 19, 2022, 08:06:10 PM
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 (https://www.xt-cms.com/blog/xt-cms-v3-released/) for an overview of the major new features and to download the latest version click here (https://www.xt-cms.com/download/).

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