- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_event.php
- Класс: CCalendarEvent
- Вызов: CCalendarEvent::UpdateParentEventExDate
static function UpdateParentEventExDate($recurrenceId, $exDate, $attendeeIds)
{
global $DB, $CACHE_MANAGER;
$parameters = [
'select' => [
'EXDATE',
],
'filter' => [
'=PARENT_ID' => $recurrenceId,
],
'limit' => 1,
];
$exDates = InternalsEventTable::getList($parameters)->fetchAll();
$exDates = self::GetExDate($exDates[0]['EXDATE']);
$exDates[] = date(
ExcludedDatesCollection::EXCLUDED_DATE_FORMAT,
CCalendar::Timestamp($exDate)
);
$exDates = array_unique($exDates);
$strExDates = implode(';', $exDates);
$strSql =
"UPDATE b_calendar_event SET ".
$DB->PrepareUpdate("b_calendar_event", array('EXDATE' => $strExDates)).
" WHERE PARENT_ID=". (int)$recurrenceId;
$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
if (is_array($attendeeIds))
{
foreach ($attendeeIds as $id)
{
$CACHE_MANAGER->ClearByTag('calendar_user_' . $id);
}
}
return true;
}