Page MenuHomePhorge

D4538.1775255078.diff
No OneTemporary

Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None

D4538.1775255078.diff

diff --git a/lib/kolab_sync_data_calendar.php b/lib/kolab_sync_data_calendar.php
--- a/lib/kolab_sync_data_calendar.php
+++ b/lib/kolab_sync_data_calendar.php
@@ -391,8 +391,10 @@
$is_outlook = stripos($this->device->devicetype, 'outlook') !== false;
$is_android = stripos($this->device->devicetype, 'android') !== false;
- // check data validity
- $this->check_event($data);
+ // check data validity (of a new event)
+ if (empty($event)) {
+ $this->check_event($data);
+ }
if (!empty($event['start']) && ($event['start'] instanceof DateTime)) {
$old_timezone = $event['start']->getTimezone();
@@ -429,6 +431,11 @@
$value = $data->$key;
+ // Skip ghosted (unset) properties, (but make sure 'changed' timestamp is reset)
+ if ($value === null && $name != 'changed') {
+ continue;
+ }
+
switch ($name) {
case 'changed':
$value = null;
@@ -510,12 +517,27 @@
}
// Organizer
- if (!$is_exception && ($organizer_email = $data->organizerEmail)) {
- $attendees[] = array(
- 'role' => 'ORGANIZER',
- 'name' => $data->organizerName,
- 'email' => $organizer_email,
- );
+ if (!$is_exception) {
+ // Organizer specified
+ if ($organizer_email = $data->organizerEmail) {
+ $attendees[] = array(
+ 'role' => 'ORGANIZER',
+ 'name' => $data->organizerName,
+ 'email' => $organizer_email,
+ );
+ } else if (!empty($event['attendees'])) {
+ // Organizer not specified, use one from the original event if that's an update
+ foreach ($event['attendees'] as $idx => $attendee) {
+ if (!empty($attendee['email']) && !empty($attendee['role']) && $attendee['role'] == 'ORGANIZER') {
+ $organizer_email = $attendee['email'];
+ $attendees[] = array(
+ 'role' => 'ORGANIZER',
+ 'name' => $attendee['name'] ?? '',
+ 'email' => $organizer_email,
+ );
+ }
+ }
+ }
}
// Attendees

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 3, 10:24 PM (1 d, 6 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18827048
Default Alt Text
D4538.1775255078.diff (2 KB)

Event Timeline