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; }
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>"; } } }