- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/ui/calendarfilter.php
- Класс: BitrixCalendarUiCalendarFilter
- Вызов: CalendarFilter::filterByDate
static function filterByDate($fields, array $filter): array
{
$parseRecursion = false;
$fromTs = 0;
$toTs = 0;
if (isset($fields['fields']['DATE_FROM']))
{
$fromTs = CCalendar::Timestamp($fields['fields']['DATE_FROM'], true, false);
$filter['FROM_LIMIT'] = CCalendar::Date($fromTs, false);
}
else if (!($filter['FROM_LIMIT'] ?? null))
{
$filter['FROM_LIMIT'] = CCalendar::Date(time() - 31 * 12 * 24 * 3600, false);
}
if (isset($fields['fields']['DATE_TO']))
{
$toTs = CCalendar::Timestamp($fields['fields']['DATE_TO'], true, false);
$filter['TO_LIMIT'] = CCalendar::Date($toTs, false);
if ($fromTs && $toTs < $fromTs)
{
$filter['TO_LIMIT'] = $filter['FROM_LIMIT'];
}
}
if ($fromTs && $toTs && $fromTs <= $toTs)
{
$parseRecursion = true;
}
return [
$filter,
$parseRecursion
];
}