• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/core/mappers/event.php
  • Класс: BitrixCalendarCoreMappersEvent
  • Вызов: Event::prepareReminders
private function prepareReminders(CoreEventPropertiesRemindCollection $collection, CoreBaseDate $start): array
{
	$result = [];
	$collection->setEventStart(clone $start);
	$collection->deDuplicate();
	/** @var CoreEventPropertiesRemind $reminder */
	foreach ($collection->getCollection() as $reminder)
	{
		$remind = [
			'before' => null,
			'count' => null,
			'time' => null,
			'value' => null,
		];
		if ($reminder->getDaysBefore() !== null)
		{
			$remind['type'] = CoreEventPropertiesRemind::UNIT_DAY_BEFORE;
			$remind['before'] = $reminder->getDaysBefore();
			$remind['time'] = $reminder->getTimeOffset();
		}
		elseif ($reminder->isSimpleType())
		{
			$remind['type'] = str_replace('minutes', 'min', $reminder->getUnits()) ;
			$remind['count'] = $reminder->getTime();
		}
		else
		{
			$remind['type'] = CoreEventPropertiesRemind::UNIT_DATES;
			$remind['value'] = $reminder->getSpecificTime();
		}
		$result[] = $remind;
	}

	return $result;
}