public static function GetUserManagers($USER_ID, $bCheckExistance = true) { $arStruct = CIntranetUtils::GetStructure(); $arHeads = array(); foreach ($arStruct['DATA'] as $dpt => $arDpt) { if (in_array($USER_ID, $arDpt['EMPLOYEES'])) { $arCurDpt = $arDpt; while ((!$arCurDpt['UF_HEAD'] || $arCurDpt['UF_HEAD'] == $USER_ID || $bCheckExistance && (!($arUser = CUser::GetByID($arCurDpt['UF_HEAD'])->Fetch()) || $arUser['ACTIVE'] == 'N')) && $arCurDpt['IBLOCK_SECTION_ID'] > 0) { $arCurDpt = $arStruct['DATA'][$arCurDpt['IBLOCK_SECTION_ID']]; } if ($arCurDpt['UF_HEAD']) { $arHeads[] = $arCurDpt['UF_HEAD']; } } } return array_unique($arHeads); }