• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/classes/general/rest_provider.php
  • Класс: CRestProvider
  • Вызов: CRestProvider::getProfile
static function getProfile($params, $n, CRestServer $server)
{
	global $USER;

	if(!$USER->isAuthorized())
	{
		throw new BitrixRestAccessException("User authorization required");
	}

	$dbRes = CUser::getById($USER->getId());
	$userInfo = $dbRes->fetch();

	$result = array();

	if($userInfo['ACTIVE'] == 'Y')
	{
		$result = array(
			'ID' => $userInfo['ID'],
			'ADMIN' => CRestUtil::isAdmin(),
			'NAME' => $userInfo['NAME'],
			'LAST_NAME' => $userInfo['LAST_NAME'],
			'PERSONAL_GENDER' => $userInfo['PERSONAL_GENDER'],
		);

		if($userInfo['PERSONAL_PHOTO'] > 0)
		{
			$result['PERSONAL_PHOTO'] = CRestUtil::GetFile($userInfo["PERSONAL_PHOTO"]);
		}

		$result['TIME_ZONE'] = CTimeZone::IsAutoTimeZone($userInfo['AUTO_TIME_ZONE']) === true
			? ''
			: $userInfo['TIME_ZONE'];
		$result['TIME_ZONE_OFFSET'] = CTimeZone::GetOffset($USER->getId()) + date('Z');

		$securityState = array(
			"ID" => $result['ID'],
			"NAME" => $result['NAME'],
			"LAST_NAME" => $result['LAST_NAME'],
		);

		$server->setSecurityState($securityState);
	}

	return $result;
}