public 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 || StrLen($strQuery) <= 0 || StrLen($strError_tmp) > 0) { if (StrLen($strError_tmp) <= 0) { $strError_tmp = "[RV01] " . GetMessage("SUPZ_NO_QSTRING") . ". "; } } if (StrLen($strError_tmp) <= 0) { $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 = CUpdateClientPartner::__GetMicroTime(); $content = CUpdateClientPartner::__GetHTTPPage("ACTIV", $strQuery, $strError_tmp); if (strlen($content) <= 0) { if (StrLen($strError_tmp) <= 0) { $strError_tmp = "[GNSU02] " . GetMessage("SUPZ_EMPTY_ANSWER") . ". "; } } CUpdateClientPartner::AddMessage2Log("TIME ActivateCoupon(request) " . Round(CUpdateClientPartner::__GetMicroTime() - $stime, 3) . " sec"); } if (strlen($strError_tmp) <= 0) { $arRes = array(); CUpdateClientPartner::__ParseServerData($content, $arRes, $strError_tmp); } if (strlen($strError_tmp) <= 0) { if (isset($arRes["DATA"]["#"]["ERROR"]) && is_array($arRes["DATA"]["#"]["ERROR"]) && count($arRes["DATA"]["#"]["ERROR"]) > 0) { for ($i = 0, $n = count($arRes["DATA"]["#"]["ERROR"]); $i < $n; $i++) { if (strlen($arRes["DATA"]["#"]["ERROR"][$i]["@"]["TYPE"]) > 0) { $strError_tmp .= "[" . $arRes["DATA"]["#"]["ERROR"][$i]["@"]["TYPE"] . "] "; } $strError_tmp .= $arRes["DATA"]["#"]["ERROR"][$i]["#"] . ". "; } } } if (strlen($strError_tmp) > 0) { CUpdateClientPartner::AddMessage2Log($strError_tmp, "AC"); $strError .= $strError_tmp; return False; } else { return True; } }