diff --git a/plugins/calendar/drivers/kolab/kolab_calendar.php b/plugins/calendar/drivers/kolab/kolab_calendar.php index 2fe072ab..49f8fa7d 100644 --- a/plugins/calendar/drivers/kolab/kolab_calendar.php +++ b/plugins/calendar/drivers/kolab/kolab_calendar.php @@ -346,7 +346,6 @@ class kolab_calendar if (!$old || PEAR::isError($old)) return false; - $old['recurrence'] = ''; # clear old field, could have been removed in new, too $object = $this->_from_rcube_event($event, $old); $saved = $this->storage->save($object, 'event', $event['id']); @@ -648,6 +647,11 @@ class kolab_calendar $event['_owner'] = $identity['email']; + # copy RDATE values as the UI doesn't yet support these + if (empty($event['recurrence']['FREQ']) && $old['recurrence']['RDATE'] && empty($old['recurrence']['FREQ'])) { + $event['recurrence']['RDATE'] = $old['recurrence']['RDATE']; + } + // remove some internal properties which should not be saved unset($event['_savemode'], $event['_fromcalendar'], $event['_identity']);