- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/sync/googleapisync.php
- Класс: BitrixCalendarSyncGoogleApiSync
- Вызов: GoogleApiSync::sendToSaveEvent
private function sendToSaveEvent($newEvent, $params)
{
if ($params['editInstance'] === true)
{
$eventOriginalStart = Util::getDateObject($params['originalDateFrom'], false, $params['instanceTz']);
$originalStart = $eventOriginalStart->format(self::DATE_TIME_FORMAT);
$externalId = $params['gEventId'] ?: $params['originalDavXmlId'];
$instance = $this->syncTransport->getInstanceRecurringEvent($params['calendarId'], $externalId, $originalStart);
$newEvent['originalStartTime'] = $originalStart;
$newEvent['recurringEventId'] = $params['originalDavXmlId'];
if (is_array($instance['items']))
{
return $this->syncTransport->updateEvent($newEvent, urlencode($params['calendarId']), $instance['items'][0]['id']);
}
}
elseif ($params['editParentEvents'] === true)
{
return $this->syncTransport->updateEvent($newEvent, urldecode($params['calendarId']), $params['gEventId']);
}
elseif ($params['syncCaldav'])
{
return $this->syncTransport->importEvent($newEvent, urlencode($params['calendarId']));
}
elseif (($params['gEventId']))
{
return $this->syncTransport->updateEvent($newEvent, urlencode($params['calendarId']), $params['gEventId']);
}
else
{
return $this->syncTransport->insertEvent($newEvent, urlencode($params['calendarId']));
}
return [];
}