• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/classes/general/facebook.php
  • Класс: CSocServFacebook
  • Вызов: CSocServFacebook::prepareUser
public function prepareUser($arFBUser, $short = false)
{
	$arFields = array(
		'EXTERNAL_AUTH_ID' => self::ID,
		'XML_ID' => $arFBUser["id"],
		'LOGIN' => static::LOGIN_PREFIX.$arFBUser["id"],
		'EMAIL' => ($arFBUser["email"] != '') ? $arFBUser["email"] : '',
		'NAME'=> $arFBUser["first_name"],
		'LAST_NAME'=> $arFBUser["last_name"],
		'OATOKEN' => $this->entityOAuth->getToken(),
		'OATOKEN_EXPIRES' => $this->entityOAuth->getAccessTokenExpires(),
	);

	if(!$short && isset($arFBUser['picture']['data']['url']) && !$arFBUser['picture']['data']['is_silhouette'])
	{
		$picture_url = CFacebookInterface::GRAPH_URL.'/'.$arFBUser['id'].'/picture?type=large';
		$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(isset($arFBUser['birthday']))
	{
		if($date = MakeTimeStamp($arFBUser['birthday'], "MM/DD/YYYY"))
		{
			$arFields["PERSONAL_BIRTHDAY"] = ConvertTimeStamp($date);
		}
	}

	if(isset($arFBUser['gender']) && $arFBUser['gender'] != '')
	{
		if($arFBUser['gender'] == 'male')
		{
			$arFields["PERSONAL_GENDER"] = 'M';
		}
		elseif($arFBUser['gender'] == 'female')
		{
			$arFields["PERSONAL_GENDER"] = 'F';
		}
	}

	$arFields["PERSONAL_WWW"] = $this->getProfileUrl($arFBUser['id']);

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

	return $arFields;
}