- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/update_client_partner.php
- Класс: CUpdateClientPartner
- Вызов: CUpdateClientPartner::ActivateCoupon
static function ActivateCoupon($coupon, &$strError, $lang = false, $stableVersionsOnly = "Y")
{
$strError_tmp = "";
CUpdateClientPartner::AddMessage2Log("exec CUpdateClientPartner::ActivateCoupon");
$strQuery = CUpdateClientPartner::__CollectRequestData($strError_tmp, $lang, $stableVersionsOnly, array(), array());
if ($strQuery === false || $strQuery == '' || $strError_tmp <> '')
{
if ($strError_tmp == '')
$strError_tmp = "[RV01] ".GetMessage("SUPZ_NO_QSTRING").". ";
}
if (CModule::IncludeModule("rest") && !BitrixRestOAuthService::getEngine()->isRegistered())
{
try
{
BitrixRestOAuthService::register();
BitrixRestOAuthService::getEngine()->getClient()->getApplicationList();
}
catch(BitrixMainSystemException $e)
{
}
}
if ($strError_tmp == '')
{
$strQuery .= "&coupon=".UrlEncode($coupon)."&query_type=coupon";
CUpdateClientPartner::AddMessage2Log(preg_replace("/LICENSE_KEY=[^&]*/i", "LICENSE_KEY=X", $strQuery));
/*
foreach ($arFields as $key => $value)
$strQuery .= "&".$key."=".urlencode($value);
*/
$stime = microtime(true);
$content = CUpdateClientPartner::__GetHTTPPage("ACTIV", $strQuery, $strError_tmp);
if ($content == '')
{
if ($strError_tmp == '')
$strError_tmp = "[GNSU02] ".GetMessage("SUPZ_EMPTY_ANSWER").". ";
}
CUpdateClientPartner::AddMessage2Log("TIME ActivateCoupon(request) ".Round(microtime(true) - $stime, 3)." sec");
}
if ($strError_tmp == '')
{
$arRes = Array();
CUpdateClientPartner::__ParseServerData($content, $arRes, $strError_tmp);
}
if ($strError_tmp == '')
{
if (isset($arRes["DATA"]["#"]["ERROR"]) && is_array($arRes["DATA"]["#"]["ERROR"]) && !empty($arRes["DATA"]["#"]["ERROR"]))
{
for ($i = 0, $n = count($arRes["DATA"]["#"]["ERROR"]); $i < $n; $i++)
{
if ($arRes["DATA"]["#"]["ERROR"][$i]["@"]["TYPE"] <> '')
$strError_tmp .= "[".$arRes["DATA"]["#"]["ERROR"][$i]["@"]["TYPE"]."] ";
$strError_tmp .= $arRes["DATA"]["#"]["ERROR"][$i]["#"].". ";
}
}
}
if ($strError_tmp <> '')
{
CUpdateClientPartner::AddMessage2Log($strError_tmp, "AC");
$strError .= $strError_tmp;
return false;
}
else
return true;
}