- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_reminder.php
- Класс: CCalendarReminder
- Вызов: CCalendarReminder::prepareReminder
static function prepareReminder($reminder = [])
{
$reminderList = [];
if (is_array($reminder))
{
foreach ($reminder as $remindValue)
{
if (is_array($remindValue))
{
if (isset($remindValue['type']) && in_array($remindValue['type'], self::SIMPLE_TYPE_LIST))
{
$reminderList[] = [
'type' => $remindValue['type'],
'count' => (int)$remindValue['count']
];
}
elseif ($remindValue['type'] === self::TYPE_DAY_BEFORE)
{
$reminderList[] = [
'type' => $remindValue['type'],
'before' => (int)$remindValue['before'],
'time' => (int)$remindValue['time']
];
}
elseif ($remindValue['type'] === self::TYPE_SPECIFIC_DATETIME)
{
$reminderList[] = [
'type' => $remindValue['type'],
'value' => CCalendar::Date(CCalendar::Timestamp($remindValue['value']))
];
}
}
else
{
$explodedValue = explode('|', $remindValue);
if (count($explodedValue) > 1)
{
if ($explodedValue[0] === self::TYPE_DAY_BEFORE)
{
$reminderList[] = [
'type' => self::TYPE_DAY_BEFORE,
'before' => (int)$explodedValue[1],
'time' => (int)$explodedValue[2]
];
}
elseif($explodedValue[0] === self::TYPE_SPECIFIC_DATETIME)
{
$reminderList[] = [
'type' => self::TYPE_SPECIFIC_DATETIME,
'value' => CCalendar::Date(CCalendar::Timestamp($explodedValue[1]))
];
}
}
else
{
$reminderList[] = [
'type' => 'min',
'count' => (int)$remindValue
];
}
}
}
}
usort($reminderList, ['CCalendarReminder', 'sortReminder']);
return $reminderList;
}