public static function PrepareListItems()
 {
     $ary = array();
     $rsSaleSettings = CCrmExternalSale::GetList(array('NAME' => 'ASC', 'SERVER' => 'ASC'), array('ACTIVE' => 'Y'));
     while ($arSaleSetting = $rsSaleSettings->Fetch()) {
         $saleSettingsID = $arSaleSetting['ID'];
         $saleSettingName = isset($arSaleSetting['NAME']) ? strval($arSaleSetting['NAME']) : '';
         if (!isset($saleSettingName[0]) && isset($arSaleSetting['SERVER'])) {
             $saleSettingName = $arSaleSetting['SERVER'];
         }
         if (!isset($saleSettingName[0])) {
             $saleSettingName = $saleSettingsID;
         }
         $ary[$saleSettingsID] = $saleSettingName;
     }
     return $ary;
 }
 public static function DataSync($id)
 {
     global $USER;
     if (!(isset($USER) && (get_class($USER) === 'CUser' || $USER instanceof CUser))) {
         $USER = new CUser();
     }
     $id = intval($id);
     $i = new CCrmExternalSaleImport($id);
     if ($i->IsInitialized()) {
         if ($i->arExternalSale == null) {
             $i->arExternalSale = CCrmExternalSale::GetDefaultSettings($id);
         }
         if ($i->arExternalSale["LABEL"] != "") {
             $i->SyncOrderData(false, false);
         }
         if ($i->arExternalSale["ERRORS"] > 10) {
             $i->NotifyError();
             return;
         }
         return "CCrmExternalSaleImport::DataSync(" . $id . ");";
     }
 }
Exemple #3
0
    ob_start();
    ?>
	<select name="ORIGINATOR_ID">
		<option value=""><?php 
    echo GetMessage("CRM_COLUMN_ALL");
    ?>
</option>
		<option value="__INTERNAL" <?php 
    echo $originatorID === '__INTERNAL' ? 'selected' : '';
    ?>
><?php 
    echo GetMessage("CRM_INTERNAL");
    ?>
</option>
		<?php 
    $dbOriginatorsList = CCrmExternalSale::GetList(array("NAME" => "ASC", "SERVER" => "ASC"), array("ACTIVE" => "Y"));
    while ($arOriginator = $dbOriginatorsList->GetNext()) {
        ?>
<option value="<?php 
        echo $arOriginator["ID"];
        ?>
"<?php 
        echo $originatorID === $arOriginator["ID"] ? " selected" : "";
        ?>
><?php 
        echo empty($arOriginator["NAME"]) ? $arOriginator["SERVER"] : $arOriginator["NAME"];
        ?>
</option><?php 
    }
    ?>
	</select>
