private function QueryOrderData($arFilter, $arOptions = null)
 {
     if (!is_array($arOptions)) {
         $arOptions = array();
     }
     $requestMethod = isset($arOptions["REQUEST_METHOD"]) && is_string($arOptions["REQUEST_METHOD"]) ? strtoupper($arOptions["REQUEST_METHOD"]) : "";
     if ($requestMethod === "") {
         $requestMethod = "GET";
     }
     $siteUrl = !empty($_SERVER["HTTP_HOST"]) ? ($GLOBALS["APPLICATION"]->IsHTTPS() ? "https" : "http") . "://" . $_SERVER["HTTP_HOST"] : "";
     if ($requestMethod === "GET") {
         if ($siteUrl !== "") {
             $arFilter["CRM_SITE_URL"] = $siteUrl;
         }
         $request = array("METHOD" => "GET", "PATH" => CHTTP::urlAddParams($this->path, $arFilter), "HEADERS" => array());
     } else {
         $request = array("METHOD" => "POST", "PATH" => $this->path, "HEADERS" => array(), "BODY" => array());
         foreach ($arFilter as $key => $val) {
             $request["BODY"][$key] = $val;
         }
         if ($siteUrl !== "") {
             $request["BODY"]["CRM_SITE_URL"] = $siteUrl;
         }
     }
     $response = $this->proxy->Send($request);
     if (is_array($response) && isset($response["BODY"])) {
         return $response["BODY"];
     }
     $errors = array();
     foreach ($this->proxy->GetErrors() as $error) {
         $errors[] = sprintf("[%s] %s", $error[0], $error[1]);
     }
     $status = implode(" ", $errors);
     $this->AddError("GD1", $status);
     CCrmExternalSale::Update($this->externalSaleId, array("LAST_STATUS" => $status));
     return null;
 }
Ejemplo n.º 2
0
if (strlen($arResult["FatalErrorMessage"]) <= 0) {
    if ($_SERVER["REQUEST_METHOD"] == "GET" && strlen($_REQUEST["delete_id"]) > 0 && check_bitrix_sessid()) {
        CCrmExternalSale::Delete($_REQUEST["delete_id"]);
        CAgent::RemoveAgent("CCrmExternalSaleImport::DataSync(" . intval($_REQUEST["delete_id"]) . ");", "crm");
        LocalRedirect($APPLICATION->GetCurPageParam("", array("sessid", "delete_id", "check_id", "sync_id")));
    } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && strlen($_REQUEST["check_id"]) > 0) {
        $errorMessage = "";
        $proxy = new CCrmExternalSaleProxy($_REQUEST["check_id"]);
        if (!$proxy->IsInitialized()) {
            $errorMessage .= GetMessage("CRM_EXT_SALE_C1NO_CONNECT") . "<br>";
        } else {
            $request = array("METHOD" => "GET", "PATH" => "/bitrix/admin/sale_order_new.php", "HEADERS" => array(), "BODY" => array());
            $response = $proxy->Send($request);
            if ($response == null) {
                $errorMessage .= GetMessage("CRM_EXT_SALE_C1ERROR_CONNECT") . "<br>";
                $arErr = $proxy->GetErrors();
                foreach ($arErr as $err) {
                    $errorMessage .= sprintf("[%s] %s<br>", $err[0], htmlspecialcharsbx($err[1]));
                }
            } elseif ($response["STATUS"]["CODE"] != 200) {
                $errorMessage .= sprintf(GetMessage("CRM_EXT_SALE_C1STATUS") . "<br>", $response["STATUS"]["CODE"], $response["STATUS"]["PHRASE"]);
            } elseif (strpos($response["BODY"], "form_auth") !== false) {
                $errorMessage .= GetMessage("CRM_EXT_SALE_C1NO_AUTH") . "<br>";
            }
        }
        $arResult["ErrorMessage"] .= $errorMessage;
        if (strlen($errorMessage) <= 0) {
            $arResult["SuccessMessage"] = GetMessage("CRM_EXT_SALE_C1SUCCESS") . "<br>";
        }
    }
}