Changeset View
Changeset View
Standalone View
Standalone View
plugins/calendar/calendar.php
Show First 20 Lines • Show All 2,984 Lines • ▼ Show 20 Lines | if ($event = $this->lib->mail_get_itip_object($mbox, $uid, $mime_id, 'event')) { | ||||
} | } | ||||
// import the (newer) event | // import the (newer) event | ||||
else if ($event['sequence'] >= $existing['sequence'] || $event['changed'] >= $existing['changed']) { | else if ($event['sequence'] >= $existing['sequence'] || $event['changed'] >= $existing['changed']) { | ||||
$event['id'] = $existing['id']; | $event['id'] = $existing['id']; | ||||
$event['calendar'] = $existing['calendar']; | $event['calendar'] = $existing['calendar']; | ||||
// preserve my participant status for regular updates | // preserve my participant status for regular updates | ||||
if (empty($status)) { | if (empty($status)) { | ||||
$emails = $this->get_user_emails(); | $this->lib->merge_attendees($event, $existing); | ||||
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 | // set status=CANCELLED on CANCEL messages | ||||
if ($event['_method'] == 'CANCEL') | if ($event['_method'] == 'CANCEL') | ||||
$event['status'] = 'CANCELLED'; | $event['status'] = 'CANCELLED'; | ||||
// update attachments list, allow attachments update only on REQUEST (#5342) | // update attachments list, allow attachments update only on REQUEST (#5342) | ||||
if ($event['_method'] == 'REQUEST') | if ($event['_method'] == 'REQUEST') | ||||
▲ Show 20 Lines • Show All 365 Lines • Show Last 20 Lines |