X-Git-Url: https://git.cweiske.de/bdrem.git/blobdiff_plain/fabbf07a9aaf9fe66145b84199f8bfbbd1ee0259..d3f0303b08c3aa57b77570e1e5176497eea9aed3:/src/bdrem/Renderer/Ical.php diff --git a/src/bdrem/Renderer/Ical.php b/src/bdrem/Renderer/Ical.php index 019e218..63a9028 100644 --- a/src/bdrem/Renderer/Ical.php +++ b/src/bdrem/Renderer/Ical.php @@ -23,6 +23,7 @@ namespace bdrem; * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3 * @version Release: @package_version@ * @link http://cweiske.de/bdrem.htm + * @link http://severinghaus.org/projects/icv/ iCal validator */ class Renderer_Ical extends Renderer { @@ -35,6 +36,9 @@ class Renderer_Ical extends Renderer /** * Render the events in an iCalendar file * + * X-WR-CALNAME is supported by claws mail's vcalendar plugin; it + * uses it as title. + * * @param array $arEvents Event objects to render * * @return string iCal file @@ -43,17 +47,20 @@ class Renderer_Ical extends Renderer { $s = "BEGIN:VCALENDAR\n" . "VERSION:2.0\n" - . "PRODID:-//bdrem\n"; + . "PRODID:-//bdrem\n" + . "X-WR-CALNAME:birthdays\n"; foreach ($arEvents as $event) { $props = array('BEGIN' => 'VEVENT'); $props['UID'] = str_replace( - array('-', '????'), array('', '0000'), $event->date + array('-', '????'), array('', '0000'), $event->localDate ) . '.' . $event->age . '.' . md5($event->title . '/' . $event->type) . '@bdrem'; - $props['DTSTART'] = str_replace('-', '', $event->date); + // we want the zero time because it expresses midnight in every + // time zone + $props['DTSTART'] = str_replace('-', '', $event->localDate) . 'T000000'; $props['DURATION'] = 'P1D'; $props['SUMMARY'] = sprintf( '%s - %s. %s', $event->title, $event->age, $event->type