Fixed a widget bug that got introduced somewhere down the track where the widget list type was not properly being deduced. Thanks to Gary for identifying that the widget list type format was not being used.
Also tweaked the default widget cssa little so that grouping headings would float to the left for widgets only, in case one wanted to group within the widget (default is not to group).
Version 2.5.9
Added pseudo clone function for people not on later versions of php, to mimic the clone command ( as per http://acko.net/blog/php-clone) so they won't get a parse error, but will later get told they need a better version of php!
Version 2.5.8
Changed the call to php getheaders (to check if remoteurl exists) to the wordpress wpremote_get so that people with servers which do not allow remote url open will not get errors.
Changed default css (previous css included as an option, in casae you prefered it - NB you must change name to avoid it getting overwritten later). The default css had some non functioning css where event times were meant to float up next to date, but were not.
Default css now uses opacity to "grey out" events in the past, rather than the same background colour as the 'alt'. The background had confused people as they thought there was some kind of alt error.
Note an event is styled as "history" if it has started already, although it may not be finished yet. historical dates only show if either they were earlier on the current day (all events on current day are shown by default) OR a startoffset has been specified.
Version 2.5.7
Added multi-url support back into the widget and expanded the field a bit to give more space. NOte: separate url's with commas.
Added more validation around the input there.
Tweaked the default css for the widget slightly to remove any theme related padding or margin's on the table and just use the list item spacing - should give a more consistent look with other widgets
Version 2.5.6
Fixed bug where although corrected end date to (end date -1) - spec says all days ends on next day at 00:00:00 for single all days, it was not doing it for multi - days -resulting in an extra day
Adjusted code to ensure that an "already started" multi day event is still listed if it has not finished before current day. (Note: you can also use startoffset=-n where n is an integer to force the start of the list back a few days.)
Attempted to correct for ics generators that do not follow the all day logic as noted [here] (http://www.innerjoin.org/iCalendar/all-day-events.html). The php "WebCalendar" is at fault here too. Unfortunately one can only correct for single day all day events. For multi day, it is not possible to know whether a 2 day event was intended or not, or whether it is a correct implementation of the logic. Take it up with whoever is generating your ics file is this is a problem for you.
Changed css tags slighty to offer hcalendar microformat support:
basically the fields that had come direct from the ics file were in the original uppercase (eg SUMMARY) however hcalendar says the classes should all be lowercase.
removed the duplication of some classes from - they are on the . THis was breaking hcalendar.
The matching css file has been checked - if you had your own css, you may need to check whether you need an adjustment.
added url css tag for hcalendar support.
Version 2.5.5
Fixed bug where check for ical all day, but single day (shows up as day1 start, day 2 end) caused a problem with other dall day, but multi day - we lost the end date!
Version 2.5.4
Added warnings about needing to use shortcodes only - replace the ":" with a space in your caledar page if you have not already done so.
Version 2.5.3
Made changes to cache folder creation due to possible errors experienced with people on shared servers with php safe mode enabled. If you have problems, add ?debug or &debug to your events page url and refresh. The debug messages may tell what you the problem is with your server.
fixed problem that had crept in that meant the debug option of a url by query string was not working
changed days default to 90, not 30 as many folks just wanting widget do not look at config settings, just widget settings.
Version 2.5.2
Really fixed widget timezone now - it was going back to server timezone even though it had worked out the wordpress timezone - problem with bad choice of shortcode default!
Version 2.5.1
Fixed bug: Code was added to handle keeping your settings while adding new features and field options. This temporarily showed your updates, but then on next view of config page, the settings were back to default. The recursive merge of old and new settings was defaulting the wrong way. Looks like it is fixed on my system. Please let me know asap if anyone still experiences problems.
Version 2.5
Timezone bug corrected - should now pickup timezone correctly - Order of global timezone priority for display of events is 1 query url, 2 shortcode, 3 the wordpress timezone or offset.
fixed widget parameter funny - (note cannot override widget from query line, only calendar page can be overridden.)
added css to float widget calendar properties (icons) to the right, in case someone does want to show them on the widget. (Set this up in the config).
Version 2.4.2
Timezone in shortcode now possible.
Removed attempt to copy icallist.css to a custom css for local edit as that was hitting folder protection issues and confusing people - will rethink that, meantime you can drop your own copy file into the plugin directory if you wish, and the plugin will pick it up in the admin screen as an option.
Version 2.4.1
Timezone fix - should get wordpress timezone correctly now, not server timezone.
Version 2.4
**** NB Dropped the outdated filter method for specifying the spec as pre-warned. Now only using the wordpress shortcode. This is a simple update to your calendar page. Use [iCal yoururl listtype=1] ***
fixed a bug which occured with recurring entries that were defined by COUNT
fixed a bug which occured when a single instance of a recurring series was modified.
added more css classes at row level as well as the first column. First column is usually the date column, so now can just style the dates differently or the whole event or todo record. You can style entries in many ways (eg style recurring entries differently, as well as by the status. For possible status values - see http://www.kanzaki.com/docs/ical/status.html.
You can style by the component type (vevent, vtodo, vjournal, valarm)
added css classes so that you can style past, today and future events differently
Version 2.3.8
added some more language information and files, cleaned up some of the translation.
Some people are experiencing timezone problems - this appears to be caused by the use of wordpress's date i18n to localise the formats. Reverting to original code seems to remove the problem. [Setting the server timezone may also correct the problem] (http://webdesign.anmari.com/timezones-wordpress-ical-php/) Since correct dates are more important than correct formats, I have reversed the code, until there is more clarity on what date_i18n is doing and how to get timezone correct times using it. If you needed it for your web, you can stay with the previous version or uncomment line 936 and comment out line 935 in amr-ical-events-list.php and then check times very carefully!
Version 2.3.7
changed use of htmentities to htmlspecialchars - avoided probledm with dashes in event subjects.
added more explanatory text in readme
Version 2.3.7
changed to use wordpress date_i18n for date and time, to achieve localised dates
cleaned up some text and added some rudimentary language files for German, Afrikaans,
use wordpress check for cache directory creation
reset now resets global options too, and few other minor rest problems fixed
default list types tweaked a bit - reset to see changes, but note you will lose your settings then
Version 2.3.5.3
added checks for php version and datetime class for people who cannot read doco, or comments!
added ability to define a Default Event URL in the event that there is not one in the ics file. Plugin will generate a dummy bookmark, with info cursor style and event description as hoevr text/title. the dummy bookmark is stop page reloading and make link non-active.
Version 2.3.5.2
fixed bug to do with combinations of timezone non specification and date values.
fixed some html validation bugs due to entities etc for sophisticated html in adding google event - google sort of half way handles html!
added a numbered css class hook amrcol'n' to the td and th cells so that you can style the columns independently (eg: by width)
the css included now has the first column styled at a width of 20%
Please move to shortcode usage if you have not already, as I will eventually phase out the older mechanism.
Version 2.3.5.1
fixed bug where if the start of the recurring was way way back in the past and the number of recurences in the limit did not get the recurrence date to the start date, then the instance was skipped. Now is a parameter that allows 5000 recurrences - that should be plenty? We could get clever about this later.
Allow DTSTART to be shown - eg: for birthdays if you really want to tell the world, or maybe to indicate how long a show has been running?
Age (or for a how "Running since.." is in option list, but not listed for now....coming soon
Changed http to webcal at Brendan's suggestion - to subscribe rather than download. Let me know if we should offer both.
Move location of cache file to the uploads folder. This made more sense to me. Note that your uploads folder should be a relative url as per the example given. Wordpress seems to wokr with an absolute url however this will cause problems if you ever having to move your blog, so follow the default shown and go relative. eg: to move up - "..\uploads".
Version 2.3.4
Added Default Css to cater for themes that use list-style definitions such as background and before content. We need to switch these off for the plugin code to look okay. Once can of course also just edit the theme's stylesheet, but this may be easier for some. Thanks to Jan for querying the problem.
Will handle shortcode usage now ie: [iCal "youricsurl1" "youricsurl2" listype="timetable"]
Version 2.3.3
Changed the user access level to 8, so only admin can do setting changes, not editor, previous version allowed editor to change settings.
Fixed bug where the relocated refresh icon did not actually refresh if you had no "?" in the url. Also allow 'refresh=true' instead of 'nocache'.
Changed form security to use new 2.7 wordpress "nonce" functions. This prevents cross scripting in a stronger way than before.
added an uninstall option which will delete the option entries, either by request from the settings or when the plugin files are deleted (if using wordpress 2.7). Note the reset button will delete and recreate the default Amr iCal options in one go. The uninstall is added for completeness and for your use if you no longer need the plugin.
Made settings menu entry look prettier - tightened up the text and added calendar icon
"Bling" classes for the link icons added so that canbe not displayed when printing. A print stylesheet has also been added to achieve this.
Added alt text on the settings icon in the admin menu to ensure that the admin page still validates 100% with html - on my code anyway.
Added option to specify own css rather than automarically loading ical css. You should ensure that the necessary css is in your theme stylesheet then. This allows you to make your pages more efficient by reducing the number of files required to load.
An settings "RESET" will now also reset widget settings, not just the main settings. Remeber to save any special settings if you do this. A reset may be necessary if you have an old version and want to take advantage of new options and defaults.
Removed the line breaks for the widget event summary 'titles' that appear when you hover on the summary. This looks better and does not require any javascript.
Clarified the widget calendar page option and attempted to default it to what you might have called your calendar. You may need to reset to see this happen.
Version 2.3.2
Fixed bug if there was a url for the event. (The url is entered as a hyperlink behind the summary text). Thanks to Ron Blaisdell for finding this. Currently in google one cannot setup a URL for a event.
Removed testmode comment when iCal url passed in query string, allow possibble "API" use.
Straight after importing events in the timezones specified by the ical file, they will be converted to the timezone of the wordpress installation. THis ensures that "same day" and "until" functions.
Plugin will determine a default php timezone from the wordpress gmt offset if the automatic timezone plugin has not been installed.
If the wordpress timezone is different from the calendar timezone, one can click on the timezone icon and refresh the page in the calendar's timezone.
Set the defalt start time to the beginning of the day that the wordpress timezone is in, so that we
can also see events that might have just started.
Changed the refresh link to be next to the other calendar property icons and put the last cached time in the alt text and title rather than at bottom of calendar. Also fixed how it reflected time relative to the server timezone.
In the "Add event to google", improved handling of complex details - google only handles simple html. Note: bad calendar content can still break google (for example the valentines day entry has an errant "/")
Version 2.3.1
Changed some error detection and reporting to improve user experience - moved many messages to comments if no data or bad url entered
Fixed the way the widget was interacting with the main plugin
Corrected an error that was visible when the calendar timezone and the wordpress timezone were different. This showed up on single events only as google offers a UTC date, not a TZ date and the plugin was not dealing with this correctly. Plugin will work now if wordpress timezone and calendar timezone are the same. More work is required though to make it more robust and cater for different situations - coming soon.
Version 2.3
Simplified css styling by deciding that a list of events was essentially a table and going back to the table html - this avoids problems with many less robust themes.
Css file spec changed to one at global level (Icallist.ccs) If the file does not exist, it will assume that you have included the necessary styling in your theme stylesheet.
Added icons to allow for clean look, while still having functionality of options.
Version 2.2 alpha
Removes duplicated events that may be generated by your ical generator. For example if one instance of a recurring event is edited. Implementing the recurring rule generates an event instance that matches another event in the file. They will have the same UID and date, but a different Sequence ID.
Improved the imezone and date handling uses PHP 5 dateTime class and timezone object functionality. Somewhat tested - again good test situations are required - around daylightsaving time is really interesting.
column headings not in use yet (but enterable) - need to convert to table output - coming soon I hope.
calendar Subscribe link available if 'icsurl' requested in the settings for a list type.
can test by passing iCal=url:listtype=n in the query string of any wordpress page - the page content will be ignored.
css changed slightly - more testing required for impact on different themes.
removed the added to make wp validate - not required anymore in latest version of wordpress ?
allows for other ical components such as todo lists, journals and freebusy (maybe for use as availability!) - this has been slightly tested, not up to my usual standard. Good test files are required. If you have a need for this and think there is an error, please send me your files or links to your public files. It uses the same logic as the event, so differences may just be a question of layout and style.
improved conversion of urls to hyperlinks in long text fields like description - will now handle all sorts of links including bookmarks. I had a bit of fun (not) dealing with after urls!
changed some defaults - simplified - commented out some that are unlikley to be used.
allows for repeatable properties - in theory one could have multiple summary fields for one event etc.
Todo: implement more complex recurring rules, more thorough testing, some user documentation and ideas, simplify the css.
Version 2.1
datetime formats, name and css file now update and save in admin menu- no need to go to config file;
deleted ridiculous grouping option solar term!!
added code for grouping options that people may actually want to use (Seasons, astronomical etc). [Seasons on wikipedia] (http://en.wikipedia.org/wiki/Season#Reckoning)
Zodiac grouping added just for the fun of it [Zodiac] (http://en.wikipedia.org/wiki/Zodiac)
Quarter grouping added - change dates in the config file if fiscal or tax groupings required.
Version 2.01
added check for existance of validation function filter_var (introduced in 5.2). No/Limited validation in admin if it does not exist. Ask your host to update.
changed css to specify width for first col so that all rows look the same
switched timezone fields on by default in listtype 1.
Version 2
repeating events, no table all nested lists, lots of configuration options.
Version 1
Listed events without repeats into a table with nested lists. It allowed for a monthly break, a config file and had a default css file