• Модуль: 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;
}