• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/controller/integration/b24documents.php
  • Класс: BitrixDiskControllerIntegrationB24Documents
  • Вызов: B24Documents::registerCloudClientAction
public function registerCloudClientAction(string $serviceUrl, string $languageId): void
{
	if (!$this->getCurrentUser()->isAdmin())
	{
		$this->addError(new Error('Only administrator can register portal and connect cloud server.'));

		return;
	}

	$configuration = new DocumentOnlyOfficeConfiguration();
	if ($configuration->getCloudRegistrationData())
	{
		return;
	}

	$cloudRegistration = (new DocumentOnlyOfficeCloudRegistration($serviceUrl))
		->setLanguageId($languageId)
	;

	$result = $cloudRegistration->registerPortal();
	if ($result->isSuccess() && isset($result->getData()['client']))
	{
		$configuration->storeCloudRegistration($result->getData()['client']);

		Option::set('disk', 'documents_enabled', 'Y');
		Option::set('disk', 'disk_onlyoffice_server', $result->getData()['documentServer']['host']);
		DiskConfiguration::setDefaultViewerService(DocumentOnlyOfficeOnlyOfficeHandler::getCode());
	}
	else
	{
		$this->addErrors($result->getErrors());
	}
}