• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/controller/calendarentryajax.php
  • Класс: BitrixCalendarControllerCalendarEntryAjax
  • Вызов: CalendarEntryAjax::prepareRecurringRule
private function prepareRecurringRule(array $rrule = null, ?string $endMode = 'never'): ?array
{
	if (empty($rrule) || !is_array($rrule))
	{
		return null;
	}
	if (!isset($rrule['INTERVAL']) && $rrule['FREQ'] !== 'NONE')
	{
		$rrule['INTERVAL'] = 1;
	}
	if ($endMode === 'never')
	{
		unset($rrule['COUNT'], $rrule['UNTIL']);
	}
	elseif ($endMode === 'count')
	{
		if ((int)$rrule['COUNT'] <= 0)
		{
			$rrule['COUNT'] = 10;
		}
		unset($rrule['UNTIL']);
	}
	elseif ($endMode === 'until')
	{
		unset($rrule['COUNT']);
	}

	return $rrule;
}