- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/classes/general/bitrix24.php
- Класс: CBitrixOAuthInterface
- Вызов: CBitrixOAuthInterface::saveDataDB
public function saveDataDB()
{
global $USER;
$dbSocUser = UserTable::getList([
'filter' => [
'=XML_ID' => $this->appID,
'=PERSONAL_WWW' => $this->portalURI,
'=EXTERNAL_AUTH_ID' => 'Bitrix24OAuth'
],
'select' => ['ID']
]);
if($USER->IsAuthorized())
{
$arFields = array(
'PERSONAL_WWW' => $this->portalURI,
'XML_ID' => $this->appID,
'EXTERNAL_AUTH_ID' => static::SERVICE_ID,
'USER_ID' => $USER->GetID(),
'OATOKEN' => $this->access_token,
'OATOKEN_EXPIRES' => $this->accessTokenExpires,
'OASECRET' => $this->getSignatureKey(),
'LOGIN' => $this->appID,
);
if($this->refresh_token <> '')
{
$arFields['REFRESH_TOKEN'] = $this->refresh_token;
}
if($arUser = $dbSocUser->fetch())
{
$result = UserTable::update($arUser["ID"], $arFields);
return $result->isSuccess() ? $arUser["ID"] : false;
}
else
{
$result = UserTable::add($arFields);
return $result->isSuccess() ? $result->getId() : false;
}
}
return true;
}