- Модуль: 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 ?: []);
}