• Модуль: 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;
}