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

To do list for next versions:
============================
1. Make a printer friendly print button in the most important views.
2. Add admin setting to enable/disable "authentication required" for posting via 
   mini-calendar + make logging in / self-registering via mini-cal possible.
3. Separate styles sheet for mini-calendar.
4. Add possibility to the user's page to select cats which the user may see.


Change log - version 2.7.0:
==========================
01. All php.files with HTML header information or using HTML5 tags: The LuxCal 
    calendar changed to HTML5. It now produces HTML5 code, rather XHTML code. 
    HTML5 is state-of-the-art and opens the way to more structured code. 
    Measures have been taken to stay compatible with the older browsers. 
02. event.php, eventform1.php, eventreport.php (new): When users with only 
    "view" rights click on an event an Event window with a special "view only" 
    layout will open, rather than the Event Edit window with all form fields 
    greyed out. The "view only" Event window looks nicer and In addition URLs in 
    the event description will be displayed as hyperlink and can be clicked. 
03. dw_functions.php, settings.php, ui-{lang}.php, ai-{lang}.php: A new setting 
    "End hour in Day/Week view" has been added to the admin's Settings page. 
    This setting, added under Views, specifies for Day view and Week view the 
    hour at which a normal day of events ends. The events for a particular day 
    which start after the hour in this setting will sink to the end of the day. 
    This setting will avoid waste of space in Day view and Week view for 
    calendars which are mainly used during daytime.
04. settings.php, ai-{lang}.php, header1.php, headerm.php, footer1.php: A new 
    setting "RSS feed" has been added to the admin's Settings page. With this 
    setting, which has been added under General, the administrator can enable / 
    disable the RSS feed link in the footer of the calendar and in the HTML 
    header of the calendar pages. 
05. event.php, eventform1.php, eventreport.php, settings.php, dw_functions.php, 
    month.php, year.php, upcoming.php, search.php, changes.php, rssfeed.php, 
    sendchg.php, ai-{lang}.php: The admin setting to enable the display of the 
    event owner has been changed into a setting to enable the display of the 
    added/edited date of the event and the user who added/edited the event. If 
    enabled, the information is displayed in various views and in the hover 
    event details popup.
07. settings.php, ai-{lang}.php, eventchk.php, lcalcron.php: A new function has 
    been introduced to automatically delete events which have expired. A new 
    administrator setting has been added to define the number of days after the 
    event's due date when the event expires. If the number of days is set to 0 
    (zero), events will never be deleted. This function works via the cron job.
    Note: deleted events are flagged "deleted"; definitively removing deleted 
    events from the database is done via the admin's Database page.
08. settings.php, ai-{lang}.php, index.php: A new administrator setting has been 
    added to define the expiry time of the cookie which is set when a user 
    selects the 'Remember me' option when logging in.
09. changes.php, retrieve2.php: In the Changes view, if the user has sufficient 
    rights, for added and edited events the title can now be clicked to open the 
    Event window. 
10. week.php: When in the navigation bar a "Go to date" is selected, then also 
    in Week view the selected date will be marked with a red border.
11. sendchg.php: When using a cron job: When the calendar has not changed, no 
    "calendar changes" email notification will be sent. This reduces the number 
    of unnecessary emails sent to the admin. 
12. lcalcron.php, notify.php, sendchg.php, userchk.php, ai-{lang}.php: The Cron 
    Job Summary is now emailed by the lcalcron.php script itself (to the mail 
    box "Calendar email" specified on the admin's Settings page), and doesn't 
    depend any more on the cron job system on the serever which starts the 
    script. The layout of the Cron Job Summary message has improved. 
13. lcmini.php, settings.php, ai-{lang}.php, install.php, upgradexxx.php: For 
    the mini-calendar two views are now available: Full Month view and Work 
    Month view. The view can be selected on the admin's Settings page. In work 
    month only days are displayed which are marked as "work day" on the admin's 
    Settings page. 
14. all files using the $privPx variable (renamed into $mayEdit): If the rights 
    of a user are changed from Post rights to View calendar, the user cannot 
    edit events any more; including his/her own events. In the previous LuxCal 
    versions when the rights of a user were changed from post to view rights, 
    the user could still edit his/her own events. This was wrong.
15. header1.php, ug-{lang}.php: The "nabla" symbol (upside-down triangle) on the 
    Search button in the calendar's navigation bar sometimes causes problems in 
    the new Firefox browser v13.0. Therefore this symbol has been replaced by a 
    triangle (delta) symbol.
16. retrieve.php: Events on the 31st of a month repeating monthly will now only 
    repeat in months with 31 days. Similarly, events on the 29th of February 
    (leap year) repeating yearly, will only repeat in leap years. Bug.
17. header1.php, headerm.php: Width of the date picker field in the navigation 
    bar increased. The field was too small in some browsers.
18. lcmini.php: HTML code of mini calendar improved. Better structured and HTML 
    validation warnings solved.
19. rssfeed.php: When there were no events due in the RSS feed, the produced RSS 
    feed code didn't validate and could cause problems in certain RSS readers. 
    Solved.
20. week.php, categories.php, users.php, importICS.php, importCSV.php: Various 
    HTML errors solved.

As of version 2.7.0a:
====================
21. year.php, month.php, dw_functions.php, ai-{lang}.php: The "date/user added 
    /edited" information has been completely removed from the hover-box with 
    event details.
22. notify.php, event.php: The "date/user added/edited information" has been 
    added to email reminders, but will only be shown if the admin setting 
    "Show date added/edited of event" is enabled.
23. sendchg.php: The date/user added/edited information is always part of the 
    events in Calendar Changes report sent via a cron job and doesn't depend 
    anymore on the admin setting "Show date added/edited of event".
24. event.php, eventform.php: Both "<br>" and "<br />" should be replaced by 
    "\r\n" for the form field "description". "<br />" is still valid HTML5 and 
    dates from the XHTML days.
25. settings.php: On the admin's settings page the calendar URL is forced to 
    start with "http". No "http://" causes problems with the RSS-feed URL in 
    some browsers.
26. search.php: When opening the Text Search page, the focus is now set to the 
    Search text input field.
27. event.php: When editing a single occurrence of a repeating or multi-day 
    event the "date added" was not correctly filled and the "date edited" was 
    not filled.
28. ug-{lang}.php: Minor problem with section numbers and titles, which were 
    split over two lines, solved.
29. ai-portuguese.php: Errors in the description of some items on the admin's 
    Settings page solved. A number of single quotes were not escaped with a "\", 
    which made the related description invisible.
30. index.php, toolbox.php: PHP REQUEST parameter validation improved to avoid 
    SQL injections.