From: Jan Schneider Date: Fri, 29 Jan 2010 14:58:02 +0000 (+0100) Subject: Fix exporting to iCalendar. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=aeaabccf3e88e7e44c15b4c8c236e37dde97eac8;p=horde.git Fix exporting to iCalendar. --- diff --git a/kronolith/data.php b/kronolith/data.php index 6c8f0125c..ae0a399fd 100644 --- a/kronolith/data.php +++ b/kronolith/data.php @@ -152,21 +152,23 @@ case 'export': case Horde_Data::EXPORT_ICALENDAR: $iCal = new Horde_iCalendar(); - $calNames = array(); + $calIds = array(); foreach ($events as $cal => $calevents) { - if ($kronolith_driver->calendar != $cal) { - $kronolith_driver->open($cal); + foreach ($calevents as $dayevents) { + foreach ($dayevents as $event) { + $calIds[$event->calendar] = true; + if (is_a($event, 'PEAR_Error')) { + continue; + } + $iCal->addComponent($event->toiCalendar($iCal)); + } } + } - $share = &$kronolith_shares->getShare($cal); + $calNames = array(); + foreach (array_keys($calIds) as $calId) { + $share = $kronolith_shares->getShare($calId); $calNames[] = $share->get('name'); - foreach ($calevents as $id) { - $event = &$kronolith_driver->getEvent($id); - if (is_a($event, 'PEAR_Error')) { - continue; - } - $iCal->addComponent($event->toiCalendar($iCal)); - } } $iCal->setAttribute('X-WR-CALNAME', Horde_String::convertCharset(implode(', ', $calNames), Horde_Nls::getCharset(), 'utf-8'));