• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_event.php
  • Класс: CCalendarEvent
  • Вызов: CCalendarEvent::getEventModelForPermissionCheck
static function getEventModelForPermissionCheck(int $eventId, array $event = [], int $userId = 0): EventModel
{
	if ($userId <= 0)
	{
		$userId = CCalendar::GetUserId();
	}

	if (empty($event) || ((int)($event['ID'] ?? 0) !== $eventId))
	{
		$event = self::GetById($eventId, false);
	}

	$userEvent = self::GetList(
		[
			'arFilter' => [
				'PARENT_ID' => $eventId,
				'OWNER_ID' => $userId,
				'CAL_TYPE' => Dictionary::CALENDAR_TYPE['user'],
				'DELETED' => 'N',
			],
			'parseRecursion' => false,
			'fetchMeetings' => false,
			'userId' => $userId,
			'checkPermissions' => false,
			'getPermissions' => false,
		]
	);

	if ($userEvent)
	{
		$userEvent = $userEvent[0];
	}

	return EventModel::createFromArray($userEvent ?: $event ?: []);
}