• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/outgoingmanager.php
  • Класс: BitrixCalendarSyncManagersOutgoingManager
  • Вызов: OutgoingManager::prepareEvents
private function prepareEvents(EO_Event_Collection $events): array
{
	$result = [];

	foreach ($events as $event)
	{
		if ($event->getRrule())
		{
			$recId = $event->getParentId();
			$result[$recId]['type'] = 'recurrence';
			$result[$recId]['master'] = $event;
		}
		else if ($event->getRecurrenceId())
		{
			$result[$event->getRecurrenceId()]['instances'][] = $event;
		}
		else
		{
			$result[$event->getId()] = [
				'type' => 'single',
				'event' => $event,
			];
		}
	}

	return $result;
}