• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/security/currentuser.php
  • Класс: BitrixMainSecurityCurrentUser
  • Вызов: CurrentUser::createFromArray
static function createFromArray(array $data)
{
	if (empty($data))
		throw new MainArgumentNullException("data");

	if (!isset($data["USER_ID"]) || !MainTypeInt::isInteger($data["USER_ID"]))
		throw new MainArgumentOutOfRangeException("data");

	if (isset($data["AUTHORIZED"]) && ($data["AUTHORIZED"] != "Y"))
		throw new SecurityException();

	$user = new static($data["USER_ID"]);

	$ar = array("LOGIN" => "login", "EMAIL" => "email", "FIRST_NAME" => "firstName",
		"SECOND_NAME" => "secondName", "LAST_NAME" => "lastName", "ADMIN" => "isAdmin",
		"TIME_ZONE" => "timezone");
	foreach ($ar as $k => $v)
	{
		if (isset($data[$k]))
			$user->{$v} = $data[$k];
	}

	if (isset($data["AUTO_TIME_ZONE"]))
		$user->isAutoTimezone = ($data["AUTO_TIME_ZONE"] == "Y");

	if (isset($data["POLICY"]))
		$user->policy = $data["POLICY"];
	if (isset($data["GROUPS"]))
		$user->userGroups = $data["GROUPS"];

//		$_SESSION["SESS_AUTH"]["CONTROLLER_ADMIN"] = false;
//		$_SESSION["SESS_AUTH"]["STORED_AUTH_ID"] = $stored_id;

	return $user;
}