- Модуль: market
- Путь к файлу: ~/bitrix/modules/market/lib/Subscription/Trial.php
- Класс: BitrixMarketSubscriptionTrial
- Вызов: Trial::activate
static function activate(): array
{
if (!Trial::isAvailable()) {
return [
'error' => Loc::getMessage('MARKET_ACTIVATE_DEMO_NOT_AVAILABLE'),
];
}
if (!Loader::includeModule('rest') || !CRestUtil::isAdmin()) {
return [
'error' => Loc::getMessage('MARKET_ACTIVATE_DEMO_ACCESS_DENIED'),
];
}
if (!OAuthService::getEngine()->isRegistered()) {
try {
OAuthService::register();
} catch (SystemException $e) {
return [
'error' => Loc::getMessage('MARKET_CONFIG_ACTIVATE_ERROR'),
'error_description' => $e->getMessage(),
'error_code' => $e->getCode(),
];
}
}
try {
OAuthService::getEngine()->getClient()->getApplicationList();
} catch (SystemException $e) {
return [
'error' => Loc::getMessage('MARKET_CONFIG_ACTIVATE_ERROR'),
'error_description' => $e->getMessage(),
'error_code' => 4,
];
}
if (!OAuthService::getEngine()->isRegistered()) {
return [
'error' => Loc::getMessage('MARKET_CONFIG_ACTIVATE_ERROR'),
'error_code' => 1,
];
}
$loadedBitrix24 = Loader::includeModule('bitrix24');
$queryFields = $loadedBitrix24 ? Trial::getB24Fields() : Trial::getCPFields();
if (empty($queryFields)) {
return [];
}
$httpClient = new HttpClient();
$response = $httpClient->post('https://www.1c-bitrix.ru/buy_tmp/b24_coupon.php', $queryFields);
if (!$response) {
return [];
}
$result = [
'result' => true,
];
if (mb_strpos($response, 'OK') === false) {
$result = [
'error' => Loc::getMessage('MARKET_CONFIG_ACTIVATE_ERROR'),
'error_code' => 2,
];
}
if (!$loadedBitrix24) {
require_once($_SERVER['DOCUMENT_ROOT']
. '/bitrix/modules/main/classes/general/update_client.php');
$errorMessage = '';
CUpdateClient::GetUpdatesList($errorMessage, LANG);
}
return $result;
}