- Модуль: 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;
}