- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/userfield/resourcebooking.php
- Класс: BitrixCalendarUserFieldResourceBooking
- Вызов: ResourceBooking::getDefaultResourcesList
static function getDefaultResourcesList()
{
$result = [];
$typeList = InternalsTypeTable::getList(
array(
"filter" => array(
"XML_ID" => self::RESOURCE_CALENDAR_TYPE
),
"select" => array("XML_ID", "NAME")
)
);
while ($type = $typeList->fetch())
{
$type['SECTIONS'] = [];
$result[$type['XML_ID']] = $type;
}
if (!$result[self::RESOURCE_CALENDAR_TYPE])
{
InternalsTypeTable::add([
'XML_ID' => self::RESOURCE_CALENDAR_TYPE,
'NAME' => self::RESOURCE_CALENDAR_TYPE,
'ACTIVE' => 'Y'
]);
CCalendar::ClearCache('type_list');
$result[self::RESOURCE_CALENDAR_TYPE] = [
'XML_ID' => self::RESOURCE_CALENDAR_TYPE,
'NAME' => self::RESOURCE_CALENDAR_TYPE
];
}
$sectionList = InternalsSectionTable::getList(
array(
"filter" => array(
"=ACTIVE" => 'Y',
"CAL_TYPE" => [self::RESOURCE_CALENDAR_TYPE],
"!=NAME" => ''
),
"select" => array("ID", "CAL_TYPE", "NAME")
)
);
while ($section = $sectionList->fetch())
{
if (is_array($result[$section['CAL_TYPE']]['SECTIONS']))
{
$result[$section['CAL_TYPE']]['SECTIONS'][] = $section;
}
}
return $result;
}