- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/sync/googleapisync.php
- Класс: BitrixCalendarSyncGoogleApiSync
- Вызов: GoogleApiSync::saveEvent
public function saveEvent($eventData, $calendarId, $parameters = []): ?array
{
$params['editInstance'] = $parameters['editInstance'] ?? false;
$params['originalDavXmlId'] = $parameters['originalDavXmlId'] ?? null;
$params['editParentEvents'] = $parameters['editParentEvents'] ?? false;
$params['editNextEvents'] = $parameters['editNextEvents'] ?? false;
$params['calendarId'] = $calendarId;
$params['instanceTz'] = $parameters['instanceTz'] ?? null;
$params['originalDateFrom'] = $eventData['ORIGINAL_DATE_FROM'] ?? null;
$params['gEventId'] = $eventData['G_EVENT_ID'] ?: str_replace('@google.com', '', $eventData['DAV_XML_ID']);
$params['syncCaldav'] = $parameters['syncCaldav'] ?? false;
$newEvent = $this->prepareToSaveEvent($eventData, $params);
$externalEvent = $this->sendToSaveEvent($newEvent, $params);
if ($externalEvent)
{
return [
'DAV_XML_ID' => $externalEvent['iCalUID'],
'CAL_DAV_LABEL' => $externalEvent['etag'],
'ORIGINAL_DATE_FROM' => $externalEvent['originalStartTime'] ? $eventData['ORIGINAL_DATE_FROM'] : null,
'G_EVENT_ID' => $externalEvent['id'],
];
}
return null;
}