• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/google/queuemanager.php
  • Класс: BitrixCalendarSyncGoogleQueueManager
  • Вызов: QueueManager::detectEventType
static function detectEventType(array $event): void
{
	if (
		$event['SYNC_STATUS'] === Dictionary::SYNC_STATUS['exdated']
		|| $event['SYNC_STATUS'] === Dictionary::SYNC_STATUS['deleted']
	)
	{
		return;
	}

	if (!empty($event['RECURRENCE_ID']))
	{
		self::createInstance($event);
		return;
	}

	if ($event['DELETED'] === 'Y' && !empty($event['G_EVENT_ID']))
	{
		self::deleteEvent($event);
	}
	elseif (!empty($event['RRULE']) && empty($event['G_EVENT_ID']))
	{
		self::updateNextEvents($event);
	}
	elseif (!empty($event['RRULE']) && !empty($event['G_EVENT_ID']))
	{
		self::updateParents($event);
	}
	elseif (!empty($event['G_EVENT_ID']))
	{
		self::updateEvent($event);
	}
	else
	{
		self::createEvent($event);
	}
}