示例#1
0
         $arRes['CHAIN'][] = array('ID' => $arRes['ID'], 'NAME' => $arRes['NAME'], 'URL' => str_replace('#ID#', $arRes['ID'], $section_url));
     } else {
         $db1 = CIBlockSection::GetNavChain($iblockId, $arRes['ID']);
         while ($sect = $db1->Fetch()) {
             $arRes['CHAIN'][] = array('ID' => $sect['ID'], 'NAME' => $sect['NAME'], 'URL' => str_replace('#ID#', $sect['ID'], $section_url));
         }
     }
     if (!isset($arChains[$sect['ID']])) {
         $arChains[$sect['ID']] = $arRes['CHAIN'];
     }
     if (null === $chain_root) {
         $chain_root = $arRes['CHAIN'][0]['ID'];
     } elseif (false !== $chain_root && $chain_root != $arRes['CHAIN'][0]['ID']) {
         $chain_root = false;
     }
     $arRes["SETTINGS"] = CReportSettings::GetSectionSettings($arRes["ID"], true);
     $arRes["CAN_EDIT_TIME"] = "N";
     $arRes["HAS_SETTINGS"] = "N";
     if ($arRes["SETTINGS"]["UF_REPORT_PERIOD"] && !$arRes["SETTINGS"]["PARENT"]) {
         $arRes["HAS_SETTINGS"] = "Y";
     }
     if (in_array($arRes['ID'], $arSubordination) || CTimeMan::IsAdmin()) {
         $arRes["CAN_EDIT_TIME"] = "Y";
     }
     $res['DEPARTMENTS'][$arRes['ID']] = $arRes;
 }
 if ($chain_root) {
     foreach ($res['DEPARTMENTS'] as &$dpt) {
         if (count($dpt['CHAIN']) > 1) {
             array_shift($dpt['CHAIN']);
         }
 private 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"] ? $parent["PARENT"] : $arRes['IBLOCK_SECTION_ID'];
             $parent["ID"] = $arRes["ID"];
             $parent["PARENT_NAME"] = $parent["PARENT_NAME"] ? $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;
     }
 }