Topic: LuxCal 4.7.1 - MySQL and SQLite - released 1 September 2018


This new LuxCal version 4.7.1 is mainly a bug-fix release with a number of cosmetic and other improvements.
Most important new features:
• Repeating events are now allowed when the event overlap check is enabled.
• The recipients field for email and SMS messages in the Event window and recipients lists in the reciplists folder may now also contain user names.
Hereafter you will find a full summary of all changes since LuxCal version 4.6.1 . . .

As usual this new release has been tested with the help of the experienced beta tester John from Denmark!

New features/Improvements
• Repeating events are now allowed when the event overlap check is enabled. If a repeating event has no end date, the overlap check will be performed for the next 24 months.
• The recipients field for email and SMS messages in the Event window and recipients lists in the reciplists folder may now also contain user names. The calendar will automatically convert these user names to an email address or a mobile phone number. File names of recipients lists in the recipients field in the Event window must now be put between square brackets, to avoid confusion with user names.
• Cosmetic change: The forward and backward buttons in the date picker header have been replaced by the same symbols (black triangle) as used in the calendar.
• Cosmetic change: In the calendar views, the left arrows to open the date picker and time picker have been replaced by calendar and clock symbols.

Technical issues
• When upgrading the calendar, existing user groups will get the following thumbnail privileges:
  - Admin: Manage all
  - Manager: Manage all
  - Post all: Manage own / view all
  - Post own: Manage own
  - Read access: None
  - No access: None.
• When two or more individual calendars were installed in separate folders on the same domain, users logged in in one calendar were sometimes automatically logged in in the other calendar(s) as well. The same kind of interference problems could occur with a single calendar installation with multiple calendars. The full session and cookie mechanism has been revised to fix this problem.
• MySQL version only: During the upgrade process, when testing if the database credentials are present the test on password is removed, because installations on a local server may have an empty password.
• In the database table definitions the default thumbnail privileges is set to '00'. The previous value '01' was wrong and caused a PHP notice message.
• The three sidebars, To do, Upcoming and To Approve, could be moved outside the display area. If the left mouse button was released when the top of the sidebar was outside the viewport, the side bar could not be picked up again. Solved by allowing the sidebar to be moved within the viewport only.
• When on the Settings page the start time was set to 0 and the time format was set to AM/PM, the time picker was showing "00:00 00:15 00:30 00:45" on the first line, which is not correct. From midnight to 01:00, the times are "12:00AM 12:15AM 12:30AM 12:45AM". Furthermore the font-family has been changed to mono-space, to better align the columns in the time picker.
• Due to an error in the user name validation template, existing users could change their user name in any name, including characters like '<' and '>'. Template corrected.
• In email reminder messages the links to possible attachments were relative links and therefore attachments could not be opened from email messages. To solve this anomaly, we've changed the relative attachment links to absolute links.
• To simplify the code, at various places the PHP mktime function has been replaced by the strtotime function.
• The installation and upgrade script will check for a .htaccess file which blocks browser access to .cdb, .log and .txt files. If not found, a .htaccess file will be created or an existing .htaccess file will be updated.
• To cope with local installations, the regex for validating the calendar URL now also accepts host name *host, where * can be 2 - 10 alpha-numeric characters or _, or -.
• The function "logError" has been removed from both toolboxd.php files and has been replaced by the general function "logMessage" in the toolbox.php file.

Bug fixes
• Editing or deleting one occurrence of a repeating or multi-day event was not treated as an occurrence and resulted in updating or deleting the main event.
• When checking if dates are due for a notification message, a check for excluded dates produced a PHP notice. Excluded dates however, are already skipped by the retrieve function, so this check in notify.php was redundant and has been removed.
• MySQL version only: In the database's categories table the default time slot field defslot was of type TINYINT. Because of this the default event duration was limited to 127 minutes (2 hours and 7 minutes). We changed the field type to SMALLINT, which can hold 32767 minutes.
• When on the Settings page, under General "Send notification of  calendar changes" is enabled, no notification was sent when deleting events.  This has been corrected.