- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/classes/general/googleproxy.php
- Класс: CSocServGoogleProxyOAuth
- Вызов: CSocServGoogleProxyOAuth::AuthorizeUser
public function AuthorizeUser($socservUserFields, $bSave = false)
{
if(!isset($socservUserFields['XML_ID']) || $socservUserFields['XML_ID'] == '')
{
return false;
}
if(!isset($socservUserFields['EXTERNAL_AUTH_ID']) || $socservUserFields['EXTERNAL_AUTH_ID'] == '')
{
return false;
}
$dbSocUser = UserTable::getList([
'filter' => [
'=XML_ID'=>$socservUserFields['XML_ID'],
'=EXTERNAL_AUTH_ID'=>$socservUserFields['EXTERNAL_AUTH_ID']
],
'select' => ["ID", "USER_ID", "ACTIVE" => "USER.ACTIVE", "PERSONAL_PHOTO"],
]);
$socservUser = $dbSocUser->fetch();
if(!empty($socservUserFields['USER_ID']))
{
if(!$socservUser)
{
$result = UserTable::add(UserTable::filterFields($socservUserFields));
}
else
{
$result = UserTable::update($socservUser['ID'], UserTable::filterFields($socservUserFields));
}
}
else
{
return false;
}
return $result->isSuccess();
}