- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/core/queue/processor/eventattendeesupdate.php
- Класс: BitrixCalendarCoreQueueProcessorEventAttendeesUpdate
- Вызов: EventAttendeesUpdate::saveRecurrentEvent
protected function saveRecurrentEvent(Event $event, array $fields, array $eventArray)
{
$entries = [];
CCalendarEvent::ParseRecursion($entries, $eventArray, [
'fromLimitTs' => time() - $eventArray['TZ_OFFSET_FROM'],
'toLimitTs' => $eventArray['DATE_TO_TS_UTC'],
'instanceCount' => 1,
'loadLimit' => false,
'preciseLimits' => true,
'checkPermission' => false,
'userId' => $this->getSaveEventUserId($fields, $event),
]);
if (!empty($entries))
{
$result = CCalendar::SaveEventEx([
'recursionEditMode' => 'next',
'currentEventDateFrom' => $entries[0]['DATE_FROM'],
'overSaving' => true,
'checkPermission' => false,
'sendInvitations' => true,
'arFields' => $fields,
'userId' => $this->getSaveEventUserId($fields, $event),
]);
return $result['recEventId'] ?? $result['id'] ?? null;
}
return 0;
}