- Модуль: 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];
}