• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/classes/general/timeman.php
  • Класс: CTimeMan
  • Вызов: CTimeMan::GetUserManagers
static function GetUserManagers($USER_ID, $bCheckExistance = true)
{
	$arStruct = CIntranetUtils::GetStructure();

	$arHeads = [];

	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::getList('ID', 'ASC',
								['ID'=> $arCurDpt['UF_HEAD']], ['FIELDS' => ['ACTIVE']])->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);
}