Projects
Kolab:16:Testing
kolab-syncroton
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 7
View file
kolab-syncroton-2.4.0.tar.gz/lib/ext/Syncroton/Command/Sync.php
Changed
@@ -1069,6 +1069,8 @@ } Syncroton_Registry::getTransactionManager()->rollBack(); + // Give the other transactions some time before we try again + sleep(1); if ($this->_logger instanceof Zend_Log) $this->_logger->warn(__METHOD__ . '::' . __LINE__ . ' error during transaction, trying again.'); }
View file
kolab-syncroton-2.4.0.tar.gz/lib/kolab_sync_backend_state.php
Changed
@@ -198,6 +198,8 @@ } else { break; } + //Give the other transactions some time before we try again + sleep(1); } }
View file
kolab-syncroton-2.4.0.tar.gz/lib/kolab_sync_data.php
Changed
@@ -1814,17 +1814,20 @@ // handle exceptions from recurrence if (!empty($data->exceptions)) { foreach ($data->exceptions as $exception) { + $date = clone $exception->exceptionStartTime; + if ($timezone) { + $date->setTimezone($timezone); + } + if ($exception->deleted) { - $date = clone $exception->exceptionStartTime; - if ($timezone) { - $date->setTimezone($timezone); - } $date->setTime(0, 0, 0); $rrule'EXDATE' = $date; } else { $ex = $this->toKolab($exception, $folderid, null, $timezone); + $ex'recurrence_date' = $date; + if ($data->allDayEvent) { $ex'allday' = 1; }
View file
kolab-syncroton-2.4.0.tar.gz/lib/kolab_sync_data_calendar.php
Changed
@@ -236,17 +236,15 @@ break; case 'sensitivity': - if (empty($value)) { - continue; + if (!empty($value)) { + $value = intval($this->sensitivityMap$value); } - $value = intval($this->sensitivityMap$value); break; case 'free_busy': - if (empty($value)) { - continue; + if (!empty($value)) { + $value = $this->busyStatusMap$value; } - $value = $this->busyStatusMap$value; break; case 'description': @@ -495,7 +493,8 @@ else if (isset($data->attendees)) { $statusMap = array_flip($this->attendeeStatusMap); foreach ($data->attendees as $attendee) { - if ($attendee->email && $attendee->email == $organizer_email) { + if (!empty($organizer_email) && $attendee->email && !strcasecmp($attendee->email, $organizer_email)) { + // skip the organizer continue; } @@ -540,22 +539,23 @@ } } - // Make sure the event has the organizer set - if (!$organizer_email && ($identity = kolab_sync::get_instance()->user->get_identity())) { - $attendees = array( - 'role' => 'ORGANIZER', - 'name' => $identity'name', - 'email' => $identity'email', - ); + if (!$is_exception) { + // Make sure the event has the organizer set + if (!$organizer_email && ($identity = kolab_sync::get_instance()->user->get_identity())) { + $attendees = array( + 'role' => 'ORGANIZER', + 'name' => $identity'name', + 'email' => $identity'email', + ); + } + + // recurrence (and exceptions) + $event'recurrence' = $this->recurrence_to_kolab($data, $folderid, $timezone); } $event'attendees' = $attendees; $event'categories' = $categories; - - // recurrence (and exceptions) - if (!$is_exception) { - $event'recurrence' = $this->recurrence_to_kolab($data, $folderid, $timezone); - } + $event'exceptions' = isset($event'recurrence''EXCEPTIONS') ? $event'recurrence''EXCEPTIONS' : array(); // Bump SEQUENCE number on update (Outlook only). // It's been confirmed that any change of the event that has attendees specified @@ -807,14 +807,13 @@ */ protected function update_attendee_status(&$event, $status) { - $organizer = null; - $emails = $this->user_emails(); + $emails = $this->user_emails(); foreach ((array) $event'attendees' as $i => $attendee) { - if ($attendee'role' == 'ORGANIZER') { - $organizer = $attendee; - } - else if ($attendee'email' && in_array_nocase($attendee'email', $emails)) { + if (!empty($attendee'email') + && (empty($attendee'role') || $attendee'role' != 'ORGANIZER') + && in_array_nocase($attendee'email', $emails) + ) { $event'attendees'$i'status' = $status; $event'attendees'$i'rsvp' = false; $event_attendee = $attendee; @@ -822,8 +821,14 @@ } if (!$event_attendee) { - $this->logger->warn('MeetingResponse on an event where the user is not an attendee. UID: ' . $event'uid'); - throw new Syncroton_Exception_Status_MeetingResponse(Syncroton_Exception_Status_MeetingResponse::MEETING_ERROR); + // Add the user to the attendees list + $event'attendees' = array( + 'role' => 'OPT-PARTICIPANT', + 'name' => '', + 'email' => $emails0, + 'status' => $status, + 'rsvp' => false, + ); } }
View file
kolab-syncroton-2.4.0.tar.gz/lib/kolab_sync_data_tasks.php
Changed
@@ -225,12 +225,8 @@ break; case 'sensitivity': - if (!empty($value)) { - $map = array_flip($this->sensitivityMap); - $value = $map$value; - } else { - $value = self::SENSITIVITY_NORMAL; - } + $map = array_flip($this->sensitivityMap); + $value = $map$value ?? 'none' ?? self::SENSITIVITY_NORMAL; break; case 'description': @@ -253,9 +249,13 @@ $task'status' = 'COMPLETED'; $task'complete' = 100; } - else if (isset($data->complete) && (!empty($task'status') && $task'status' == 'COMPLETED' || !empty($task'status') && $task'complete' == 100)) { - $task'status' = ''; - $task'complete' = 0; + else if (isset($data->complete)) { + if ((!empty($task'status') && $task'status' == 'COMPLETED') + || (!empty($task'complete') && $task'complete' == 100) + ) { + $task'status' = ''; + $task'complete' = 0; + } } // recurrence
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.