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