• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/controller/calendarajax.php
  • Класс: BitrixCalendarControllerCalendarAjax
  • Вызов: CalendarAjax::updateRemindersAction
public function updateRemindersAction()
{
	$request = $this->getRequest();
	$response = [];
	$entryId = (int)$request->getPost('entryId');
	$userId = CCalendar::GetUserId();
	$entry = CCalendarEvent::GetById($entryId);

	if (empty($entry))
	{
		$this->addError(new Error('Event not found'));

		return $response;
	}

	$accessController = new EventAccessController($userId);
	$eventModel = CCalendarEvent::getEventModelForPermissionCheck($entryId, $entry, $userId);

	if ($accessController->check(ActionDictionary::ACTION_EVENT_EDIT, $eventModel, ['checkCurrentEvent' => 'Y']))
	{
		$entry['REMIND'] = CCalendarReminder::prepareReminder($request->getPost('reminders'));
		$response['REMIND'] = $entry['REMIND'];
		$response['id'] = CCalendar::SaveEvent([
			'arFields' => [
				'ID' => $entry['ID'],
				'REMIND' => $entry['REMIND']
			],
			'updateReminders' => true,
			'checkPermission' => false,
		]);

		CCalendar::ClearCache('event_list');
	}
	else
	{
		$this->addError(new Error('Access denied'));
	}

	return $response;
}