Calendar Solution -- Change Log

Version Changes
  • Formatting of upgrade document.
  • Proper capitalization of install file name.
  • Flush cache after editing data.
  • WARNING: this version requires changes to the database! See include/CalendarSolution/doc/UPGRADE.TXT for instructions.
  • Fix the limit form being too wide on the right hand side.
  • Make the default color of text and borders be black instead of dark green.
  • Convert windows characters to ASCII upon submission.
  • Add method for showing all events other than a given Frequent Event.
  • Add method for showing all events other than a given Category.
  • Use dirname() instead of ../ to avoid safe mode issues.
  • Change the name of the "Calendar URL" option to "Specific URL" in the event editing form.
  • Remove parameter types from DateTimeSolution method signatures to conform with PHP 5.4/E_STRICT.
  • Change is_a() to instanceof to appease PHP 5.3.7.
  • Add script for generating API documentation via Docblox.
  • Add DetailTable output format.
  • Add iCalendar output format files; links to them will be in a future release.
  • Add a WordPress Shortcode API.
  • Protect against cross-site request forgery (CSRF) attacks.
  • Fix name of the set_show_own_events_first() method (had mistakenly typed "frist").
  • Fix closing tags in limit form.
  • Show end times in QuickTable by default (like it was earlier), provide option to turn them off.
  • Provide install instructions for Lighttpd.
  • Provide script for outputting the documentation in PDF format.
  • Make "Y" the default for the is own event field in the admin interface.
  • Add time_format to cache keys where needed.
  • Change datelist generation so it will not impact date navigation.
  • Put closing tag at end of the limit form.
  • Fix date navigation layout by using right class name in List.css.
  • Call set_request_properties() and handle unset dates in limit form.
  • Compensate for PHP 5.2 not using autoload for static methods.
  • Upgrade the DateTime Solution's version.
  • Upgrading:
    • Obtain the new source code either via this website or Git. Those already using Git can change to the new branch by calling: git checkout master then git checkout --track -b 3 origin/3
    • Execute the SQL upgrade script (include/CalendarSolution/sql/upgrade-3.0-*.sql) corresponding to your DBMS. For example: mysql -u root -p calendar_solution < upgrade-3.0-mysql.sql
    • Read the "Compatibility Issues" section, below.
  • Compatibility Issues:
    • The $GLOBAL['dbms'] setting has been replaced by CALENDAR_SOLUTION_DBMS.
    • The order of arguments has been reversed for CalendarSolution_List::factory_chosen_view() and CalendarSolution_List::__construct() and the $dbms parameter is now optional (defaulting to CALENDAR_SOLUTION_DBMS).
    • The settings contained in the have been moved and centralized in calendar_solution_settings.php.
    • The class files require an autoloader. See calendar_solution_settings.php for more information.
    • The user class files of the SQL Solution have been renamed. Your settings will need to be transferred to the corresponding new file. For example, include/ is now include/SQLSolution/MySQLiUser.php.
    • Renamed CalendarSolution_List::get_navigation() to CalendarSolution_List::get_date_navigation(). This only impacts users who have written their own output format classes.
    • The "QuickTable" format no longer shows event end times.
    • HTML and CSS Changes:
      • All Cascading Style Sheet (CSS) class names have been prepended with cs_.
      • Switched to using multiple class attributes for CSS classes instead of combining indicators into single class names.
      • An example of the impact of the above two CSS changes is: table.cs_list_list tr.Y0 has become table.cs_list_list tr.cs_row_0.cs_changed_Y. See each the source code documentation for each format's get_rendering() method for a listing of class names used.
      • The limit form now uses div's instead of table elements.
      • The date navigation that was addressable as table.cs_nav td are now separated out into div.cs_prior, div.cs_next and div.cs_change_view.
  • New Output Formats:
    • MonthTitle: a table lising the date and name of each event, grouped by month.
    • Ul: an "unordered list" (<ul>) of the name and date of each event.
  • New Features:
    • Add support for SQLite 3.
    • Provide ability to use memcached. Structured to permit the use of other caching engines.
    • Provide an admin interface for adding and editing Frequent Events and Featured Pages.
    • Add support for Categorizing events.
    • Add the "Is This Your Own Event?" field in the database and the cs_is_own_event_Y and cs_is_own_event_N classes for use in CSS.
  • Enhancements:
    • Make the get_limit_navigation(), get_date_navigation(), and get_change_view() separate public methods and include the ability to adjust the text they use.
    • Add the $start parameter to set_limit().
    • Adjust SQLite handling to permit the use of any file name.
    • Add CalendarSolution_List::set_date_format() and CalendarSolution_List::set_time_format() methods so programmers can define how dates and times should be displayed.
    • Rename "Calendar URL" to "Specific URL."
    • Make it possible to show cancelled events in the "Title" view.
    • Add class to <tr> in the "Title" format.
    • Add set_show_own_events_first() method.
    • Add the set_permit_future_months() and set_permit_history_months() methods to limit how far forward and back users can see.
    • Provide set_request_properties() method that automatically sets everything from $_REQUEST that hasn't been set manually.
    • Add the set_show_location() to permit removing the location from the calendar view.
Version Changes
  • Improve UTF-8 support in the database and HTML. (MySQL users should run the upgrade script: include/CalendarSolution/sql/upgrade-2.1.3-mysql.sql)
  • Incorporate the fixes for PHP Bug 49081 into our date class.
  • Fix bug in the modify() method of our date class.
  • Add hours, minutes and seconds to our date interval class.
  • Title List: put vertical-align top in CSS.
  • Calendar: add cancelled/full to title.
  • Calendar: add color for cancelled items.
  • Calendar: make the CSS more concise.
  • List: add a status column and display changed/status information in it.
  • List: add row color for cancelled items.
  • List: alternate row color for changed/cancelled items.
  • List: "location" -> "location_start" in CSS.
  • List: make the CSS more concise.
  • Quick Table: display changed/cancelled/full in Note column.
  • Quick Table: use row color to indicate changed/cancelled items.
  • Title List: make it a table instead of a ul.
  • Title List: don't show cancelled items.
  • Title List: don't display changed.
  • Detail: display changed/status information.
  • Tests: enhance date tests.
  • Installation: add instructions for obtaining the package via Git.
  • SQLite: add a Git attributes file to the sqlite directory.
  • DateTime: ensure proper DateTime class is used. Needed in case PHP bug 49081 is not resolved in time for 5.3.3.
  • Initial public release.