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