Topic: LuxCal 5.3.1 - MySQL and SQLite - released 19 March 2024
In this new LuxCal version 5.3.1 you will find some interesting new features and improvements. Furthermore a number of technical issues have been addressed and a few bugs have been fixes.
>>>> FOR THIS VERSION THE MINIMUM PHP VERSION REQUIRED IS 7 <<<<
As always, John from Denmark spent a lot of time beta testing this new version and helped to make the LuxCal Web Calendar a better product. Thanks again John!
Hereafter you will find a full summary of all changes since the previous LuxCal version 5.2.4.
New features / improvements
• When enabled on the Settings page, in the Event and Day Marker windows an emoji picker can be opened, which can be used to add emojis to the title and description fields.
• The event notification system has been revised. In addition to email and SMS notifications now also Telegram notifications are possible. Which service for notification is used is now determined by each individual user, rather than by the sending script. The user can select from the message services enabled on the Settings page via which service to receive notifications. The user can also select to receive notifications via more than one service, for instance both via email and Telegram messages. For more details see the admin_guide.html document.
• To give certain users calendar access for a limited duration, for each user account an expiry date can be specified. To do so one needs manager rights or up.
• On the admin's Edit Categories page you can now add a list with notification recipients to an event category. When on the calendar an event is added, edited or delete in this category, a notification will be sent to the recipients specified for the category. If the event editor is part of the recipients list, he/she will be excluded from the notifications to be sent. If the editor wants a notification as well, he/she can check "send notification now" in the Event window.
• On narrow displays in Month view the "Previous year" and "Next year" arrows in the navigation bar will float left and right respectively, so that they are further away from the normal "Previous" and "Next" arrows.
• The settings specifying the view buttons on the navigation bar for public and logged in users have been split in settings for large displays and settings for small displays. This way the admin can specify less buttons for small displays, so that the navigation bar on small displays fits on one line.
• As background information, on the Manage Database page a list with useful totals of database records is shown. Furthermore the length of the date fields have been limited to 10 characters.
• When not used the 'To approve', 'Upcoming' and 'Todo' side lists can now be disabled on the Settings page. This will result in less database accesses and faster calendar load times.
• When specified on the Settings page, a calendar logo will be displayed on the Log In page just below the Log In dialog box. The height of the logo can also be specified. The maximum width is 80% of the window width.
• The calendar can now remember multiple user log-ins from different devices. So for example when you log in from your mobile phone and from your desktop computer, while in both cases selecting "Remember me", the calendar will remember both log ins.
• When on the Thumbnails page a thumbnail is clicked, a "Copied to clipboard" notification is shown for some seconds.
• On the Thumbnail Images page, the Manage Thumbnails box has been given a bit more padding and the Submit button is horizontally centered now. Embellishment.
• The form on the Contact page has been redesigned. Embellishment
Technical issues
• Non-recurring events and recurring events are retrieved with one single database query, instead of two separate queries. This results in
faster calendar load times.
• Several code optimizations to speed up calendar load times.
• In the options menu, the entries in the calendar selection table were enclosed in redundant <div>-tags. <div>-tags removed.
• On the Settings page, in the Events section, for the Event drag and drop setting, the "enabled" radio button was followed by a stray '>' character. Character removed.
• In the JavaScript "onclick", "onmouseover" code, by using the back-tick character the code has been made more consistent, better readable and less prone to interference with quotes in text strings.
• For the so-called Displays, in the <script>-tags where the toolbox.js file is loaded the calendar version number is added to the toolbox.js, to ensure the loading of the last toolbox.js version.
• In the Add / Edit Event window, both Help question mark symbols (Description and To) have been replaced by more discrete question marks.
• On the admin's Database page, the number of characters in the date input fields has been limited to 10.
• In the list of sub-categories, the first entry (None) was hard coded and consequently the same in all languages. It's now taken from the language file (ui-<lang>.php).
• In all functions the unused global variables have been deleted. Cleaning up.
• Empty and duplicate entries are removed from the recipients list, before the list is used to send notifications.
• On the User Profile page, when a field contained an invalid value, the field was reloaded from the database so that the user could not see why the value was invalid. Solved.
• The regex $rxPhone updated, so that a mobile phone number must start with a + or a 0 (zero) character.
• Both pages Import Users and Export Users have been revised. The telegram chat ID has been added to imported and exported files. Further changes: When exporting all users, the Public User is skipped. When importing users, the error handling and reporting of the file to import has been improved.
• LuxCal versions 2.7 - 3.2 (older than 10 years) are not supported anymore and have been removed from the upgrade procedure. If someone is still using a version < 4.1 and needs help, LuxSoft should be contacted.
• On the Settings page, section Reminders - SMS, the validation of the calendar phone number has been added.
• In the saveSettings function, to avoid leading and trailing spaces, the values are trimmed before saving them to the DB settings table.
• In the right upper corner, on the navigation bar, the Log In link overlapped the Full Screen symbol and the User Menu was not aligned with the User name
• The Thumbnails page was not responsive and did not show correctly on a narrow screen device
• The current date and time have been removed from the header in email notifications because it was redundant. The email client already shows the date and time of email messages.
• To cope with emoji and other special characters, for the MySQL version the database collation is set to utf8mb4.
Bug fixes
• To check the current settings against the $defSet entries in the toolboxx.php file, the 'short-ternary' operator was used instead of the 'null coalescing' operator, which could result in showing wrong check box values on the Settings page, whilst the actual $set value was correct.
• In the Upcoming view events could not be clicked anymore to open or edit event details (due to nested single quotes). Solved.
• Thumbnail images in the onmouseover pop attribute could cause strange effects. In some PHP versions < 8.1 single quotes were not converted to HTML entities because ENT_QUOTES was missing in the htmlspecialchars PHP function.
• When updating the user profile data, the "User profile updated" message was shown in the error message color, instead of the confirmation message color (green).
• When a user self registered or asked for a new password, the confirmation message was shown in the error message color, instead of the confirmation message color (green).