From 0ba3e8382d60dfa47cb23706787bb70238dd3fd0 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Fri, 28 Feb 2014 16:51:55 +0100 Subject: [PATCH] Keep RDATE values when updating an event (the client doesn't submit these values back) --- plugins/calendar/drivers/kolab/kolab_calendar.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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']);