- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/classes/general/yandex.php
- Класс: CSocServYandexAuth
- Вызов: CSocServYandexAuth::prepareUser
public function prepareUser($yandexUser, $short = false)
{
$id = $yandexUser['id'];
$userFields = array(
'EXTERNAL_AUTH_ID' => static::ID,
'XML_ID' => $id,
'LOGIN' => static::LOGIN_PREFIX.$id,
'NAME'=> $yandexUser['first_name'],
'LAST_NAME'=> $yandexUser['last_name'],
'OATOKEN' => $this->entityOAuth->getToken(),
'OATOKEN_EXPIRES' => $this->entityOAuth->getAccessTokenExpires(),
);
if($userFields["NAME"] == '')
{
$userFields["NAME"] = $yandexUser["login"];
}
if(isset($yandexUser["emails"]) && is_array($yandexUser["emails"]) && count($yandexUser["emails"]) > 0)
{
$userFields["EMAIL"] = $yandexUser['emails'][0];
}
if(!$short && !empty($yandexUser['default_avatar_id']))
{
$picture_url = "https://avatars.yandex.net/get-yapic/".$yandexUser["default_avatar_id"]."/islands-200";
$temp_path = CFile::GetTempName('', 'picture.jpg');
$ob = new BitrixMainWebHttpClient(array(
"redirect" => true
));
$ob->download($picture_url, $temp_path);
$arPic = CFile::MakeFileArray($temp_path);
if($arPic)
{
$userFields["PERSONAL_PHOTO"] = $arPic;
}
}
if(SITE_ID <> '')
{
$userFields["SITE_ID"] = SITE_ID;
}
return $userFields;
}