• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/classes/general/timeman_report_full.php
  • Класс: CUserReportFull
  • Вызов: CUserReportFull::getManagersData
private function getManagersData(int $userId): array
{
	$managers = CTimeMan::getUserManagers($userId);
	$managers[] = $userId;

	$userUrl = COption::getOptionString('intranet', 'path_user', '/company/personal/user/#USER_ID#/', SITE_ID);

	$queryObject = CUser::getList('ID', 'ASC', ['ID' => implode('|', $managers)]);

	$currentUser = [];
	$currentUserManagers = [];

	while ($manager = $queryObject->getNext())
	{
		$manager['PHOTO'] = (
			$manager['PERSONAL_PHOTO'] > 0 ?
			CIntranetUtils::initImage($manager['PERSONAL_PHOTO'], 100, 100, BX_RESIZE_IMAGE_EXACT) :
			[]
		);

		$userData = [
			'ID' => $manager['ID'],
			'LOGIN' => $manager['LOGIN'],
			'NAME' => CUser::formatName(CSite::getNameFormat(false), $manager, true, false),
			'URL' => str_replace(['#ID#', '#USER_ID#'], $manager['ID'], $userUrl),
			'WORK_POSITION' => $manager['WORK_POSITION'],
			'PHOTO' => $manager['PHOTO']['CACHE']['src'] ?? '',
		];

		if ($userData["ID"] == $userId)
			$currentUser = $userData;
		else
			$currentUserManagers[] = $userData;
	}

	if (count($currentUserManagers) == 0)
	{
		$currentUserManagers[] = $currentUser;
	}

	return [$currentUser, $currentUserManagers];
}