Cathode:
Thanks for tracking down the bugs. I think I've got 'em fixed but my web server is down at the moment so I can't test. Will test soon and upload assuming there are no more bugs.
As for using pagetitle and longtitle: I can see why that would be useful. However, for my needs I think it's actually a drawback so I'm not sure about adding it to the snippet. Maybe I'll add it as an option (e.g. you could set a config variable that would say if these should be pulled or not).
In the meantime, if you want to use them and are motivated to fix things I think it should be relatively easy. The data is pulled in this line:
$eventDataRaw = $etomite->getIntTableRows("id, description" ,"site_content", ...
the "id, description" part says what fields to pull out. Just add pagetitle and longtitle here to get them. You'd then have to update the buildEventArray function to use this data instead of grabbing everything out of the description field. The comments at the top of the buildEventArray function aren't great. I've updated them, and will check them in as soon as I can test things. In the meantime, this is, I think, a better comment:
/* Given a bunch of data from the DB (an array of events) reprocess to build an array of
arrays with such that $eventData[$date] = an array of of events on $date. Each
event in the array is represented as yet another array with keys "description",
"start", and "stop". The arrays for each day will be sorted by the "start" times
of the events with events having no associated time coming first and having a start
time of 0. */
If you were motivated to make all this work and have it optional to use the description field or a combination of fields that would be awesome and I'd be more than happy to add that to the snippet.
Good luck. Let me know if you have questions.