============================
= LuxCal Development Notes =
============================

Change log - version 4.6.0
==========================
New features / improvements
01. many.php: If the administrator has set up and enabled the SMS service on the 
    Settings, when adding / editing events, in addition to sending email 
    notifications, users can now also send SMS notifications. Per user group 
    the sending of SMS notifications can be enabled or disabled.
02. settings.php, event.php, month.php, toolbox.php, toolbox.jsp, ui-{lang}.php, 
    header.php, importCSV.php, importICS.php: A mailto:-link feature has been 
    added. Mailto:-links can be enabled/disabled for month view on the Settings 
    page and, when enabled, an email address in one of the event description 
    fields will result in a mailto:-hyper link in month view. The hyper link 
    will also appear in other views. The format of the email address in the event 
    description field is the same as for URL links: xxx@yyyy.ZZZ [title].
03. settings.php, toolboxx.php, ai-{lang}.php, event.php: A new option has been 
    added to the Settings page, under General, to send an email notification 
    message of calendar changes to a list of recipients.
04. settings.php, events.php: When adding an event, in the Event window, the 
    default value of the recipients list for notification messages is the email 
		address of the event owner. A new setting has been added to the Settings 
    page in the section Reminders to change this default value by a list of 
    recipients specified by the administrator.
05. event.php, eventform0.php: For multi-day and repeating events the event 
    window asking if you want to edit the series or the occurrence now shows the 
    event title, venue, description and extra fields.
06. matrixc.php, ai-{lang}.php: When enabled on the Settings page, week numbers 
    will be displayed in the header of the matrix(C) view. Week numbers will 
    follow the ISO-8601 standard: weeks are starting on Monday.
07. users.php, ai-{lang}.php: Via the Users page, the administrator can now also 
    specify/edit the user interface language for each user account.
08. header.php, toolbox.js: The options panel can now be opened by either 
    clicking the Options button or an empty part of the navigation bar. It can 
    be closed by clicking either the Done button, the header of the options 
    panel or an empty part of the navigation bar.
09  groups.php, users.php, catgories.php, ai-{lang}.php: To protect the admin 
    from accidentally pressing the Delete button, for the User Groups page, the 
    Users page and the Categories page, by default, the Delete buttons are 
    hidden. One additional button has been added to make the Delete buttons 
    visible.
10. lcalcron.php, messaging.php, settings, toolbox.php, ai-{lang}.php: The 
    logging feature of the calendar has been improved. Events are now logged 
    with three different categories: errors, warnings and notices. Error 
    messages are always logged; logging of warnings and notices can each be 
    enabled/disabled on the Settings page.
11. header.php, toolbox.js, settings.php: As long as the calendar is open, when 
    a page is closed, the last y-scroll value of that page is saved. Whenever 
    the page is re-opened, it will scroll to the last saved y-scroll value.
12. settings.php, ai-{lang}.php: Apart from the LuxCal calendar version, the top 
    of the settings page now also shows the PHP version and the database version 
    in use.
13. css.php, year.php, month.php, week.php, day.php, matrixX.php, display0.php: 
		The backward/forward arrows have been made 40 pixels wide, to make it easier 
    to select them.
14. ui-{lang}.php: The help explanation (?) for the description fields in the 
    event window has been split in general, images, mailto-links and URL-links. 
    Now only explanations will be shown of items enabled on the Settings page.

Technical Issues
15. messaging.php: When sending mails, the transliteration is removed from the 
    subject field.
16. eventform0.php: Improved layout of the multi-day event window. '<br>' moved.
17. many.php: All submit buttons, using <input>-tags have been replaced by 
    <button>-tags. This results in a simplification of the code and a more 
    consistent styling of all buttons.
18. toolbox.php, eventform1.php: When generating the list of attachment links, 
    the href-attachment name is now rawurlencoded, to cope with possible spaces 
    and other non-alphanumeric characters in the attachment file name.
19. retrieve.php: Unused events table field 'type' removed from the retrieve 
    function.
20. eventform1.php: In the Event window, to save space, the text "(help)" has 
    been replaced by "(?)",
21. settings.php: From the recipients list for notifications of calendar changes 
    hyphens (-) were removed and back slashes were not removed. This has been 
    changed; only the characters space, '\', '<' and '>' are now removed.
22. footer.php: If not empty, the content of the variable $testout will be shown 
    in the footer bar of the calendar. Only used for test purposes, to display 
    possible test data.
23. categories.php: The form name in the edit Category form removed. It was not 
    used and therefore redundant.
		
Bugs
24. notify.php: Email reminders will not be sent for the suppressed occurrences 
    of recurring events.
25. upcoming.php: Due to a bug, multi-day recurring events didn't show correctly 
    in upcoming view.
26. css.php: In month view, the text color of the month name on the first day of 
    the month did was not set according to the color selected in the theme.
27. toolbox.php: The regex $rxCalURL did not accept "localhost" or ip-address  
    followed by the TCP port (e.g localhost:80). Solved.
28. event.php: If in the Event window an error message is displayed (e.g. No 
    start date) and the error is corrected and thereafter the Add or Edit button 
    is pressed, a "Not Permitted" message was displayed. Solved.
29. css.php: The header text color in the Options panel was not set according to 
    the "bars, headers and rulers" color selected in the theme.
30. categories.php: Just below the category overview list a "Delete" button was 
    accidentally displayed. This button has been removed.
31. toolbox.php: The regex to recognize URLs removed the dot for the top level 
    domain if the URL ended with a slash (/). Solved, regex simplified.
32. expical.php, exportICS.php: In the exported .ics files, just after the "@", 
    the string "http(s)://" has been removed from the UID. This string caused 
    problems for some receiving applications.
33. index.php: Via SSO deleted users could still log in. This has been fixed and 
    is not possible any more.
34. lctools.php: Bug in replicate feature solved. When in the input file one of 
    the letters y or z were used in the database table name prefix, then no 
    entries were duplicated.
