* eSync: fix meeting requests confirmed via ActiveSync protocol got wrong time

if user- and server-timezone was different
This commit is contained in:
ralf 2023-06-06 11:00:06 +02:00
parent e7e9c6fa22
commit 18c3ed19f4
2 changed files with 4 additions and 1 deletions

View File

@ -2527,7 +2527,7 @@ class calendar_ical extends calendar_boupdate
} }
// Remove videoconference link appended to description in calendar_groupdav->iCal() // Remove videoconference link appended to description in calendar_groupdav->iCal()
if (class_exists('EGroupware\Status\Videoconference\Call')) if (!empty($event['description']) && class_exists('EGroupware\Status\Videoconference\Call'))
{ {
$regex = "/^(\r?\n)?(Videoconference|" . lang('Videoconference') . "):\r?\n" . str_replace('/','\/',EGroupware\Status\Videoconference\Call::getMeetingRegex()) ."(\r?\n)*/im"; $regex = "/^(\r?\n)?(Videoconference|" . lang('Videoconference') . "):\r?\n" . str_replace('/','\/',EGroupware\Status\Videoconference\Call::getMeetingRegex()) ."(\r?\n)*/im";
$event['description'] = preg_replace($regex, '', $event['description']); $event['description'] = preg_replace($regex, '', $event['description']);

View File

@ -464,6 +464,9 @@ class calendar_zpush implements activesync_plugin_write, activesync_plugin_meeti
calendar_so::split_status($event['participants'][$uid], $quantity, $role); calendar_so::split_status($event['participants'][$uid], $quantity, $role);
$status = calendar_so::combine_status($status_in, $quantity, $role); $status = calendar_so::combine_status($status_in, $quantity, $role);
// convert to user-time, as that is what calendar_boupdate expects
$this->calendar->server2usertime($event);
if ($event['id'] && isset($event['participants'][$uid])) if ($event['id'] && isset($event['participants'][$uid]))
{ {
$ret = $this->calendar->set_status($event, $uid, $status) ? $event['id'] : false; $ret = $this->calendar->set_status($event, $uid, $status) ? $event['id'] : false;