plugins/calendar
Thomas Brüderli
bruederli at kolabsys.com
Tue Jul 8 18:21:33 CEST 2014
plugins/calendar/calendar.php | 15 +++++++++++++++
1 file changed, 15 insertions(+)
New commits:
commit 3db5611180ea1096bfa524ea8f366d848471f5fd
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Tue Jul 8 18:21:27 2014 +0200
Don't overwrite my participant status when updating an event from iTip
diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php
index 77205f5..2667c6d 100644
--- a/plugins/calendar/calendar.php
+++ b/plugins/calendar/calendar.php
@@ -2391,6 +2391,21 @@ class calendar extends rcube_plugin
$event['id'] = $existing['id'];
$event['calendar'] = $existing['calendar'];
+ // preserve my participant status for regular updates
+ if (empty($status)) {
+ $emails = $this->get_user_emails();
+ foreach ($event['attendees'] as $i => $attendee) {
+ if ($attendee['email'] && in_array(strtolower($attendee['email']), $emails)) {
+ foreach ($existing['attendees'] as $j => $_attendee) {
+ if ($attendee['email'] == $_attendee['email']) {
+ $event['attendees'][$i] = $existing['attendees'][$j];
+ break;
+ }
+ }
+ }
+ }
+ }
+
// set status=CANCELLED on CANCEL messages
if ($this->ical->method == 'CANCEL')
$event['status'] = 'CANCELLED';
More information about the commits
mailing list