Ical events list

This wordpress plugin script lists upcoming events from a one or ical feeds ( .ics files)  ical (RFC 2445 ) format.

Features:

  • can combine multiple calendars (for example include public holidays or moon phases along with your calendar)
  • handles many recurrence rules
  • works ‘out the box’ with an option to do own styling via a combination of list types to control content and lots of css tags to control styling
  • a number of preset styling options offered to give you an idea of what is possible
  • specify your own locale specific date and time styling
  • handles timezones, daylight saving
  • can list not only events, but also the other ical components like todo tasks, freebusy, journal (notes)
  • offers the ability to group your events for readability and style.  Grouping can be done by a variety of methods, such as daily, weekly, monthly, yearly or by seasons!
  • allows for internationalisation, however translation files still required
  • W3C validated Css and the html

Current Status:

Wordpress Plugin Page:

http://wordpress.org/extend/plugins/amr-ical-events-list/

Version Pages:

Version 2.3:

Version 2.2 alpha:  Upcoming-Ical-Events-List-22a/

Version 2:  Upcoming Ical Events List v 2.0.

Version 1:  Upcoming Ical Events List v 1.0.

Please log any queries or comments on the page that relates to the version that you are using.  Thank You.

21 Comments

  1. Posted August 22, 2008 at 9:09 am | Permalink

    Hi - I’m using your (frankly life-saving) widget on a friend’s site, where it lists her upcoming one-woman-show performances. It’s all going great except for two small things, with which I was hoping you could help me. (Unfortunately, while css *is* my strong suit, php isn’t.)

    1. For some reason, if a performance plays Oct 7 and 8, the calendar lists it as being “Oct 7 through Oct 9.” Which makes it sound as if there’s a performance on the 9th as well, which there isn’t. How can I make it say the last day is the day the performances stop, instead of the day after?

    2. I’m having trouble with some of the formatting in the finished product. Some of this may be a problem with Google Calendar itself, but since it’s being filtered through iCal Events List I thought I’d ask here. When I put line breaks into the description area, they come through as “n”s. And I can’t implement a clickable URL at all. If I try to by using HTML in the Google Calendar entry - which the Google Help forums say is the way to do it normally - it breaks iCal Events and nothing shows up in my friend’s webpage at all. Having clickable links is important to the person I’m doing this for, so do you know a workaround?

    Thanks again for your awesome plugin and any instruction you can give!

    Tracy

  2. Posted August 22, 2008 at 10:02 am | Permalink

    Hi Tracey
    I am in the process of doing a complete update to the ical html list with new core code, which will hopefully be up in a few days (we had a nasty flu hit the family so it’s been a bit delayed).

    Re your problems:
    1)It might be a timezone thing - is the web and the ical file (google cal) on the same time zone? have you tried actually looking at the ical file in notepad+ or something like that and checked what timezone’s are set for calenedar and for event, and then also the date/time for the event.

    If that’s okay, then it must be something else - send me a link (or the ical file) and I will have look at it. However the new version may well sort that out too as it is generally better written that what I started with..

    2) There were some early bugs in the code I used as a starting point, where it did not deal with long lines etc - I may not have fixed it completely or the fix may be stripping the /ns! - With the new version I will check that I have tests for line breaks, as well as long lines. I had not tested for HTML. (The Ical spec does not really mention it: http://www.kanzaki.com/docs/ical/description.html , however if google allows for it and I just tested - they do! then so will I. I’ll add that test in too.

    Rather than me digging into the old borrowed code (which I suspect does not deal with the URL’s well, and also does not do recurring entries or cacheing), can you wait a couple of days for the update - I know that URL’s and recurring entries work for that, already tested - I am just cleaning up the plugin admin and css options before releasing it.

    (Hmm …. how to test timezone differences when google does not allow a different one for the event from the calendar? What happens if you have a multi-day with start / end times specified instead of just the days… )

    I’ll send you an email so we can correspond more easily.

  3. pierre
    Posted August 27, 2008 at 10:44 pm | Permalink

    Hey, i’m trying to use your plugin in anthor language (dutch) but i keep getting the days of the week in english. Everything else on the site works in dutch except for the ical plugin. The site uses the official wordpress translation. I tried to modify amr_ical_config.php but without results. Can you give me a clue?

    thx.

  4. Posted August 28, 2008 at 7:44 am | Permalink

    Hi Pierre,
    This version of the plugin leveraged off some code (see comment above, I expect new version in a another day or so to be up). The code I used unfortunately hardcoded the days of the week, rather than using the PHP strftime ( %A ) code.

    To change the hardcoding, look in iCalHtml. At the top of the file you will see the days.

    This would be a quick fix for you to change the “short days” to the Dutch week days.

    The new version will use the PHP functions to deliver locale specific days of week in the appropriate language.

    I hope that will do for now. The new version will be more international, have more styling options and handle “repeating events” better.

    Please send the link of your page as an example of use. It is helpful to see different data requirements for testing.

    Ek kan sommige Afrikaans (cape dutch) verstaan, en sal miskien jou site verstaan!

  5. pierre
    Posted August 29, 2008 at 7:00 pm | Permalink

    Strange, i did translated the short days in dutch days, but i still get english days? i can’t give you a link of the site because i am not working on a live server (i am working on a development server on my computer)

  6. Posted September 2, 2008 at 1:19 am | Permalink

    I have installed the new version, but I keep receiving an error: Fatal error: Call to undefined function: filter_var() in /home/content/f/l/d/fldemolay/html/wp-content/plugins/amr-ical-events-list/amr-ical-events-list.php on line 338

  7. Posted September 2, 2008 at 8:24 am | Permalink

    Hi Ron,
    It is a php validation function - See http://au2.php.net/manual/en/function.filter-var.php. The plugin requires php 5, which most hosts are on now (Mine does not support PHP 4 anymore).

    What version of PHP is your server?

  8. Posted September 2, 2008 at 8:28 am | Permalink

    For others like Pierre, He has advised that new version is working in Dutch.

  9. Posted September 4, 2008 at 1:03 pm | Permalink

    I’ll be putting an update up later tonight (aus time) which will remove for now the reliance on filter_var (requires php 5.2). If the function exists it will use, if not then no admin validation (you’re admin you should know what you are doing? - or persuade your host to upgrade!)

  10. pierre
    Posted September 4, 2008 at 6:26 pm | Permalink

    The plugin works great here, just had to adapt the css to the design of my site and change the language settings. Great work!

  11. Stacef@pacbell.net
    Posted September 6, 2008 at 12:29 am | Permalink

    Just started playing with this plugin and so far it looks like it will solve all my problems. Oe thing, though: in the settings I get a error.
    “Fatal error: Cannot instantiate non-existent class: datetime in /home/content/s/t/a/stacef/html/wordpress2/wp-content/plugins/amr-ical-events-list/ical-list-admin.php on line 239″
    Is this a php versioning thing? I’m using v2.0.1 - Is this the latest?
    Thanks for all your great work!
    Stace

  12. Posted September 10, 2008 at 2:19 am | Permalink

    @stace: What version of PHP are you on?

  13. Posted September 10, 2008 at 5:15 am | Permalink

    Hi stace, plugin develeoped on php 5. I don’t think php 2 is even used anywhere? Datetime class is fairly new. I’m on limited access (& time to access) to web right now, so cannot check exactly when, but think it was released in 5.

  14. Stacef@pacbell.net
    Posted September 19, 2008 at 1:14 am | Permalink

    Sorry for the delayed reply and thanks for the responses.

    It was indeed a php version issue and an upgrade to v5 solved the error. I could’ve been more clear, too: the v2.0.1 was referring to ical-events-list, not php. Sorry about that.

    In the meantime, wondering anyone has thoughts on two different issues.

    I’m getting duplicate listings for individualized recurring events. I’m creating an event (a meeting) with a weekly repeat in iCal. I then go to a specific date and modify the event (add a location, notes, etc.). I don’t have dupes in iCal, nor in the ics file, just in the events list.

    The other issues is with formatting using the settings in admin panel. Some settings seem to take, others don’t and produce an error message. Specifically, settings near the top like list name and date/time formats. Anna-marie had suggested making these edits directly in the config file and then hitting”reset to default” in the settings panel to see the changes reflected.

    Two problems: reset to default does indeed reflect those changes but it also erases everything that had been previously set like ‘column’ and ‘order.’ This solution also only seems to work for the default list style. I can’t figure out how to edit for other list types, specifically list 4 for the widget.

    Thanks for any thoughts, suggestions or ideas,
    Stace

  15. Posted September 20, 2008 at 6:23 am | Permalink

    Hi Stace,
    In this version (which was released “early” to help some other folk) not all the admin options did update. I have all admin options updating now, but not released yet as am hoping to roll a few more “fixes” in.

    RE: duplicates - this may be a problem with the way that the original code I piggybacked off handles exceptions (or not!). I had thought to change this section but only if necessary….. due to time. Looks like it may be time.

    Please send me the public url of your ics file and I will use it as a test case.

    I suspect though that I should get the next release up first and then work on improving the recurring entries and exceptions using other tested code.

  16. Stacef@pacbell.net
    Posted September 20, 2008 at 8:49 am | Permalink

    Thanks very much for the update and I appreciate all your hard work. I’ll be patient for the upcoming release(s) and continue to bang away myself. And I’ll email you that ics url separately.

    Thanks again!
    Stace

  17. Posted September 20, 2008 at 12:10 pm | Permalink

    Stace,
    Your duplicated event was initially a puzzling one, but I have figured it out.

    In the ics file there are actually vevent definitions for those seemingly duplicate events. The UID’s are the same, but the sequence numbers are different. So I guess what happened was, you created a recurring entry and then modified instances of those entries.

    The spec: http://www.ietf.org/rfc/rfc2445.txt says that the sequence numbers increment as mods are made.

    So, my code needs to check for duplicate date/UID’s and then select only the latest sequence number if there are multiple entries for the same UID. There was an initial entry that had a Non-standard Property with value UNCLEAN. Maybe it is the unclean recurring entry giving a warning that this one has exceptional instances.

    Hmm…. will have to get back to you on that… stay tuned.

    The problem entries have an intial recurring entry with:

    X-WR-ITIPSTATUSML:UNCLEAN

    and then the same:

    UID:2DF6A4AD-B4CF-4FFD-8466-F5503D0D936E-F66C09C5-0086-473F-ABD4-743AAEB
    16C8A

    but different SEQUENCE numbers on different dates
    SEQUENCE:15

  18. Stacef@pacbell.net
    Posted September 24, 2008 at 6:15 am | Permalink

    HI Anna-marie,

    Thank you very much for taking a look at this. You know, I went through that file more than a few times and didn’t find it. I guess it helps if you know what you’re looking at!

    Code-wise, is this something that you can write for or is it just way beyond? Either way, thanks again for helping me with this.

    Stace

  19. Posted November 28, 2008 at 2:29 am | Permalink

    Anna Marie,

    I’ve been trying with out any luck with several different Event/Calendar plugins. You seem to be about the only person that is providing help to the code illiterate.

    Here’s the site [http://hillsboroughbaptist.org/wp/wordpress/]
    and my ics is coming from google … [http://www.google.com/calendar/ical/hic3olhbmjeq7la224gagep4k8%40group.calendar.google.com/public/basic.ics]

    I’m pretty much at my wits end, any help you can provide would be greatly appreciate

  20. Posted November 29, 2008 at 6:11 am | Permalink

    Hi John,
    I had a look and am embarrased to say I think part of it is a bug to do with the day of week start interacting with the repeating weekly - I thought I had that nailed.
    Also you look through the notes, I am pretty sure I said that recurring types like every 2nd sunday were not yet fully implemented, which is what your calendar has.
    This weekend is a nightmare time wise, just too much happening. I may have a chance during the week to re-test that area and possibly implement the second sunday type of recurrence.
    If you can wait, I will let you know.

    Otherwise you could try this: http://webdesign.anmari.com/google-calendar-sidebar-list-upcoming-events/

  21. Posted December 1, 2008 at 8:14 pm | Permalink

    I have fixed the little bug - you can see it working on my test site with your calendar. The css still needs some work with the classic theme. Also there is a validation error caused by wordpress, or the tinymce editor inserting a open paragraph and close paragraph around the content.
    http://anmari.com/testing/wp/

    I’d like to research the best way to deal with this - before I had just closed and reopened the paragraphs to get it to validate.

    I would also like to make a few more improvements (simplify the css situation so that it will hopefully slot more neatly into themes etc, and possibly work on the every 2nd sunday recursion), before releasing the fix.

    I hope you can wait another day or so.

    To all - I am closing the comments for this page - please log any queries on the pages for the versions so that we can track what comments belong with what version.
    Thanks