• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/classes/general/vkontakte.php
  • Класс: CSocServVKontakte
  • Вызов: CSocServVKontakte::prepareUser
public function prepareUser($arVkUser, $short = false)
{
	$first_name = $last_name = $gender = "";

	if ($arVkUser['response']['0']['first_name'] <> '')
	{
		$first_name = $arVkUser['response']['0']['first_name'];
	}

	if ($arVkUser['response']['0']['last_name'] <> '')
	{
		$last_name = $arVkUser['response']['0']['last_name'];
	}

	if (isset($arVkUser['response']['0']['sex']) && $arVkUser['response']['0']['sex'] != '')
	{
		if ($arVkUser['response']['0']['sex'] == '2')
			$gender = 'M';
		elseif ($arVkUser['response']['0']['sex'] == '1')
			$gender = 'F';
	}

	$arFields = array(
		'EXTERNAL_AUTH_ID' => self::ID,
		'XML_ID' => $arVkUser['response']['0']['id'],
		'LOGIN' => "VKuser" . $arVkUser['response']['0']['id'],
		'EMAIL' => $this->entityOAuth->GetCurrentUserEmail(),
		'NAME' => $first_name,
		'LAST_NAME' => $last_name,
		'PERSONAL_GENDER' => $gender,
		'OATOKEN' => $this->entityOAuth->getToken(),
		'OATOKEN_EXPIRES' => $this->entityOAuth->getAccessTokenExpires(),
	);

	if (isset($arVkUser['response']['0']['photo_max_orig']) && self::CheckPhotoURI($arVkUser['response']['0']['photo_max_orig']))
	{
		if (!$short)
		{
			$arPic = CFile::MakeFileArray($arVkUser['response']['0']['photo_max_orig']);
			if ($arPic)
			{
				$arFields["PERSONAL_PHOTO"] = $arPic;
			}
		}

		if (isset($arVkUser['response']['0']['bdate']))
		{
			if ($date = MakeTimeStamp($arVkUser['response']['0']['bdate'], "DD.MM.YYYY"))
			{
				$arFields["PERSONAL_BIRTHDAY"] = ConvertTimeStamp($date);
			}
		}

		$arFields["PERSONAL_WWW"] = self::getProfileUrl($arVkUser['response']['0']['id']);

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

	return $arFields;
}