Exemple #4
0
         if ($crmUrlPort <= 0) {
             $crmUrlPort = $crmUrlScheme == 'https' ? 443 : 80;
         }
         $arFields["SCHEME"] = $crmUrlScheme;
         $arFields["SERVER"] = $crmUrlHost;
         $arFields["PORT"] = $crmUrlPort;
     }
     if ($arParams["ID"] > 0) {
         //$arFields["MODIFICATION_LABEL"] = $_POST["MODIFICATION_LABEL"];
         if (strlen($_POST["PASSWORD"]) > 0) {
             $arFields["PASSWORD"] = $_POST["PASSWORD"];
         }
         $res = CCrmExternalSale::Update($arParams["ID"], $arFields);
     } else {
         $arFields["PASSWORD"] = $_POST["PASSWORD"];
         $res = CCrmExternalSale::Add($arFields);
     }
     if (!$res) {
         if ($ex = $GLOBALS["APPLICATION"]->GetException()) {
             $errorMessage .= $ex->GetString() . ".<br>";
         } else {
             $errorMessage .= "Unknown error." . "<br>";
         }
     }
 }
 if (strlen($errorMessage) <= 0) {
     $dbAgents = CAgent::GetList(array(), array("NAME" => "CCrmExternalSaleImport::DataSync(" . intval($res) . ");", "MODULE_ID" => "crm"));
     if ($arAgent = $dbAgents->Fetch()) {
         if ($arResult["BP"]["DATA_SYNC_PERIOD"] > 0) {
             if ($arAgent["ACTIVE"] != "Y" || intval($arAgent["AGENT_INTERVAL"] / 60) != $arResult["BP"]["DATA_SYNC_PERIOD"]) {
                 CAgent::Update($arAgent["ID"], array("ACTIVE" => "Y", "AGENT_INTERVAL" => 60 * $arResult["BP"]["DATA_SYNC_PERIOD"]));
 protected static function getDealOriginatorName($originatorID, $htmlEncode = false)
 {
     $rsSaleSttings = CCrmExternalSale::GetList(array(), array('ID' => intval($originatorID)));
     $arSaleSettings = $rsSaleSttings->Fetch();
     if (!is_array($arSaleSettings)) {
         return $originatorID;
     }
     $name = isset($arSaleSettings['NAME']) ? strval($arSaleSettings['NAME']) : '';
     if ($name === '') {
         $name = isset($arSaleSettings['SERVER']) ? strval($arSaleSettings['SERVER']) : '';
     }
     return $htmlEncode ? htmlspecialcharsbx($name) : $name;
 }
Exemple #6
0
            $strCreateOrderHtmlSelect .= '<input type="hidden" name="EXTERNAL_SALE_ID" id="ID_EXTERNAL_SALE_ID" value="' . $arKeys[0] . '" />';
            $strCreateOrderHtmlAction .= "document.getElementById('ID_EXTERNAL_SALE_ID').value";
        } elseif ($salesListCount > 1) {
            $strCreateOrderHtmlSelect .= '<select name="EXTERNAL_SALE_ID" id="ID_EXTERNAL_SALE_ID">';
            foreach ($arSalesList as $key => $val) {
                $strCreateOrderHtmlSelect .= '<option value="' . $key . '">' . $val . '</option>';
            }
            $strCreateOrderHtmlSelect .= '</select> ';
            $strCreateOrderHtmlAction .= "document.getElementById('ID_EXTERNAL_SALE_ID').options[document.getElementById('ID_EXTERNAL_SALE_ID').selectedIndex].value";
        }
        $arResult['FIELDS']['tab_1'][] = array('id' => 'SALE_ORDER', 'name' => GetMessage('CRM_FIELD_SALE_ORDER'), 'type' => 'custom', 'value' => $strCreateOrderHtml, 'persistent' => true);
    }
} else {
    if (intval($arResult['ELEMENT']['ORIGINATOR_ID']) > 0 && intval($arResult['ELEMENT']['ORIGIN_ID']) > 0) {
        $strEditOrderHtml = '<script type="text/javascript">var extSaleGetRemoteFormLocal = {"PRINT":"' . GetMessage("CRM_EXT_SALE_DEJ_PRINT") . '","SAVE":"' . GetMessage("CRM_EXT_SALE_DEJ_SAVE") . '","ORDER":"' . GetMessage("CRM_EXT_SALE_DEJ_ORDER") . '","CLOSE":"' . GetMessage("CRM_EXT_SALE_DEJ_CLOSE") . '"};</script>' . '<input type="hidden" name="SYNC_ORDER_ID" id="ID_SYNC_ORDER_ID" value="" />' . '<input type="hidden" name="SYNC_ORDER_FORM_NAME" id="ID_SYNC_ORDER_FORM_NAME" value="form_' . htmlspecialcharsbx($arResult['FORM_ID']) . '" />';
        $dbSalesList = CCrmExternalSale::GetList(array("NAME" => "ASC", "SERVER" => "ASC"), array("ID" => $arResult['ELEMENT']['ORIGINATOR_ID']));
        if ($arSale = $dbSalesList->GetNext()) {
            $strEditOrderHtml .= $arSale["NAME"] != "" ? $arSale["NAME"] : $arSale["SERVER"];
        }
        $arResult['FIELDS']['tab_1'][] = array('id' => 'SALE_ORDER', 'name' => GetMessage('CRM_FIELD_SALE_ORDER1'), 'type' => 'custom', 'value' => $strEditOrderHtml, 'persistent' => true);
    }
}
$arResult['FIELDS']['tab_1'][] = array('id' => 'section_deal_info', 'name' => GetMessage('CRM_SECTION_DEAL_INFO'), 'type' => 'section');
$arResult['FIELDS']['tab_1'][] = array('id' => 'TITLE', 'name' => GetMessage('CRM_FIELD_TITLE_DEAL'), 'params' => array('size' => 50), 'value' => isset($arResult['ELEMENT']['~TITLE']) ? $arResult['ELEMENT']['~TITLE'] : '', 'type' => 'text');
$arResult['FIELDS']['tab_1'][] = array('id' => 'STAGE_ID', 'name' => GetMessage('CRM_FIELD_STAGE_ID'), 'items' => $arResult['STAGE_LIST'], 'params' => array('sale_order_marker' => 'Y'), 'type' => 'list', 'value' => isset($arResult['ELEMENT']['STAGE_ID']) ? $arResult['ELEMENT']['STAGE_ID'] : '');
$currencyID = CCrmCurrency::GetBaseCurrencyID();
if (isset($arResult['ELEMENT']['CURRENCY_ID']) && $arResult['ELEMENT']['CURRENCY_ID'] !== '') {
    $currencyID = $arResult['ELEMENT']['CURRENCY_ID'];
}
$currencyFld = array('id' => 'CURRENCY_ID', 'name' => GetMessage('CRM_FIELD_CURRENCY_ID'));
if (!$isExternal) {
Exemple #7
0
if (strlen($arParams["PATH_TO_EDIT"]) <= 0) {
    $arParams["PATH_TO_EDIT"] = $APPLICATION->GetCurPage() . "?" . $arParams["PAGE_VAR"] . "=edit&" . $arParams["ID_VAR"] . "=#id#";
}
$arParams["PATH_TO_SYNC"] = trim($arParams["PATH_TO_SYNC"]);
if (strlen($arParams["PATH_TO_SYNC"]) <= 0) {
    $arParams["PATH_TO_SYNC"] = $APPLICATION->GetCurPage() . "?" . $arParams["PAGE_VAR"] . "=sync&" . $arParams["ID_VAR"] . "=#id#";
}
$arResult["FatalErrorMessage"] = "";
$arResult["ErrorMessage"] = "";
$arParams["ID"] = intval($arParams["ID"]);
$arResult["BP"] = false;
$arResult["PATH_TO_INDEX"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_INDEX"], array());
$arResult["PATH_TO_EDIT"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_EDIT"], array("id" => $arParams["ID"]));
if (strlen($arResult["FatalErrorMessage"]) <= 0) {
    if ($arParams["ID"] > 0) {
        $dbRecordsList = CCrmExternalSale::GetList(array(), array("ID" => $arParams["ID"]));
        if ($arRecord = $dbRecordsList->GetNext()) {
            $arResult["BP"] = $arRecord;
        } else {
            $arResult["FatalErrorMessage"] .= GetMessage("BPWC_WLC_WRONG_BP") . ". ";
        }
    } else {
        $arResult["FatalErrorMessage"] .= GetMessage("BPWC_WLC_WRONG_BP") . ". ";
    }
}
if (strlen($arResult["FatalErrorMessage"]) <= 0) {
    if ($arResult["BP"]["ACTIVE"] != "Y") {
        $arResult["FatalErrorMessage"] .= GetMessage("BPWC_WLC_WRONG_BP_ACTIVE") . ". ";
    }
}
$this->IncludeComponentTemplate();
Exemple #8
0
    $arResult['FIELDS']['tab_1'][] = array('id' => 'MODIFY_BY_ID', 'name' => GetMessage('CRM_FIELD_MODIFY_BY_ID'), 'type' => 'custom', 'value' => $sVal);
    $arResult['FIELDS']['tab_1'][] = array('id' => 'DATE_MODIFY', 'name' => GetMessage('CRM_FIELD_DATE_MODIFY'), 'params' => array('size' => 50), 'type' => 'label', 'value' => isset($arResult['ELEMENT']['DATE_MODIFY']) ? FormatDate('x', MakeTimeStamp($arResult['ELEMENT']['DATE_MODIFY']), time() + CTimeZone::GetOffset()) : '');
}
$arResult['USER_FIELD_COUNT'] = $CCrmUserType->AddFields($arResult['FIELDS']['tab_1'], $arResult['ELEMENT']['ID'], $arResult['FORM_ID'], false, true, false, array('FILE_URL_TEMPLATE' => "/bitrix/components/bitrix/crm.deal.show/show_file.php?ownerId=#owner_id#&fieldName=#field_name#&fileId=#file_id#", 'IS_TACTILE' => true));
// <-- ADDITIONAL SECTION
$arResult['FIELDS']['tab_details'][] = array('id' => 'section_details', 'name' => GetMessage('CRM_SECTION_DETAILS'), 'type' => 'section');
// WEB-STORE SECTION -->
$enableWebStore = true;
$strEditOrderHtml = '';
if ($isExternal) {
    $dbSalesList = CCrmExternalSale::GetList(array("NAME" => "ASC", "SERVER" => "ASC"), array("ID" => $arResult['ELEMENT']['ORIGINATOR_ID']));
    if ($arSale = $dbSalesList->GetNext()) {
        $strEditOrderHtml .= $arSale["NAME"] != "" ? $arSale["NAME"] : $arSale["SERVER"];
    }
} else {
    $dbSalesList = CCrmExternalSale::GetList(array(), array("ACTIVE" => "Y"));
    $enableWebStore = $dbSalesList->Fetch() !== false;
}
if ($enableWebStore) {
    $arResult['FIELDS']['tab_details'][] = array('id' => 'section_web_store', 'name' => GetMessage('CRM_SECTION_WEB_STORE'), 'type' => 'section');
    $arResult['FIELDS']['tab_details'][] = array('id' => 'SALE_ORDER', 'name' => GetMessage('CRM_FIELD_SALE_ORDER1'), 'type' => 'custom', 'value' => isset($strEditOrderHtml[0]) ? $strEditOrderHtml : htmlspecialcharsbx(GetMessage('MAIN_NO')));
}
// <-- WEB-STORE SECTION
if ($enableWebStore) {
    $strAdditionalInfoHtml = '';
    if ($isExternal && isset($arResult['ELEMENT']['ADDITIONAL_INFO'])) {
        $arAdditionalInfo = unserialize($arResult['ELEMENT']['~ADDITIONAL_INFO']);
        if (is_array($arAdditionalInfo) && count($arAdditionalInfo) > 0) {
            foreach ($arAdditionalInfo as $k => $v) {
                $msgID = 'CRM_SALE_' . $k;
                $k1 = HasMessage($msgID) ? GetMessage($msgID) : $k;
Exemple #9
0
        }
        $arResult["ErrorMessage"] .= $errorMessage;
        if (strlen($errorMessage) <= 0) {
            $arResult["SuccessMessage"] = GetMessage("CRM_EXT_SALE_C1SUCCESS") . "<br>";
        }
    }
}
if (strlen($arResult["FatalErrorMessage"]) <= 0) {
    $arResult["GRID_ID"] = "crm_config_external_sale";
    $gridOptions = new CGridOptions($arResult["GRID_ID"]);
    $gridColumns = $gridOptions->GetVisibleColumns();
    $gridSort = $gridOptions->GetSorting(array("sort" => array("DATE_UPDATE" => "desc")));
    $arResult["HEADERS"] = array(array("id" => "NAME", "name" => GetMessage("BPWC_WLC_NAME"), "default" => true, "sort" => "NAME"), array("id" => "ACTIVE", "name" => GetMessage("BPWC_WLC_ACTIVE"), "default" => true, "sort" => "ACTIVE"), array("id" => "IMPORT_AGENT", "name" => GetMessage("BPWC_WLC_IMPORT_AGENT"), "default" => true, "sort" => ""), array("id" => "MESSAGE", "name" => GetMessage("BPWC_WLC_MESSAGE"), "default" => true, "sort" => ""), array("id" => "URL", "name" => GetMessage("BPWC_WLC_URL"), "default" => true, "sort" => ""), array("id" => "LAST_STATUS_DATE", "name" => GetMessage("BPWC_WLC_LAST_STATUS_DATE"), "default" => true, "sort" => "LAST_STATUS_DATE"), array("id" => "LAST_STATUS", "name" => GetMessage("BPWC_WLC_STATUS"), "default" => false, "sort" => "LAST_STATUS"), array("id" => "DATE_UPDATE", "name" => GetMessage("BPWC_WLC_DATE_UPDATE"), "default" => false, "sort" => "DATE_UPDATE"), array("id" => "IMPORT_PREFIX", "name" => GetMessage("BPWC_WLC_IMPORT_PREFIX"), "default" => false, "sort" => "IMPORT_PREFIX"), array("id" => "ID", "name" => "ID", "default" => false, "sort" => "ID"), array("id" => "DATE_CREATE", "name" => GetMessage("BPWC_WLC_DATE_CREATE"), "default" => false, "sort" => "DATE_CREATE"), array("id" => "IMPORT_SIZE", "name" => GetMessage("BPWC_WLC_SIZE"), "default" => false, "sort" => "IMPORT_SIZE"), array("id" => "IMPORT_PERIOD", "name" => GetMessage("BPWC_WLC_IMPORT_PERIOD"), "default" => false, "sort" => "IMPORT_PERIOD"), array("id" => "IMPORT_PROBABILITY", "name" => GetMessage("BPWC_WLC_IMPORT_PROBABILITY"), "default" => false, "sort" => "IMPORT_PROBABILITY"), array("id" => "IMPORT_PUBLIC", "name" => GetMessage("BPWC_WLC_IMPORT_PUBLIC"), "default" => false, "sort" => "IMPORT_PUBLIC"));
    $arResult["SORT"] = $gridSort["sort"];
    $arResult["RECORDS"] = array();
    $dbRecordsList = CCrmExternalSale::GetList($gridSort["sort"], array());
    while ($arRecord = $dbRecordsList->GetNext()) {
        $path2Edit = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_EDIT"], array("id" => $arRecord["ID"]));
        $path2Sync = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_SYNC"], array("id" => $arRecord["ID"]));
        $agentInterval = 0;
        $dbAgents = CAgent::GetList(array(), array("NAME" => "CCrmExternalSaleImport::DataSync(" . $arRecord["ID"] . ");", "MODULE_ID" => "crm", "ACTIVE" => "Y"));
        if ($arAgent = $dbAgents->Fetch()) {
            $agentInterval = intval($arAgent["AGENT_INTERVAL"] / 60);
        }
        $v = htmlspecialcharsbx($arRecord["SCHEME"] . "://" . $arRecord["SERVER"] . (intval($arRecord["PORT"]) > 0 ? ":" . $arRecord["PORT"] : ""));
        $aCols = array("URL" => "<a href=\"" . $v . "\" target=\"_blank\">" . $v . "</a>", "ACTIVE" => $arRecord["ACTIVE"] == "Y" ? GetMessage("BPWC_WLC_YES") : GetMessage("BPWC_WLC_NO"), "IMPORT_PUBLIC" => $arRecord["IMPORT_PUBLIC"] == "Y" ? GetMessage("BPWC_WLC_YES") : GetMessage("BPWC_WLC_NO"), "IMPORT_AGENT" => $agentInterval > 0 ? $agentInterval : GetMessage("BPWC_WLC_MANUAL"), "MESSAGE" => "");
        if (intval($arRecord["MODIFICATION_LABEL"]) == 0) {
            $aCols["MESSAGE"] .= "<font class='errortext'>" . GetMessage("BPWC_WLC_NEED_FIRST_SYNC1") . "</font><br /><a href='" . $path2Sync . "'>" . GetMessage("BPWC_WLC_NEED_FIRST_SYNC1_DO") . "</a><br />";
        }
        if ($arRecord["LAST_STATUS"] != "" && strtolower(substr($arRecord["LAST_STATUS"], 0, strlen("success"))) != "success") {
            $aCols["MESSAGE"] .= GetMessage("BPWC_WLC_NEED_FIRST_SYNC3") . $arRecord["LAST_STATUS"];
Exemple #10
0
}
?>
<tr><td>
<form method="post">
	<?php 
if ($currentStep == 1) {
    ?>
		<?php 
    echo GetMessage("CRM_CES_STEP_1");
    ?>
		<?php 
} elseif ($currentStep == 2) {
    if ($id > 0) {
        $arFields = $arRecord;
    } else {
        $cnt = CCrmExternalSale::Count();
        $arFields = array("NAME" => "", "LOGIN" => "", "PASSWORD" => "", "IMPORT_PREFIX" => "EShop" . ($cnt + 1), "SCHEME" => "http", "SERVER" => "", "PORT" => 80);
    }
    if ($arFields["SCHEME"] == "http" && $arFields["PORT"] != 80 || $arFields["SCHEME"] == "https" && $arFields["PORT"] != 443) {
        $arFields["SERVER"] .= ":" . $arFields["PORT"];
    }
    foreach ($arFields as $key => &$value) {
        if (isset($_REQUEST[$key])) {
            $value = htmlspecialcharsbx($_REQUEST[$key]);
        }
    }
    ?>
		<table align="center">
			<tr>
				<td class="bx-popup-label"><span style="color:red;">*</span><?php 
    echo GetMessage("BPWC_WNCW_SHURL");
 public function Send(array $request)
 {
     $method = isset($request['METHOD']) ? strtoupper($request['METHOD']) : '';
     if ($method !== \Bitrix\Main\Web\HttpClient::HTTP_GET && $method !== \Bitrix\Main\Web\HttpClient::HTTP_POST) {
         throw new Bitrix\Main\ArgumentException("Could not find 'METHOD'.", 'request');
     }
     $path = isset($request['PATH']) && is_string($request['PATH']) ? $request['PATH'] : '';
     if ($path === '') {
         throw new Bitrix\Main\ArgumentException("Could not find 'PATH'.", 'request');
     }
     $postData = $method === \Bitrix\Main\Web\HttpClient::HTTP_POST && isset($request['BODY']) ? $request['BODY'] : null;
     if (!$this->client) {
         $this->client = new \Bitrix\Main\Web\HttpClient();
     }
     $this->client->setRedirect(false);
     if ($method === \Bitrix\Main\Web\HttpClient::HTTP_POST && is_array($postData)) {
         //Force UTF encoding
         $this->client->setCharset('UTF-8');
         if ((!isset($request['UTF']) || !$request['UTF']) && !defined('BX_UTF')) {
             $postData = \Bitrix\Main\Text\Encoding::convertEncodingArray($postData, SITE_CHARSET, 'UTF-8');
         }
     }
     $headers = isset($request['HEADERS']) ? $request['HEADERS'] : null;
     if (is_array($headers)) {
         foreach ($headers as $k => $v) {
             $this->client->setHeader($k, $v, true);
         }
     }
     if (!empty($this->cookies)) {
         $this->client->setCookies($this->cookies);
     }
     if ($this->enableProxy) {
         $this->client->setProxy($this->proxyServer, $this->proxyPort, $this->proxyUserName, $this->proxyUserPassword);
     }
     if ($this->userName !== '') {
         $this->client->setAuthorization($this->userName, $this->userPassword);
     }
     $this->client->setHeader('User-Agent', $this->userAgent, true);
     $absolutePath = $this->GetUrl() . $path;
     if (!$this->client->query($method, $absolutePath, $postData)) {
         $this->responseData = null;
         $this->errors = $this->client->getError();
     } else {
         /**@var \Bitrix\Main\Web\HttpHeaders*/
         $responseHeaders = $this->client->getHeaders();
         //STATUS.VERSION & STATUS.PHRASE are delcared for backward compatibility only.
         $this->responseData = array('STATUS' => array('VERSION' => '', 'CODE' => $this->client->getStatus(), 'PHRASE' => ''), 'CONTENT' => array('TYPE' => $this->client->getContentType(), 'ENCODING' => $this->client->getCharset()), 'HEADERS' => $responseHeaders, 'BODY' => $this->client->getResult());
         if ($responseHeaders->get('Set-Cookie', false) !== null) {
             $this->cookies = array_merge($this->cookies, $this->client->getCookies()->toArray());
             CCrmExternalSale::Update($this->externalSaleId, array('COOKIE' => serialize($this->cookies)));
         }
         $this->errors = array();
     }
     return $this->responseData;
 }