2 commits - plugins/calendar
Thomas Brüderli
bruederli at kolabsys.com
Wed Apr 17 09:19:38 CEST 2013
plugins/calendar/calendar_ui.js | 2 +-
plugins/calendar/drivers/kolab/kolab_calendar.php | 14 ++++++++------
plugins/calendar/drivers/kolab/kolab_driver.php | 3 +++
3 files changed, 12 insertions(+), 7 deletions(-)
New commits:
commit 5c84fd55aa11d10471fbfc293265af03d67bb051
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Wed Apr 17 09:19:26 2013 +0200
Little code cleanup
diff --git a/plugins/calendar/drivers/kolab/kolab_calendar.php b/plugins/calendar/drivers/kolab/kolab_calendar.php
index 98041c8..590bb55 100644
--- a/plugins/calendar/drivers/kolab/kolab_calendar.php
+++ b/plugins/calendar/drivers/kolab/kolab_calendar.php
@@ -580,10 +580,8 @@ class kolab_calendar
*/
private function _from_rcube_event($event, $old = array())
{
- $object = &$event;
-
// in kolab_storage attachments are indexed by content-id
- $object['_attachments'] = array();
+ $event['_attachments'] = array();
if (is_array($event['attachments'])) {
foreach ($event['attachments'] as $idx => $attachment) {
$key = null;
@@ -600,15 +598,15 @@ class kolab_calendar
// flagged for deletion => set to false
if ($attachment['_deleted']) {
- $object['_attachments'][$key] = false;
+ $event['_attachments'][$key] = false;
}
// replace existing entry
else if ($key) {
- $object['_attachments'][$key] = $attachment;
+ $event['_attachments'][$key] = $attachment;
}
// append as new attachment
else {
- $object['_attachments'][] = $attachment;
+ $event['_attachments'][] = $attachment;
}
}
@@ -625,6 +623,9 @@ class kolab_calendar
$event['_owner'] = $identity['email'];
+ // remove some internal properties which should not be saved
+ unset($event['_savemode'], $event['_fromcalendar'], $event['_identity']);
+
// copy meta data (starting with _) from old object
foreach ((array)$old as $key => $val) {
if (!isset($event[$key]) && $key[0] == '_')
diff --git a/plugins/calendar/drivers/kolab/kolab_driver.php b/plugins/calendar/drivers/kolab/kolab_driver.php
index 12d60c2..6b980cd 100644
--- a/plugins/calendar/drivers/kolab/kolab_driver.php
+++ b/plugins/calendar/drivers/kolab/kolab_driver.php
@@ -610,6 +610,9 @@ class kolab_driver extends calendar_driver
$event['recurrence'] = array();
$event['thisandfuture'] = $savemode == 'future';
+ // remove some internal properties which should not be saved
+ unset($event['_savemode'], $event['_fromcalendar'], $event['_identity']);
+
// save properties to a recurrence exception instance
if ($old['recurrence_id']) {
$i = $old['_instance'] - 1;
commit c077ed555f7326823580cf7955c3f557c37ecb7b
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Wed Apr 17 09:15:34 2013 +0200
Set savemode to 'current' for recurrence exceptions (#1725)
diff --git a/plugins/calendar/calendar_ui.js b/plugins/calendar/calendar_ui.js
index 4099776..10d6521 100644
--- a/plugins/calendar/calendar_ui.js
+++ b/plugins/calendar/calendar_ui.js
@@ -523,7 +523,7 @@ function rcube_calendar_ui(settings)
// show warning if editing a recurring event
if (event.id && event.recurrence) {
- var sel = event.thisandfuture ? 'future' : 'all';
+ var sel = event.thisandfuture ? 'future' : (event.isexception ? 'current' : 'all');
$('#edit-recurring-warning').show();
$('input.edit-recurring-savemode[value="'+sel+'"]').prop('checked', true);
}
diff --git a/plugins/calendar/drivers/kolab/kolab_calendar.php b/plugins/calendar/drivers/kolab/kolab_calendar.php
index 764f619..98041c8 100644
--- a/plugins/calendar/drivers/kolab/kolab_calendar.php
+++ b/plugins/calendar/drivers/kolab/kolab_calendar.php
@@ -434,6 +434,7 @@ class kolab_calendar
$rec_event['recurrence_id'] = $event['uid'];
$rec_event['recurrence'] = $recurrence_rule;
$rec_event['_instance'] = $i;
+ $rec_event['isexception'] = 1;
$events[] = $rec_event;
// found the specifically requested instance, exiting...
More information about the commits
mailing list