Ejemplo n.º 1
0
 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;
     }
 }