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) {