- Модуль: voximplant
- Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_user.php
- Класс: CVoxImplantUser
- Вызов: CVoxImplantUser::getAuthorizationInfo
public function getAuthorizationInfo($userId, $autoRegister = false)
{
$result = new BitrixMainResult();
$userId = intval($userId);
if ($userId <= 0)
{
$result->addError(new BitrixMainError('userId is empty'));
return $result;
}
if(!BitrixVoximplantIntegrationBitrix24::isEmailConfirmed())
{
$result->addError(new BitrixMainError(GetMessage('VI_ERROR_EMAIL_NOT_CONFIRMED_2')));
return $result;
}
$arUser = BitrixMainUserTable::getRow(array(
'select' => array('UF_VI_PASSWORD', 'UF_DEPARTMENT'),
'filter' => array('=ID' => $userId)
));
if(!$arUser)
{
$result->addError(new BitrixMainError(GetMessage('VI_ERROR_USER_NOT_FOUND')));
return $result;
}
if($arUser['UF_VI_PASSWORD'] == '')
{
if(!$autoRegister)
{
$result->addError(new BitrixMainError(GetMessage('VI_ERROR_USER_NOT_REGISTERED')));
return $result;
}
$registerResult = $this->GetUser($userId);
if (!$registerResult || $this->GetError()->error)
{
$result->addError(new BitrixMainError($this->GetError()->msg, $this->GetError()->code));
return $result;
}
$arUser['UF_VI_PASSWORD'] = $registerResult->result->user_password;
global $USER_FIELD_MANAGER;
$USER_FIELD_MANAGER->Update("USER", $userId, Array('UF_VI_PASSWORD' => $arUser['UF_VI_PASSWORD']));
}
$viAccount = new CVoxImplantAccount();
$callServer = $viAccount->GetCallServer();
if(!$callServer)
{
return $result->addError(new BitrixMainError(GetMessage('VI_ERROR_COULD_NOT_CREATE_ACCOUNT')));
}
$result->setData(array(
'server' => str_replace('voximplant.com', 'bitrixphone.com', $viAccount->GetCallServer()),
'login' => 'user'.$userId,
'password' => $arUser['UF_VI_PASSWORD']
));
return $result;
}