From 634cb85fb5324d4b525ba64a5364e9ad0748f955 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Tue, 8 Jul 2014 18:30:12 +0200 Subject: [PATCH] Compare sequence number from iTip replies --- plugins/libcalendaring/lib/libcalendaring_itip.php | 6 +++--- plugins/libcalendaring/libvcalendar.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/libcalendaring/lib/libcalendaring_itip.php b/plugins/libcalendaring/lib/libcalendaring_itip.php index 2e122c2a..93e33a62 100644 --- a/plugins/libcalendaring/lib/libcalendaring_itip.php +++ b/plugins/libcalendaring/lib/libcalendaring_itip.php @@ -258,8 +258,8 @@ class libcalendaring_itip // check if the given itip object matches the last state if ($existing) { - $latest = ($event['sequence'] && $existing['sequence'] == $event['sequence']) || - (!$event['sequence'] && $existing['changed'] && $existing['changed'] >= $event['changed']); + $latest = (isset($event['sequence']) && $existing['sequence'] == $event['sequence']) || + (!isset($event['sequence']) && $existing['changed'] && $existing['changed'] >= $event['changed']); } // determine action for REQUEST @@ -320,7 +320,7 @@ class libcalendaring_itip ) ))); } - $action = $attendee['status'] == $status ? '' : 'update'; + $action = $attendee['status'] == $status || !$latest ? '' : 'update'; $listed = true; break; } diff --git a/plugins/libcalendaring/libvcalendar.php b/plugins/libcalendaring/libvcalendar.php index 4f64dead..855e0749 100644 --- a/plugins/libcalendaring/libvcalendar.php +++ b/plugins/libcalendaring/libvcalendar.php @@ -919,7 +919,7 @@ class libvcalendar implements Iterator if ($event['description']) $ve->add('DESCRIPTION', strtr($event['description'], array("\r\n" => "\n", "\r" => "\n"))); // normalize line endings - if ($event['sequence']) + if (isset($event['sequence'])) $ve->add('SEQUENCE', $event['sequence']); if ($event['recurrence'] && !$recurrence_id) {