• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/absence.php
  • Класс: BitrixTimemanAbsence
  • Вызов: Absence::getSubordinateUsers
static function getSubordinateUsers($departmentId, $userId)
{
	$isAdmin = self::isAdmin();
	$nameTemplateSite = CSite::GetNameFormat(false);
	$users = [];

	$subordinateDepartments = self::getSubordinateDepartmentId($userId);
	if (
		!$isAdmin && empty($subordinateDepartments)
		|| $isAdmin && !$departmentId
	)
	{
		$users[] = self::getUserData($userId);
	}
	else
	{
		if ($isAdmin || in_array($departmentId, $subordinateDepartments))
		{
			$res = CIntranetUtils::getDepartmentEmployees([$departmentId], false, false, 'Y');
			while ($row = $res->fetch())
			{
				$avatar = CFile::ResizeImageGet(
					$row["PERSONAL_PHOTO"],
					array('width' => 100, 'height' => 100),
					BX_RESIZE_IMAGE_EXACT
				);

				$users[] = Array(
					'ID' => (int)$row['ID'],
					'NAME' => CUser::FormatName($nameTemplateSite, $row, true, false),
					'FIRST_NAME' => $row['NAME'],
					'LAST_NAME' => $row['LAST_NAME'],
					'WORK_POSITION' => $row['WORK_POSITION'],
					'AVATAR' => $avatar['src'],
					'PERSONAL_GENDER' => $row['PERSONAL_GENDER'] == 'M'? 'M': 'F',
					'LAST_ACTIVITY_DATE' => $row['LAST_ACTIVITY_DATE']? DateTime::createFromTimestamp(MakeTimeStamp($row['LAST_ACTIVITY_DATE'], 'YYYY-MM-DD HH:MI:SS')): null,
				);
			}
		}
	}

	return $users;
}