- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_sync.php
- Класс: CCalendarSync
- Вызов: CCalendarSync::GetPassDates
static function GetPassDates($id, $exDates)
{
$excludeDates = [];
$instancesDM = InternalsEventTable::query()
->addFilter('=RECURRENCE_ID', $id)
->setSelect(['ORIGINAL_DATE_FROM'])
->exec()
;
// $instances = InternalsEventTable::getList([
// 'filter' => [
// '=RECURRENCE_ID' => $id,
// ],
// 'select' => [
// 'ORIGINAL_DATE_FROM'
// ],
// ]);
while ($instance = $instancesDM->fetch())
{
if ($instance['ORIGINAL_DATE_FROM'] instanceof TypeDate)
{
$excludeDates[] = $instance['ORIGINAL_DATE_FROM']->format('d.m.Y');
}
}
if ($excludeDates)
{
$eventExDate = explode(';', $exDates);
$result = array_diff($eventExDate, $excludeDates);
return implode(';', $result);
}
return $exDates;
}