diff --git a/calendar/inc/class.calendar_ical.inc.php b/calendar/inc/class.calendar_ical.inc.php index 930e8f5e1a..f2e5f6dfb9 100644 --- a/calendar/inc/class.calendar_ical.inc.php +++ b/calendar/inc/class.calendar_ical.inc.php @@ -257,6 +257,11 @@ class calendar_ical extends calendar_boupdate $servertime = true; $serverTZ = true; } + if ($serverTZ) + { + // Add only one instance + $serverTZ = $this->generate_vtimezone($event, $vcal); + } } if ($this->productManufacturer != 'file' && $this->uidExtension) @@ -270,11 +275,6 @@ class calendar_ical extends calendar_boupdate $vevent = Horde_iCalendar::newComponent('VEVENT', $vcal); $parameters = $attributes = $values = array(); - if ($serverTZ) - { - $serverTZ = $this->generate_vtimezone($event, $vcal); - } - if ($this->productManufacturer == 'sonyericsson') { $eventDST = date('I', $event['start']); @@ -685,8 +685,8 @@ class calendar_ical extends calendar_boupdate $attributes['DTSTAMP'] = time(); foreach ($event['alarm'] as $alarmID => $alarmData) { - // skip alarms being set for all users or alarms owned by other users - if ($alarmData['all'] == true || $alarmData['owner'] != $this->user) + // skip alarms not being set for all users and alarms owned by other users + if ($alarmData['all'] != true && $alarmData['owner'] != $this->user) { continue; }