Release 1.9.5 ------------- - Fixed setting of sitewide default for items - Fixed days and items params to recognize negative numbers passed in a request - Modified list_days to interpret 'days=-n' to mean 'show events in the last n days'; previously, the sign of listdays/summarydays/days was ignored. - Fixed 'now' tag to format hour, minute, and second to 2 digits each when building the time tag - Added %STARTDATE% and %ENDDATE% tokens to list views for when you want more flexibility than %DATERANGE% provides - Modified event parsing to use tags instead of tags. This allows each attribute to be set in a separate tag, but each must still be kept on a single line. and are still recognized for backwards compatibility, but should be considered deprecated. Parsing of tags stops as soon as a line containing only whitespace, an empty line, or a line is encountered. - Added custom token capability. Within event files, the tag will produce a token %EVT_FOO% with the value "bar" - Admin privileges now come in 2 levels. If a user is set to admin=1, they are able to create events freely, but may only edit, delete, or link to their own events (as determined by an tag). If a user is set to admin=2, they may edit and delete all events, regardless of owner. may contain a comma- separated list of usernames to allow multiple level 1 admins to edit the event. An event's owner username(s) is treated as an additional category for the event when determining whether to display it. - Fixed reverse and details params; 0 was being treated as equivalent to unset rather than forcing the settings to off - Fixed creation of links to event files; it now works - Fixed display of links in admin_list - was showing all events as 'U'nique, even if they were 'L'inked - Added %ADMINSTART% and %ADMINEND% tokens for displaying information only when an admin user is logged in - Reversed the substring matching on categories to make more sense. Setting category=fubar will now match all events whose category contains the string "fubar" rather than those whose category is contained by the string "fubar". - Changed default templates to match those I use for development (this should be an improvement for most/all cases) Release 1.9.4 ------------- - Added params view, details, and days. These supercede listdays and summarydays. For backwards compatibility, 'listdays=n' is converted internally to 'view=list', 'details=yes', and 'days=n'; 'summarydays=n' is identical, but with 'details=no'. Any value set for view other than 'list' or 'month' is ignored. Defaults for all three are set in %config and can be overridden as DefaultView, DefaultDetails, and DefaultDays in the per-user config in users. - Added special case of 'now' for tag param which sets it to the current time as hhmmss. (Mostly useful for event creation in blogs and other apps where items should be ordered by creation time.) - Added token %TAG% to event listings and %TAGTIME% to event listings and admin event lists. %TAGTIME% converts hhmmss tags (as produced by 'tag=now') to hh:mm:ss and is identical to %TAG% for other tags. - Added param reverse. If set to 'yes', lists will be presented in reverse order (last to first). Can be set per-user in users or sitewide in %config. - Added param items. If set to a value greater than 0, lists will include at most the specified number of events. Can be set per-user in users or sitewide in %config. - Updated handling of boolean params to recognize 'y', 'true', 'on', and any non-zero number as true values in addition to 'yes'. Release 1.9.3 ------------- - Added option null_tags to %config. If true, events may be created and manipulated with null tags - List of events on admin list page no longer escapes HTML in the event title - Event links from calendar and list views and the title of event displays now defang HTML in event titles by stripping it instead of escaping it Release 1.9.2 ------------- - Added sample users file - Modified admin_create to set umask to 002 before copying source file - Added sample blank event file (events/blank_event) - Changed type of password input field in cal_footer from text to password - Changed monthly view generation to set %DAY% before parsing day_start (it was being done afterward, throwing off its value in that template) and also set %DATE% and %EDATE% to the cell's date instead of the HTTP request's date. All three are restored to the request date after the last row is generated, to they will have their proper values for cal_table_footer and cal_footer - Reorganized initialization code to keep all configuration in %config - Changed over screening of event IDs and tags to be based on a list of allowed characters rather than denied characters - Moved escaped event name to %ESCAPEDNAME% and changed %EVENTNAME% to the raw name in admin_list - Modified default admin_row to include a link for each event to its non-admin listing - Added link back to admin_list display from default admin_edit template - Added %CALNAME% token ('LowCal Calendar' by default) Release 1.9.1 ------------- lowcal.cgi - Added cookie-based application login and corresponding new tokens - Reimplemented admin_list, admin_edit, admin_delete, and admin_create Release 1.9.0 ------------- lowcal.cgi - Rewrote main application as a CGI script - Moved templates out of the event directory - podded code (params should be good, but templates still need to be done) - DailyLinks are no longer created for dates that have no events to list Release 1.1.3 ------------- LowCal.pm - Added EVENTID token for use in event headers, bodies, and footers. This is primarily useful for adding an 'edit this event' link to the page. lowcal-update.pl - Added -l/-u switches to control whether autogenerated events are linked or copied Release 1.1.2 ------------- - Cleaned up handling of day-of-month past end-of-month (PR#7) Release 1.1.1 ------------- LowCal.pm - Closed security hole allowing users to display arbitrary files on server Admin.pm - Event Tags of '0' were being reported as '(Null)'. Fixed. (PR#5) Release 1.1.0 ------------- Admin.pm - New module containing admin functionality. It's not much to look at yet, but it's now possible to add, edit, and delete event records without leaving your browser. README has been updated with instructions for setting up the admin module. LowCal.pm - Added %DATERANGE% token for listdays/summarydays - listdays requests were displaying body of event file for remote event listings (i.e., with location sttribute). Fixed to display link to remote event information. lowcal-update.pl - Added GPL boilerplate Release 1.0.3 ------------- LowCal.pm - New module config setting: DailyLinks - if set to nonzero value, calendar will include a link for each day to a list of that day's events with details. Defaults to 0 (off). - New META EVENTNAME attribute: Location - if present, clicking on the event's generated link will jump directly to the specified URL. - New config file: (event dir)/categories - List of available categories in the event dir. Used by %CATBOX%. Will also be used by the event-editing forms in the web admin interface. - New tokens: %CATBOX% - Displays a multiselect listbox for event categories to be shown. %CATBOXSIZE=n% - Number of rows to include in %CATBOX%. Defaults to 3. - ListDays/SummaryDays requests no longer print a day separatior (list_day_sep) if only one day is being displayed - ListDays/SummaryDays was ignoring category restrictions. This has been fixed. - Added date offset capability to year, month, and day URI params. (PR#3) - Modified parameter-parsing code to deal with repeated spcifications of the same param (i.e., category=cat1&category=cat2) and to accept params in the body of a POST request in addition to the URI - Commented out reference to Apache::File module, which does not appear to have been used. Settings - New file documenting available module config settings Release 1.0.2 ------------- LowCal.pm - New URI param: date=mm/dd/yyyy (U.S. format) or date=dd-mm-yyyy (European format) - New tokens: %DATE% = Date in mm/dd/yyyy format %EDATE% = Date in dd-mm-yyyy format - Tweaked main calendar generation to present events ordered based on ascending event file name instead of raw directory order lowcal-update.pl - New flags: -c Deletes event records prior to the first of the current month -C Deletes event records prior to the current date -f Fake - reports all actions that would be taken, but doesn't actually do anything -v Verbose CalCron.pm - New exported function, clear_to, which implements lowcal-update.pl's -c/-C functionality - New package-scope variables (non-exported) $fake and $verbose which control activity identically to lowcal-update.pl's -f and -v switches Release 1.0.1 ------------- CalCron.pm / lowcal-update.pl - Modified activity reporting messages to indicate whether links for recurring events are being created or whether they already exist and are being skipped - Fixed CalCron::matches to ignore leading zeroes (PR#1) - Added ability to specify relative as well as absolute months for event generation (e.g., if today is 1/1/2001, month +1 = February 2001, month +2 = March 2001, etc.). - Modified lowcal's help text to mention relative date capability install.pl - Created an installer! Release 1.0.0 ------------- LowCal.pm 1.0.0 - Added GPL notice to all source files - Documentation is relatively complete. I'm still a little embarrassed by the (lack of an) install procedure, but I'm not going to have time to fix that in the immediate future. Hopefully before too long, though... LowCal.pm 0.9.5 - Minor fix to handling of events with multiple categories LowCal.pm 0.9.4 *** The code is ready for release, I just need to beef up the *** *** documentation *** - Removed .html extension from template files - Added support for event categories - Added CATLIST and CATPARAM tokens lowcal-update.pl 0.9.0 - Initial implementation of recurring event record generation using Apache::LowCal::CalCron LowCal.pm 0.9.3 - General code cleanup LowCal.pm 0.9.2 - Removed hardcoded next/prev month links below monthly calendar - Added tokens for info on next/prev month so the removed links can be generated out of templates - Added tests to only return header to HEAD requests LowCal.pm 0.9.1 - Added Tokens file to document the available tokens for use in templates - Added ListDays and SummaryDays operations LowCal.pm 0.9.0 - Fixed URI handling to work without requiring calendar to be installed directly off the document root - Fixed tables to always fill width of browser - Added header/footer templates and code to parse them for keyword substitutions - Body of event listings is also parsed for the same keywords as headers/ footers - Event names are identified via tag