- Модуль: timeman
- Путь к файлу: ~/bitrix/modules/timeman/classes/general/timeman_report_full.php
- Класс: CReportSettings
- Вызов: CReportSettings::_GetTreeSettings
static function _GetTreeSettings()
{
self::$SECTIONS_SETTINGS_CACHE = array();
$ibDept = COption::GetOptionInt('intranet', 'iblock_structure', false);
$dbRes = CIBlockSection::GetList(
array("LEFT_MARGIN"=>"ASC"),
array('IBLOCK_ID' => $ibDept, 'ACTIVE' => 'Y'),
false,
array('ID','NAME','IBLOCK_SECTION_ID','UF_TIMEMAN','UF_REPORT_PERIOD','UF_TM_REPORT_DATE','UF_TM_DAY','UF_TM_TIME','UF_SETTING_DATE')
);
while ($arRes = $dbRes->Fetch())
{
$arRes["UF_REPORT_PERIOD"] = CReportSettings::GetPeriodByID($arRes['UF_REPORT_PERIOD'], 'IBLOCK_'.$ibDept.'_SECTION' );
$arSectionSettings = $arRes;
if (!$arRes["UF_REPORT_PERIOD"] && $arRes['IBLOCK_SECTION_ID']>0)
{
$parent = self::$SECTIONS_SETTINGS_CACHE[$arRes['IBLOCK_SECTION_ID']];
$parent["PARENT"] = ($parent["PARENT"] ?? false) ? $parent["PARENT"] : $arRes['IBLOCK_SECTION_ID'];
$parent["ID"] = $arRes["ID"];
$parent["PARENT_NAME"] = ($parent["PARENT_NAME"] ?? false) ? $parent["PARENT_NAME"] : $parent["NAME"];
$parent["NAME"] = $arRes["NAME"];
$arSectionSettings = $parent;
}
if (!$arSectionSettings['UF_TIMEMAN'])
$arSectionSettings['UF_TIMEMAN'] = 'Y';
self::$SECTIONS_SETTINGS_CACHE[$arRes['ID']] = $arSectionSettings;
}
}