Topic: LuxCal 4.7.6 - MySQL and SQLite - released 15 October 2019

Users are encouraged to upgrade to this new version 4.7.6. It's better than ever!

Highlights

This new LuxCal version 4.7.6 includes important new features, improved technical issues and bug-fixes.
Most important new features / improvements:
• Self-registration more secure by using a "question and answer" dialogue during self-registration.
• Two new pages added to export or import user profiles (for users with Manager rights or higher).
• In the event window the extra fields 1 and 2 can now be resized vertically and may contain crlf characters.
Hereafter you will find a full summary of all changes since LuxCal version 4.7.5.

This new release has been tested again with the help of John from Denmark. Thank you John, great job again!

New features/Improvements
• Self-registration more secure: If self-registration has been enabled on the Settings page, any user could register. To make self registrations more secure, on the Settings page an option has been added to specify a question and corresponding answer. During self-registration, for the registration to be accepted, the user will have to answer the question correctly. When a users answers incorrectly 4 times in a row, the user will be told to try again in 30 minutes and the self-registration button will be hidden until the PHP session expires.
• Two new pages have been added to the side menu for users with at least "Manager" rights. One to export and another to import user account data. These pages can for instance be used to quickly copy user accounts from one calendar to another calendar, or to prepare user accounts of-line and import them into the calendar.
• A setting has been added to the administrator's Settings page to specify the sorting criteria of events in the various views. The possible sorting criteria can be: 1) the event times, 2) the event category sequence number.
• In the event window the extra fields 1 and 2 can now be resized vertically and may contain crlf characters.
• On the Settings page for each of the extra fields it can now be specified as of which user rights the field is visible. If a user has less rights than the specified rights, the user will not see the field. Extra fields with user rights > "View right" will not be part of emails, RSS feeds, periodically exported iCal files or the side bar (when installed).
• On the Settings page the default view can now be set for users with a large display and users with a small display respectively
• On the Settings page a default venue can be specified, which will be copied to the Venue field of the event form when adding a new event.
• If the event's description field contains a lot of text, in some views (month view, display0, stand-alone side bar) part of the hover-box with event details may fall outside the viewport. This has now been solved by giving the hover-box a maximum height and a scrollbar, if the content is higher than the box.
• On the Settings page, under File Uploads, the "Maximum file upload size" has changed from 6Mb to 200Mb to allow for uploading of larger attachment files. Note: PHP also restricts the maximum file upload size; it may therefore be necessary to also increase the maximum file upload size in php.ini file.
• The subdivision of the items in the side menu has been improved and made more logical.

Technical issues
• When fields in the database tables have no default value, e.g. an empty string, and MySQL runs in 'strict' mode, then the following SQL error can occur: General error: 1364 Field 'editor' doesn't have a default value. Solved by giving all empty field the value NULL.
• When changing the event category sequence numbers, still the "no cat" category remained the default in the Add Event window. Changed so that the category with the lowest sequence number is the default.
• In month view the lower border of the hover box could just pass the bottom of the screen, causing a vertical scrollbar to appear. Solved.
• The regex to validate user names in the recipient list didn't accept accents and umlauts. The regex has been updated to cope with Unicode special characters (\U00C0 - \U01FF).
• Some forms contained "action='index.php'", which was redundant.
• In the installation script the line "session_set_cookie_params" removed, because this made the PHP session test fail when installing the calendar using Edge and Safari.
• While importing events from a .ics file, events in the uploaded .ics file without title (SUMMARY) are now accepted and flagged as error in the displayed event list.
• In IE and Edge the JavaScript forEach method cannot be used on nodelists and therefore the selection of check boxes, for instance in the Options Panel, didn't work correctly. Solved by converting nodelists to arrays. (Sigh . . . Please, can we all switch to Firefox or Chrome!).
• On the Settings page, in section Periodic Functions, the layout of the form to specify the parameters for the calendar changes summary has been aligned with the rest of the page. Error checking has been added for the calendar changes recipients list.
• Redundancy removed in CSS-styles.
• The side-bar styles have been simplified.

Bug fixes
• Clicking the Todo checkbox in Month view also resulted in opening the Add Event window. Forgot to add "event.stopPropagation();". Solved.
• When the User profile page (Change my data) was displayed, the User Menu in the top bar could not be opened anymore. Solved.
• When editing a user profile, it was possible to change the user name or email address to a user name or email address already existing in the database.
• A bug in the time formatting prevented the display of leading zeros for Am/pm times. Solved.
• When users self-registered, in the SQL query there was a mismatch between the number of parameters to insert and the number of ?-marks. (because in V 4.7.5 the user number was removed from the query).
• When on the settings page, in the section events, posting of private events was set to "default", in the Add Event window the "Private event" check box could not be unchecked anymore.