Page MenuHomePhorge

D4526.1775276436.diff
No OneTemporary

Authored By
Unknown
Size
3 KB
Referenced Files
None
Subscribers
None

D4526.1775276436.diff

diff --git a/lib/ext/Syncroton/Model/EmailMeetingRequest.php b/lib/ext/Syncroton/Model/EmailMeetingRequest.php
--- a/lib/ext/Syncroton/Model/EmailMeetingRequest.php
+++ b/lib/ext/Syncroton/Model/EmailMeetingRequest.php
@@ -78,7 +78,7 @@
'dtStamp' => array('type' => 'datetime'),
'endTime' => array('type' => 'datetime'),
'globalObjId' => array('type' => 'string'),
- 'instanceType' => array('type' => 'datetime'),
+ 'instanceType' => array('type' => 'number'),
'location' => array('type' => 'string'),
'organizer' => array('type' => 'string'), //e-mail address
'recurrenceId' => array('type' => 'datetime'),
diff --git a/lib/kolab_sync_data_email.php b/lib/kolab_sync_data_email.php
--- a/lib/kolab_sync_data_email.php
+++ b/lib/kolab_sync_data_email.php
@@ -408,23 +408,21 @@
$meeting['dtStamp'] = self::date_from_kolab($event['dtstamp'] ?? null);
$meeting['endTime'] = self::date_from_kolab($event['end'] ?? null);
$meeting['location'] = $event['location'] ?? null;
-
- //TODO implement recurrences. We can't detect exceptions like this (don't know how), and the recurrences structure is different from event,
- //so that also doesn't work like this.
- // if (isset($event['recurrence']['EXCEPTIONS'])) {
- // $meeting['instanceType'] = Syncroton_Model_EmailMeetingRequest::TYPE_RECURRING_EXCEPTION;
- // $this->recurrence_from_kolab($collection, $event, $meeting);
- // // } else if (isset($event['recurrence'])) {
- // // $meeting['instanceType'] = Syncroton_Model_EmailMeetingRequest::TYPE_RECURRING_SINGLE;
- // // $meeting['recurrenceId'] = set the date;
- // } else if (isset($event['recurrence'])) {
- // $meeting['instanceType'] = Syncroton_Model_EmailMeetingRequest::TYPE_RECURRING_MASTER;
- // $this->recurrence_from_kolab($collection, $event, $meeting);
- // } else {
- // $meeting['instanceType'] = Syncroton_Model_EmailMeetingRequest::TYPE_NORMAL;
- // }
$meeting['instanceType'] = Syncroton_Model_EmailMeetingRequest::TYPE_NORMAL;
+ if (!empty($event['recurrence_date'])) {
+ $meeting['recurrenceId'] = self::date_from_kolab($event['recurrence_date']);
+ if (!empty($event['status']) && $event['status'] == 'CANCELLED') {
+ $meeting['instanceType'] = Syncroton_Model_EmailMeetingRequest::TYPE_RECURRING_EXCEPTION;
+ } else {
+ $meeting['instanceType'] = Syncroton_Model_EmailMeetingRequest::TYPE_RECURRING_SINGLE;
+ }
+ } else if (!empty($event['recurrence'])) {
+ $meeting['instanceType'] = Syncroton_Model_EmailMeetingRequest::TYPE_RECURRING_MASTER;
+ // TODO: MeetingRequest recurrence is different that the one in Calendar
+ // $this->recurrence_from_kolab($collection, $event, $meeting);
+ }
+
// Organizer
if (!empty($event['attendees'])) {
foreach ($event['attendees'] as $idx => $attendee) {

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 4, 4:20 AM (2 d, 17 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18817863
Default Alt Text
D4526.1775276436.diff (3 KB)

Event Timeline