• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/classes/general/box.php
  • Класс: CSocServBoxAuth
  • Вызов: CSocServBoxAuth::prepareUser
public function prepareUser($boxUser, $short = false)
{
	$nameDetails = explode(" ", $boxUser['name'], 2);

	$id = $boxUser['id'];

	$arFields = array(
		'EXTERNAL_AUTH_ID' => static::ID,
		'XML_ID' => $id,
		'LOGIN' => static::LOGIN_PREFIX.$id,
		'NAME'=> $nameDetails[0],
		'LAST_NAME'=> $nameDetails[1],
		'EMAIL' => $boxUser["login"],
		'OATOKEN' => $this->entityOAuth->getToken(),
		'OATOKEN_EXPIRES' => $this->entityOAuth->getAccessTokenExpires(),
		'REFRESH_TOKEN' => $this->entityOAuth->getRefreshToken(),
	);

	if(!$short && !empty($boxUser['avatar_url']))
	{
		$picture_url = $boxUser['avatar_url'];
		$temp_path = CFile::GetTempName('', 'picture.jpg');

		$ob = new HttpClient(array(
			"redirect" => true
		));
		$ob->download($picture_url, $temp_path);

		$arPic = CFile::MakeFileArray($temp_path);
		if($arPic)
		{
			$arFields["PERSONAL_PHOTO"] = $arPic;
		}
	}

	if(SITE_ID <> '')
	{
		$arFields["SITE_ID"] = SITE_ID;
	}

	return $arFields;
}