- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/rooms/manager.php
- Класс: BitrixCalendarRoomsManager
- Вызов: Manager::prepareRoomManagerData
static function prepareRoomManagerData(): ?array
{
$userId = CCalendar::GetUserId();
$result = [];
$followedSectionList = UserSettings::getFollowedSectionIdList($userId);
$sectionList = CCalendar::GetSectionList([
'CAL_TYPE' => self::TYPE,
'OWNER_ID' => 0,
'ADDITIONAL_IDS' => $followedSectionList,
]);
$sectionList = array_merge($sectionList, CCalendar::getSectionListAvailableForUser($userId));
$sectionAccessTasks = CCalendar::GetAccessTasks('calendar_section', 'location');
$hiddenSections = UserSettings::getHiddenSections(
$userId,
[
'type' => self::TYPE,
'ownerId' => 0,
]
);
$defaultSectionAccess = CCalendarSect::GetDefaultAccess(
self::TYPE,
$userId
);
$result['rooms'] = self::getRoomsList();
$result['sections'] = $sectionList;
$result['config'] = [
'locationAccess' => Util::getLocationAccess($userId),
'hiddenSections' => $hiddenSections,
'type' => self::TYPE,
'ownerId' => 0,
'userId' => $userId,
'defaultSectionAccess' => $defaultSectionAccess,
'sectionAccessTasks' => $sectionAccessTasks,
'showTasks' => false,
'accessNames' => CCalendar::GetAccessNames(),
];
return $result;
}