• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/googleapibatch.php
  • Класс: BitrixCalendarSyncGoogleApiBatch
  • Вызов: GoogleApiBatch::prepareInstanceToBatch
private function prepareInstanceToBatch(array $instances): array
{
	$batch = [];
	foreach ($instances as $instance)
	{
		$currentInstance = $instance;
		if (empty($instance['ORIGINAL_DATE_FROM']))
		{
			$instanceDate = CCalendar::GetOriginalDate(
				$instance['PARENT_DATE_FROM'],
				$instance['DATE_FROM'],
				$instance['PARENT_TZ_FROM']
			);
		}
		else
		{
			$instanceDate = $instance['ORIGINAL_DATE_FROM'];
		}
		/** @var TypeDateTime $eventOriginalStart */
		$eventOriginalStart = Util::getDateObject($instanceDate, false, $instance['PARENT_TZ_FROM']);
		$currentInstance['ORIGINAL_DATE_FROM'] =
			$eventOriginalStart->format(TypeDate::convertFormatToPhp(FORMAT_DATETIME));
		$currentInstance['DAV_XML_ID'] = $instance['PARENT_DAV_XML_ID'];
		$currentInstance['gEventId'] = $instance['PARENT_G_EVENT_ID'] . '_'
			. $eventOriginalStart->setTimeZone(Util::prepareTimezone())->format('YmdTHisZ');
		$currentInstance['G_EVENT_ID'] = $currentInstance['gEventId'];
		$batch[] = $currentInstance;
	}

	return $batch;
}