diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6fc67cef..3f4b8d9a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 2024-06-20 v.6.5.20
+- Рефакторинг настроек модуля
+
## 2024-06-14 v.6.5.19
- Исправление работы программы лояльности при использовании подтверждения списание бонусов по SMS
diff --git a/intaro.retailcrm/description.ru b/intaro.retailcrm/description.ru
index ea1200e2..e65e0a05 100644
--- a/intaro.retailcrm/description.ru
+++ b/intaro.retailcrm/description.ru
@@ -1 +1 @@
-- Исправление работы программы лояльности при использовании Подтверждения списание бонусов по SMS
+- Рефакторинг настроек модуля
diff --git a/intaro.retailcrm/install/index.php b/intaro.retailcrm/install/index.php
index 07606fa1..0a8e7fb9 100644
--- a/intaro.retailcrm/install/index.php
+++ b/intaro.retailcrm/install/index.php
@@ -47,48 +47,7 @@ class intaro_retailcrm extends CModule
public $PARTNER_URI;
public $RETAIL_CRM_API;
public $RETAIL_CRM_EXPORT = 'retailcrm';
- public $CRM_API_HOST_OPTION = 'api_host';
- public $CRM_API_KEY_OPTION = 'api_key';
- public $CRM_SITES_LIST = 'sites_list';
- public $CRM_ORDER_TYPES_ARR = 'order_types_arr';
- public $CRM_DELIVERY_TYPES_ARR = 'deliv_types_arr';
- public $CRM_DELIVERY_SERVICES_ARR = 'deliv_services_arr';
- public $CRM_INTEGRATION_DELIVERY = 'integration_delivery';
- public $CRM_PAYMENT_TYPES = 'pay_types_arr';
- public $CRM_PAYMENT_STATUSES = 'pay_statuses_arr';
- public $CRM_PAYMENT = 'payment_arr';
- public $CRM_INTEGRATION_PAYMENT = 'integration_payment';
- public $CRM_ORDER_LAST_ID = 'order_last_id';
- public $CRM_ORDER_PROPS = 'order_props';
- public $CRM_LEGAL_DETAILS = 'legal_details';
- public $CRM_CONTRAGENT_TYPE = 'contragent_type';
- public $CRM_ORDER_DISCHARGE = 'order_discharge';
- public $CRM_ORDER_FAILED_IDS = 'order_failed_ids';
- public $CRM_ORDER_HISTORY = 'order_history';
- public $CRM_CUSTOMER_HISTORY = 'customer_history';
- public $CRM_CATALOG_BASE_PRICE = 'catalog_base_price';
- public $CRM_ORDER_NUMBERS = 'order_numbers';
- public $CRM_CANSEL_ORDER = 'cansel_order';
- public $CRM_CURRENCY = 'currency';
- public $CRM_ADDRESS_OPTIONS = 'address_options';
- public $CRM_INVENTORIES_UPLOAD = 'inventories_upload';
- public $CRM_STORES = 'stores';
- public $CRM_SHOPS = 'shops';
- public $CRM_IBLOCKS_INVENTORIES = 'iblocks_inventories';
- public $CRM_PRICES_UPLOAD = 'prices_upload';
- public $CRM_PRICES = 'prices';
- public $CRM_PRICE_SHOPS = 'price_shops';
- public $CRM_IBLOCKS_PRICES = 'iblock_prices';
- public $CRM_COLLECTOR = 'collector';
- public $CRM_COLL_KEY = 'coll_key';
- public $CRM_UA = 'ua';
- public $CRM_UA_KEYS = 'ua_keys';
- public $CRM_API_VERSION = 'api_version';
- public $HISTORY_TIME = 'history_time';
- public $CLIENT_ID = 'client_id';
- public $PROTOCOL = 'protocol';
public $INSTALL_PATH;
- public $SITES_AVAILABLE = 'sites_available';
public function __construct()
{
@@ -195,7 +154,8 @@ class intaro_retailcrm extends CModule
include($this->INSTALL_PATH . '/../classes/general/RestNormalizer.php');
include($this->INSTALL_PATH . '/../classes/general/Logger.php');
include($this->INSTALL_PATH . '/../classes/general/services/RetailCrmService.php');
- $version = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_VERSION, 0);
+ include($this->INSTALL_PATH . '/../lib/component/constants.php');
+ $version = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_VERSION, 0);
include($this->INSTALL_PATH . '/../classes/general/ApiClient_v5.php');
include($this->INSTALL_PATH . '/../classes/general/order/RetailCrmOrder_v5.php');
include($this->INSTALL_PATH . '/../classes/general/history/RetailCrmHistory_v5.php');
@@ -238,7 +198,6 @@ class intaro_retailcrm extends CModule
include($this->INSTALL_PATH . '/../lib/repository/tomodulerepository.php');
include($this->INSTALL_PATH . '/../lib/model/bitrix/orm/tomodule.php');
include($this->INSTALL_PATH . '/../lib/model/bitrix/agreement.php');
- include($this->INSTALL_PATH . '/../lib/component/constants.php');
include($this->INSTALL_PATH . '/../lib/repository/agreementrepository.php');
include($this->INSTALL_PATH . '/../lib/service/orderloyaltydataservice.php');
include($this->INSTALL_PATH . '/../lib/service/currencyservice.php');
@@ -275,10 +234,10 @@ class intaro_retailcrm extends CModule
$arResult['errCode'] = 'ERR_CATALOG';
}
- if ($api_host = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_API_HOST_OPTION, 0)) {
+ if ($api_host = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_API_HOST_OPTION , 0)) {
$arResult['API_HOST'] = $api_host;
}
- if ($api_key = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_API_KEY_OPTION, 0)) {
+ if ($api_key = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_API_KEY_OPTION, 0)) {
$arResult['API_KEY'] = $api_key;
}
@@ -307,8 +266,8 @@ class intaro_retailcrm extends CModule
return false;
}
- $api_host = htmlspecialchars(trim($_POST[$this->CRM_API_HOST_OPTION]));
- $api_key = htmlspecialchars(trim($_POST[$this->CRM_API_KEY_OPTION]));
+ $api_host = htmlspecialchars(trim($_POST[Constants::CRM_API_HOST_OPTION]));
+ $api_key = htmlspecialchars(trim($_POST[Constants::CRM_API_KEY_OPTION]));
// form correct url
$api_host = parse_url($api_host);
@@ -341,10 +300,10 @@ class intaro_retailcrm extends CModule
return false;
}
- COption::SetOptionString($this->MODULE_ID, $this->CRM_API_HOST_OPTION, $api_host);
- COption::SetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, $api_key);
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_API_HOST_OPTION, $api_host);
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_API_KEY_OPTION, $api_key);
- if ($sites_list = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_SITES_LIST, 0)) {
+ if ($sites_list = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_SITES_LIST, 0)) {
$arResult['SITES_LIST'] = unserialize($sites_list);
}
@@ -373,8 +332,8 @@ class intaro_retailcrm extends CModule
$arResult['arSites'] = RCrmActions::getSitesList();
if (count($arResult['arSites']) > 1) {
- $api_host = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_HOST_OPTION, 0);
- $api_key = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, 0);
+ $api_host = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_HOST_OPTION, 0);
+ $api_key = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_KEY_OPTION, 0);
$isEmptySites = true;
foreach ($arResult['arSites'] as $site) {
@@ -422,10 +381,10 @@ class intaro_retailcrm extends CModule
}
$this->RETAIL_CRM_API = new ApiClient($api_host, $api_key);
- COption::SetOptionString($this->MODULE_ID, $this->CRM_SITES_LIST, serialize($siteCode));
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_SITES_LIST, serialize($siteCode));
} else {
- $api_host = htmlspecialchars(trim($_POST[$this->CRM_API_HOST_OPTION]));
- $api_key = htmlspecialchars(trim($_POST[$this->CRM_API_KEY_OPTION]));
+ $api_host = htmlspecialchars(trim($_POST[Constants::CRM_API_HOST_OPTION]));
+ $api_key = htmlspecialchars(trim($_POST[Constants::CRM_API_KEY_OPTION]));
// form correct url
$api_host = parse_url($api_host);
@@ -457,16 +416,16 @@ class intaro_retailcrm extends CModule
}
$this->RETAIL_CRM_API = new ApiClient($api_host, $api_key);
- COption::SetOptionString($this->MODULE_ID, $this->CRM_API_HOST_OPTION, $api_host);
- COption::SetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, $api_key);
- COption::SetOptionString($this->MODULE_ID, $this->CRM_SITES_LIST, serialize([]));
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_API_HOST_OPTION, $api_host);
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_API_KEY_OPTION, $api_key);
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_SITES_LIST, serialize([]));
try {
$credentials = $this->RETAIL_CRM_API->getCredentials();
COption::SetOptionString(
$this->MODULE_ID,
- $this->SITES_AVAILABLE,
+ Constants::SITES_AVAILABLE,
$credentials->sitesAvailable[0] ?? ''
);
} catch (ArgumentOutOfRangeException | CurlException $exception) {
@@ -552,19 +511,19 @@ class intaro_retailcrm extends CModule
//bitrix statusesList --statuses
$arResult['bitrixStatusesList'] = RCrmActions::StatusesList();
- if ($order_types = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_ORDER_TYPES_ARR, 0)) {
+ if ($order_types = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_ORDER_TYPES_ARR, 0)) {
$arResult['ORDER_TYPES'] = array_flip(unserialize($order_types));
}
- if ($delivery_types = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_DELIVERY_TYPES_ARR, 0)) {
+ if ($delivery_types = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_DELIVERY_TYPES_ARR, 0)) {
$arResult['DELIVERY_TYPES'] = array_flip(unserialize($delivery_types));
}
- if ($payment_types = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_PAYMENT_TYPES, 0)) {
+ if ($payment_types = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_PAYMENT_TYPES, 0)) {
$arResult['PAYMENT_TYPES'] = array_flip(unserialize($payment_types));
}
- if ($payment_statuses = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_PAYMENT_STATUSES, 0)) {
+ if ($payment_statuses = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_PAYMENT_STATUSES, 0)) {
$arResult['PAYMENT_STATUSES'] = array_flip(unserialize($payment_statuses));
}
- if ($payment = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_PAYMENT, 0)) {
+ if ($payment = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_PAYMENT, 0)) {
$arResult['PAYMENT'] = array_flip(unserialize($payment));
}
@@ -583,8 +542,8 @@ class intaro_retailcrm extends CModule
}
// api load
- $api_host = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_HOST_OPTION, 0);
- $api_key = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, 0);
+ $api_host = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_HOST_OPTION, 0);
+ $api_key = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_KEY_OPTION, 0);
$this->RETAIL_CRM_API = new ApiClient($api_host, $api_key);
$useCrmOrderMethods = htmlspecialchars(trim($_POST['use_crm_order_methods'])) === 'Y' ? 'Y' : 'N';
@@ -698,16 +657,16 @@ class intaro_retailcrm extends CModule
$request = Application::getInstance()->getContext()->getRequest();
if ($request->isHttps() === true) {
- COption::SetOptionString($this->MODULE_ID, $this->PROTOCOL, 'https://');
+ COption::SetOptionString($this->MODULE_ID, Constants::PROTOCOL, 'https://');
} else {
- COption::SetOptionString($this->MODULE_ID, $this->PROTOCOL, 'http://');
+ COption::SetOptionString($this->MODULE_ID, Constants::PROTOCOL, 'http://');
}
// Set order types
if (!empty($orderTypesArr)) {
COption::SetOptionString(
$this->MODULE_ID,
- $this->CRM_ORDER_TYPES_ARR,
+ Constants::CRM_ORDER_TYPES_ARR,
serialize(RCrmActions::clearArr($orderTypesArr)
)
);
@@ -717,7 +676,7 @@ class intaro_retailcrm extends CModule
if (!empty($deliveryTypesArr)) {
COption::SetOptionString(
$this->MODULE_ID,
- $this->CRM_DELIVERY_TYPES_ARR,
+ Constants::CRM_DELIVERY_TYPES_ARR,
serialize(RCrmActions::clearArr($deliveryTypesArr)
)
);
@@ -727,7 +686,7 @@ class intaro_retailcrm extends CModule
if (!empty($paymentTypesArr)) {
COption::SetOptionString(
$this->MODULE_ID,
- $this->CRM_PAYMENT_TYPES,
+ Constants::CRM_PAYMENT_TYPES,
serialize(RCrmActions::clearArr($paymentTypesArr)
)
);
@@ -737,7 +696,7 @@ class intaro_retailcrm extends CModule
if (!empty($paymentStatusesArr)) {
COption::SetOptionString(
$this->MODULE_ID,
- $this->CRM_PAYMENT_STATUSES,
+ Constants::CRM_PAYMENT_STATUSES,
serialize(RCrmActions::clearArr($paymentStatusesArr)
)
);
@@ -747,33 +706,33 @@ class intaro_retailcrm extends CModule
if (!empty($paymentArr)) {
COption::SetOptionString(
$this->MODULE_ID,
- $this->CRM_PAYMENT,
+ Constants::CRM_PAYMENT,
serialize(RCrmActions::clearArr($paymentArr)
)
);
}
- COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_LAST_ID, 0);
- COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_DISCHARGE, 1);
- COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_FAILED_IDS, serialize([]));
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_ORDER_LAST_ID, 0);
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_ORDER_DISCHARGE, 1);
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_ORDER_FAILED_IDS, serialize([]));
// Set cansel order
if (!empty($canselOrderArr)) {
COption::SetOptionString(
$this->MODULE_ID,
- $this->CRM_CANSEL_ORDER,
+ Constants::CRM_CANCEL_ORDER,
serialize(RCrmActions::clearArr($canselOrderArr)
)
);
}
- if ($orderProps = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_ORDER_PROPS, 0)) {
+ if ($orderProps = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_ORDER_PROPS, 0)) {
$arResult['ORDER_PROPS'] = unserialize($orderProps);
}
- if ($legalDetails = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_LEGAL_DETAILS, 0)) {
+ if ($legalDetails = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_LEGAL_DETAILS, 0)) {
$arResult['LEGAL_DETAILS'] = unserialize($legalDetails);
}
- if ($contragentType = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_CONTRAGENT_TYPE, 0)) {
+ if ($contragentType = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_CONTRAGENT_TYPE, 0)) {
$arResult['CONTRAGENT_TYPES'] = unserialize($contragentType);
}
@@ -801,7 +760,7 @@ class intaro_retailcrm extends CModule
$this->loadDeps();
RetailCrmOrder::uploadOrders(); // each 50
- $lastUpOrderId = COption::GetOptionString($this->MODULE_ID, $this->CRM_ORDER_LAST_ID, 0);
+ $lastUpOrderId = COption::GetOptionString($this->MODULE_ID, Constants::CRM_ORDER_LAST_ID, 0);
$countLeft = (int) OrderTable::getCount(['>ID' => $lastUpOrderId]);
$countAll = (int) OrderTable::getCount();
@@ -873,10 +832,10 @@ class intaro_retailcrm extends CModule
$contragentTypeArr[$orderType['ID']] = htmlspecialchars(trim($_POST['contragent-type-' . $orderType['ID']]));
}
- COption::SetOptionString($this->MODULE_ID, $this->CRM_ADDRESS_OPTIONS, serialize($addressDetailOptions));
- COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_PROPS, serialize(RCrmActions::clearArr($orderPropsArr)));
- COption::SetOptionString($this->MODULE_ID, $this->CRM_LEGAL_DETAILS, serialize(RCrmActions::clearArr($legalDetailsArr)));
- COption::SetOptionString($this->MODULE_ID, $this->CRM_CONTRAGENT_TYPE, serialize(RCrmActions::clearArr($contragentTypeArr)));
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_ADDRESS_OPTIONS, serialize($addressDetailOptions));
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_ORDER_PROPS, serialize(RCrmActions::clearArr($orderPropsArr)));
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_LEGAL_DETAILS, serialize(RCrmActions::clearArr($legalDetailsArr)));
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_CONTRAGENT_TYPE, serialize(RCrmActions::clearArr($contragentTypeArr)));
$APPLICATION->IncludeAdminFile(
GetMessage('MODULE_INSTALL_TITLE'), $this->INSTALL_PATH . '/step4.php'
@@ -914,12 +873,12 @@ class intaro_retailcrm extends CModule
$arResult['errCode'] = 'ERR_SALE';
}
- $api_host = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_HOST_OPTION, 0);
- $api_key = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, 0);
+ $api_host = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_HOST_OPTION, 0);
+ $api_key = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_KEY_OPTION, 0);
$api = new ApiClient($api_host, $api_key);
$customerH = $this->historyLoad($api, 'customersHistory');
- COption::SetOptionString($this->MODULE_ID, $this->CRM_CUSTOMER_HISTORY, $customerH);
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_CUSTOMERS_HISTORY_SINCE_ID, $customerH);
//new data
if ($historyDate = COption::GetOptionString($this->OLD_MODULE_ID, 'order_history_date', 0)) {
@@ -948,10 +907,10 @@ class intaro_retailcrm extends CModule
$orderH = $this->historyLoad($api, 'ordersHistory');
}
- COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_HISTORY, $orderH);
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_ORDER_HISTORY, $orderH);
- if ($orderLastId = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_ORDER_LAST_ID, 0)) {
- COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_LAST_ID, $orderLastId);
+ if ($orderLastId = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_ORDER_LAST_ID, 0)) {
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_ORDER_LAST_ID, $orderLastId);
} else {
$dbOrder = OrderTable::GetList([
'order' => ['ID' => 'DESC'],
@@ -960,14 +919,14 @@ class intaro_retailcrm extends CModule
]);
$arOrder = $dbOrder->fetch();
if (!empty($arOrder['ID'])) {
- COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_LAST_ID, $arOrder['ID']);
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_ORDER_LAST_ID, $arOrder['ID']);
} else {
- COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_LAST_ID, 0);
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_ORDER_LAST_ID, 0);
}
}
- if ($orderFailedIds = COption::GetOptionString($this->OLD_MODULE_ID, $this->CRM_ORDER_FAILED_IDS, 0)) {
- COption::SetOptionString($this->MODULE_ID, $this->CRM_ORDER_FAILED_IDS, $orderFailedIds);
+ if ($orderFailedIds = COption::GetOptionString($this->OLD_MODULE_ID, Constants::CRM_ORDER_FAILED_IDS, 0)) {
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_ORDER_FAILED_IDS, $orderFailedIds);
}
$arResult['PRICE_TYPES'] = [];
@@ -1140,11 +1099,11 @@ class intaro_retailcrm extends CModule
RegisterModuleDependences('main', 'OnAfterUserAdd', $this->MODULE_ID, 'RetailCrmEvent', 'OnAfterUserAdd');
- COption::SetOptionString($this->MODULE_ID, $this->CRM_CATALOG_BASE_PRICE, htmlspecialchars(trim($_POST['price-types'])));
- COption::SetOptionString($this->MODULE_ID, $this->CRM_INVENTORIES_UPLOAD, 'N');
- COption::SetOptionString($this->MODULE_ID, $this->CRM_PRICES_UPLOAD, 'N');
- COption::SetOptionString($this->MODULE_ID, $this->CRM_COLLECTOR, 'N');
- COption::SetOptionString($this->MODULE_ID, $this->CRM_UA, 'N');
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_CATALOG_BASE_PRICE, htmlspecialchars(trim($_POST['price-types'])));
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_INVENTORIES_UPLOAD, 'N');
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_PRICES_UPLOAD, 'N');
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_COLLECTOR, 'N');
+ COption::SetOptionString($this->MODULE_ID, Constants::CRM_UA, 'N');
//agent
$dateAgent = new DateTime();
@@ -1164,7 +1123,7 @@ class intaro_retailcrm extends CModule
$this->CopyFiles();
- COption::RemoveOption($this->MODULE_ID, $this->CRM_CATALOG_BASE_PRICE);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_CATALOG_BASE_PRICE);
if (
file_exists($_SERVER['DOCUMENT_ROOT']
@@ -1217,7 +1176,7 @@ class intaro_retailcrm extends CModule
COption::SetOptionString(
$this->MODULE_ID,
- $this->CRM_CATALOG_BASE_PRICE . '_' . $profileId,
+ Constants::CRM_CATALOG_BASE_PRICE . '_' . $profileId,
htmlspecialchars(trim($_POST['price-types']))
);
@@ -1239,8 +1198,8 @@ class intaro_retailcrm extends CModule
CCatalogExport::PreGenerateExport($profileId);
}
- $api_host = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_HOST_OPTION, 0);
- $api_key = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, 0);
+ $api_host = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_HOST_OPTION, 0);
+ $api_key = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_KEY_OPTION, 0);
$this->RETAIL_CRM_API = new ApiClient($api_host, $api_key);
RCrmActions::sendConfiguration($this->RETAIL_CRM_API);
@@ -1255,9 +1214,6 @@ class intaro_retailcrm extends CModule
{
global $APPLICATION;
- $api_host = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_HOST_OPTION, 0);
- $api_key = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, 0);
-
require_once($this->INSTALL_PATH . '/../classes/general/Http/Client.php');
require_once($this->INSTALL_PATH . '/../classes/general/Response/ApiResponse.php');
require_once($this->INSTALL_PATH . '/../classes/general/Exception/InvalidJsonException.php');
@@ -1269,6 +1225,9 @@ class intaro_retailcrm extends CModule
require_once($this->INSTALL_PATH . '/../classes/general/history/RetailCrmHistory_v5.php');
require_once($this->INSTALL_PATH . '/../lib/component/constants.php');
require_once($this->INSTALL_PATH . '/../classes/general/cart/RetailCrmCart_v5.php');
+
+ $api_host = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_HOST_OPTION, 0);
+ $api_key = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_KEY_OPTION, 0);
RCrmActions::sendConfiguration(new ApiClient($api_host, $api_key), false);
@@ -1276,45 +1235,45 @@ class intaro_retailcrm extends CModule
CAgent::RemoveAgent('RetailCrmInventories::inventoriesUpload();', $this->MODULE_ID);
CAgent::RemoveAgent('RetailCrmPrices::pricesUpload();', $this->MODULE_ID);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_API_HOST_OPTION);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_API_KEY_OPTION);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_DELIVERY_TYPES_ARR);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_INTEGRATION_DELIVERY);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_PAYMENT_TYPES);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_PAYMENT_STATUSES);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_PAYMENT);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_INTEGRATION_PAYMENT);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_ORDER_LAST_ID);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_ORDER_PROPS);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_ORDER_TYPES_ARR);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_LEGAL_DETAILS);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_CONTRAGENT_TYPE);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_SITES_LIST);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_ORDER_DISCHARGE);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_ORDER_FAILED_IDS);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_CUSTOMER_HISTORY);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_ORDER_HISTORY);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_CATALOG_BASE_PRICE);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_CURRENCY);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_ADDRESS_OPTIONS);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_ORDER_NUMBERS);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_CANSEL_ORDER);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_INVENTORIES_UPLOAD);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_STORES);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_SHOPS);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_IBLOCKS_INVENTORIES);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_PRICES_UPLOAD);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_PRICES);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_PRICE_SHOPS);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_IBLOCKS_PRICES);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_COLLECTOR);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_COLL_KEY);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_UA);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_UA_KEYS);
- COption::RemoveOption($this->MODULE_ID, $this->CRM_API_VERSION);
- COption::RemoveOption($this->MODULE_ID, $this->HISTORY_TIME);
- COption::RemoveOption($this->MODULE_ID, $this->CLIENT_ID);
- COption::RemoveOption($this->MODULE_ID, $this->PROTOCOL);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_API_HOST_OPTION);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_API_KEY_OPTION);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_DELIVERY_TYPES_ARR);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_INTEGRATION_DELIVERY);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_PAYMENT_TYPES);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_PAYMENT_STATUSES);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_PAYMENT);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_INTEGRATION_PAYMENT);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_ORDER_LAST_ID);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_ORDER_PROPS);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_ORDER_TYPES_ARR);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_LEGAL_DETAILS);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_CONTRAGENT_TYPE);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_SITES_LIST);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_ORDER_DISCHARGE);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_ORDER_FAILED_IDS);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_CUSTOMERS_HISTORY_SINCE_ID);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_ORDER_HISTORY);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_CATALOG_BASE_PRICE);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_CURRENCY);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_ADDRESS_OPTIONS);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_ORDER_NUMBERS);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_CANCEL_ORDER);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_INVENTORIES_UPLOAD);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_STORES);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_SHOPS);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_IBLOCKS_INVENTORIES);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_PRICES_UPLOAD);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_PRICES);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_PRICE_SHOPS);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_IBLOCKS_PRICES);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_COLLECTOR);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_COLL_KEY);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_UA);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_UA_KEYS);
+ COption::RemoveOption($this->MODULE_ID, Constants::CRM_API_VERSION);
+ COption::RemoveOption($this->MODULE_ID, Constants::HISTORY_TIME);
+ COption::RemoveOption($this->MODULE_ID, Constants::CLIENT_ID);
+ COption::RemoveOption($this->MODULE_ID, Constants::PROTOCOL);
COption::RemoveOption($this->MODULE_ID, Constants::MATCHED_CUSTOM_PROPS);
COption::RemoveOption($this->MODULE_ID, Constants::MATCHED_CUSTOM_USER_FIELDS);
COption::RemoveOption($this->MODULE_ID, Constants::CRM_ORDER_METHODS);
diff --git a/intaro.retailcrm/install/step1.php b/intaro.retailcrm/install/step1.php
index 4a84799e..119e74d0 100644
--- a/intaro.retailcrm/install/step1.php
+++ b/intaro.retailcrm/install/step1.php
@@ -1,5 +1,8 @@
-
diff --git a/intaro.retailcrm/install/step2.php b/intaro.retailcrm/install/step2.php
index 42f31222..ebe29754 100644
--- a/intaro.retailcrm/install/step2.php
+++ b/intaro.retailcrm/install/step2.php
@@ -1,29 +1,20 @@
paymentTypesList()->paymentTypes
);
- $arResult['PAYMENT_TYPES'] = unserialize(COption::GetOptionString($MODULE_ID, $CRM_PAYMENT_TYPES, 0));
+ $arResult['PAYMENT_TYPES'] = unserialize(COption::GetOptionString(Constants::MODULE_ID, Constants::CRM_PAYMENT_TYPES, 0));
}
if (!isset($arResult['bitrixStatusesList'])) {
@@ -68,7 +59,7 @@ if (!isset($arResult['orderTypesList'])) {
if (!isset($arResult['paymentStatusesList'])) {
$arResult['paymentStatusesList'] = $RETAIL_CRM_API->paymentStatusesList()->paymentStatuses;
- $arResult['PAYMENT_STATUSES'] = unserialize(COption::GetOptionString($MODULE_ID, $CRM_PAYMENT_STATUSES, 0));
+ $arResult['PAYMENT_STATUSES'] = unserialize(COption::GetOptionString(Constants::MODULE_ID, Constants::CRM_PAYMENT_STATUSES, 0));
}
if (!isset($arResult['bitrixDeliveryTypesList'])) {
@@ -77,7 +68,7 @@ if (!isset($arResult['bitrixDeliveryTypesList'])) {
$availableSites,
$RETAIL_CRM_API->deliveryTypesList()->deliveryTypes
);
- $arResult['DELIVERY_TYPES'] = unserialize(COption::GetOptionString($MODULE_ID, $CRM_DELIVERY_TYPES_ARR, 0));
+ $arResult['DELIVERY_TYPES'] = unserialize(COption::GetOptionString(Constants::MODULE_ID, Constants::CRM_DELIVERY_TYPES_ARR, 0));
}
//bitrix pyament Y/N
diff --git a/intaro.retailcrm/install/step3.php b/intaro.retailcrm/install/step3.php
index 5f80208a..f4a21b0f 100644
--- a/intaro.retailcrm/install/step3.php
+++ b/intaro.retailcrm/install/step3.php
@@ -1,5 +1,6 @@
'6.5.19',
- 'VERSION_DATE' => '2024-06-14 13:12:00'
+ 'VERSION' => '6.5.20',
+ 'VERSION_DATE' => '2024-06-20 17:40:00'
];
diff --git a/intaro.retailcrm/lang/en/options.php b/intaro.retailcrm/lang/en/options.php
index 5e6da8ea..d40b3cc6 100644
--- a/intaro.retailcrm/lang/en/options.php
+++ b/intaro.retailcrm/lang/en/options.php
@@ -154,3 +154,9 @@ $MESS ['FIX_UPLOAD_CUSTOMER_BUTTON_LABEL'] = 'Correct customer registration date
$MESS ['FIX_UPLOAD_CUSTOMER_INFO'] = 'When you press this button, an agent will be created to launch the script. Please note that the script execution time may vary depending on the number of clients in the database. To minimize possible disruptions to the script operation, it is recommended to launch it at night time. This script can only be launched once';
$MESS ['FIX_UPLOAD_CUSTOMER_AFTER_SUBMIT'] = 'The agent has been created and will be launched soon';
$MESS ['FIX_UPLOAD_CUSTOMER_AFTER_SUBMIT_ERROR'] = 'An error occurred while adding an agent';
+
+$MESS ['ICRM_OPTIONS_GENERAL_CAPTION'] = 'Setting up connection to the RetailCRM system';
+$MESS ['ICRM_OPTIONS_CATALOG_CAPTION'] = 'Comparison of RetailCRM and Bitrix system directories';
+$MESS ['ICRM_OPTIONS_ORDER_PROPS_CAPTION'] = 'Comparison of order fields of RetailCRM and Bitrix systems';
+$MESS ['ICRM_OPTIONS_LOYALTY_PROGRAM_CAPTION'] = 'Setting up work with the loyalty program';
+$MESS ['ICRM_OPTIONS_OTHER_CAPTION'] = 'Setting up additional options for integration with the RetailCRM system';
diff --git a/intaro.retailcrm/lang/ru/options.php b/intaro.retailcrm/lang/ru/options.php
index d57691e9..a5804cc1 100644
--- a/intaro.retailcrm/lang/ru/options.php
+++ b/intaro.retailcrm/lang/ru/options.php
@@ -8,6 +8,13 @@ $MESS ['ICRM_API_HOST'] = 'Адрес RetailCRM:';
$MESS ['ICRM_API_KEY'] = 'Ключ авторизации:';
$MESS ['ICRM_SITES'] = 'Активные сайты';
+$MESS ['ICRM_OPTIONS_GENERAL_CAPTION'] = 'Настройка подключения к системе RetailCRM';
+$MESS ['ICRM_OPTIONS_CATALOG_CAPTION'] = 'Сопоставление справочников системы RetailCRM и Bitrix';
+$MESS ['ICRM_OPTIONS_ORDER_PROPS_CAPTION'] = 'Сопоставление полей заказа системы RetailCRM и Bitrix';
+$MESS ['ICRM_OPTIONS_LOYALTY_PROGRAM_CAPTION'] = 'Настройка работы с программой лояльности';
+$MESS ['ICRM_OPTIONS_OTHER_CAPTION'] = 'Настройка дополнительных опций интеграции c системой RetailCRM';
+
+
$MESS ['ICRM_OPTIONS_CATALOG_TAB'] = 'Настройка справочников';
$MESS ['DELIVERY_TYPES_LIST'] = 'Способы доставки';
$MESS ['PAYMENT_TYPES_LIST'] = 'Способы оплаты';
diff --git a/intaro.retailcrm/lib/component/constants.php b/intaro.retailcrm/lib/component/constants.php
index f18e2a21..4e703674 100644
--- a/intaro.retailcrm/lib/component/constants.php
+++ b/intaro.retailcrm/lib/component/constants.php
@@ -69,6 +69,7 @@ class Constants
public const CRM_ORDER_FAILED_IDS = 'order_failed_ids';
public const CRM_CUSTOMERS_HISTORY_SINCE_ID = 'customer_history';
public const CRM_ORDER_HISTORY_DATE = 'order_history_date';
+ public const CRM_ORDER_HISTORY = 'order_history';
public const CRM_CATALOG_BASE_PRICE = 'catalog_base_price';
public const CRM_ORDER_DIMENSIONS = 'order_dimensions';
public const CRM_INTEGRATION_DELIVERY = 'integration_delivery';
@@ -128,4 +129,8 @@ class Constants
public const OPTION_FIX_DATE_CUSTOMER = 'once_upload_customer';
public const OPTION_FIX_DATE_CUSTOMER_LAST_ID = 'last_id_customer_fix';
+ public const HISTORY_TIME = 'history_time';
+ public const MODULE_DEACTIVATE = 'module_deactivate';
+ public const AGENTS_DEACTIVATE = 'agents_deactivate';
+ public const EVENTS_DEACTIVATE = 'events_deactivate';
}
diff --git a/intaro.retailcrm/options.php b/intaro.retailcrm/options.php
index 442c0d22..b23b9292 100644
--- a/intaro.retailcrm/options.php
+++ b/intaro.retailcrm/options.php
@@ -21,54 +21,6 @@ IncludeModuleLangFile(__FILE__);
$mid = 'intaro.retailcrm';
$uri = $APPLICATION->GetCurPage() . '?mid=' . htmlspecialchars($mid) . '&lang=' . LANGUAGE_ID;
-$CRM_API_HOST_OPTION = 'api_host';
-$CRM_API_KEY_OPTION = 'api_key';
-$CRM_ORDER_TYPES_ARR = 'order_types_arr';
-$CRM_DELIVERY_TYPES_ARR = 'deliv_types_arr';
-$CRM_DELIVERY_SERVICES_ARR = 'deliv_services_arr';
-$CRM_PAYMENT_TYPES = 'pay_types_arr';
-$CRM_PAYMENT_STATUSES = 'pay_statuses_arr';
-$CRM_PAYMENT = 'payment_arr';
-$CRM_ORDER_LAST_ID = 'order_last_id';
-$CRM_ORDER_SITES = 'sites_ids';
-$CRM_ORDER_DISCHARGE = 'order_discharge';
-$CRM_ORDER_PROPS = 'order_props';
-$CRM_LEGAL_DETAILS = 'legal_details';
-$CRM_CUSTOM_FIELDS = 'custom_fields';
-$CRM_COUPON_FIELD = 'crm_coupon_field';
-$CRM_CONTRAGENT_TYPE = 'contragent_type';
-$CRM_SITES_LIST = 'sites_list';
-$CRM_ORDER_NUMBERS = 'order_numbers';
-$CRM_ORDER_VAT = 'order_vat';
-$CRM_CANSEL_ORDER = 'cansel_order';
-$CRM_INVENTORIES_UPLOAD = 'inventories_upload';
-$CRM_STORES = 'stores';
-$CRM_SHOPS = 'shops';
-$CRM_IBLOCKS_INVENTORIES = 'iblocks_inventories';
-$CRM_PRICES_UPLOAD = 'prices_upload';
-$CRM_PRICES = 'prices';
-$CRM_PRICE_SHOPS = 'price_shops';
-$CRM_IBLOCKS_PRICES = 'iblock_prices';
-$CRM_COLLECTOR = 'collector';
-$CRM_COLL_KEY = 'coll_key';
-$CRM_UA = 'ua';
-$CRM_UA_KEYS = 'ua_keys';
-$CRM_DISCOUNT_ROUND = 'discount_round';
-$CRM_CC = 'cc';
-$CRM_CORP_SHOPS = 'shops-corporate';
-$CRM_CORP_NAME = 'nickName-corporate';
-$CRM_CORP_ADRES = 'adres-corporate';
-$CRM_API_VERSION = 'api_version';
-$CRM_CURRENCY = 'currency';
-$CRM_ADDRESS_OPTIONS = 'address_options';
-$CRM_DIMENSIONS = 'order_dimensions';
-$PROTOCOL = 'protocol';
-$CRM_PURCHASE_PRICE_NULL = 'purchasePrice_null';
-$CRM_CART = 'cart';
-$MODULE_DEACTIVATE = 'module_deactivate';
-$AGENTS_DEACTIVATE = 'agents_deactivate';
-$EVENTS_DEACTIVATE = 'events_deactivate';
-
if (!CModule::IncludeModule('intaro.retailcrm') || !CModule::IncludeModule('sale') || !CModule::IncludeModule('iblock') || !CModule::IncludeModule('catalog')) {
return;
}
@@ -130,8 +82,8 @@ if (method_exists(RCrmActions::class, 'customOrderPropList')
//ajax update deliveryServices
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') && isset($_POST['ajax']) && ($_POST['ajax'] === 1)) {
- $api_host = COption::GetOptionString($mid, $CRM_API_HOST_OPTION, 0);
- $api_key = COption::GetOptionString($mid, $CRM_API_KEY_OPTION, 0);
+ $api_host = COption::GetOptionString($mid, Constants::CRM_API_HOST_OPTION, 0);
+ $api_key = COption::GetOptionString($mid, Constants::CRM_API_KEY_OPTION , 0);
$api = new RetailCrm\ApiClient($api_host, $api_key);
try {
@@ -147,7 +99,7 @@ if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && (strtolower($_SERVER['HTTP_X_RE
die(json_encode(['success' => false, 'errMsg' => $e->getCode()]));
}
- $optionsDelivTypes = unserialize(COption::GetOptionString($mid, $CRM_DELIVERY_TYPES_ARR, 0));
+ $optionsDelivTypes = unserialize(COption::GetOptionString($mid, Constants::CRM_DELIVERY_TYPES_ARR, 0));
$arDeliveryServiceAll = Manager::getActiveList();
foreach ($optionsDelivTypes as $key => $deliveryType) {
@@ -354,7 +306,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
$paymentArr['Y'] = htmlspecialchars(trim($_POST['payment-Y']));
$paymentArr['N'] = htmlspecialchars(trim($_POST['payment-N']));
- $previousDischarge = COption::GetOptionString($mid, $CRM_ORDER_DISCHARGE, 0);
+ $previousDischarge = COption::GetOptionString($mid, Constants::CRM_ORDER_DISCHARGE, 0);
//order discharge mode
// 0 - agent
// 1 - event
@@ -370,7 +322,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
RegisterModuleDependences('sale', 'OnSaleOrderDeleted', $mid, 'RetailCrmEvent', "orderDelete");
}
- $optionCart = COption::GetOptionString($mid, $CRM_CART, 'N');
+ $optionCart = COption::GetOptionString($mid, Constants::CART, 'N');
$cart = htmlspecialchars(trim($_POST['cart']));
@@ -595,7 +547,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
//version
- $version = COption::GetOptionString($mid, $CRM_API_VERSION);
+ $version = COption::GetOptionString($mid, Constants::CRM_API_VERSION);
if (htmlspecialchars(trim($_POST['api_version'])) != $version) {
if (htmlspecialchars(trim($_POST['api_version'])) === 'v5') {
@@ -621,15 +573,15 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
);
if ($result->getStatusCode() === 200) {
- COption::SetOptionString($mid, $CRM_API_VERSION, $version);
+ COption::SetOptionString($mid, Constants::CRM_API_VERSION, $version);
} else {
LocalRedirect($uri);
echo CAdminMessage::ShowMessage(GetMessage('API_NOT_WORK'));
}
}
- if ($_POST[$CRM_CURRENCY]) {
- COption::SetOptionString($mid, $CRM_CURRENCY, $_POST['currency']);
+ if ($_POST[Constants::CRM_CURRENCY]) {
+ COption::SetOptionString($mid, Constants::CRM_CURRENCY, $_POST['currency']);
}
if (isset($_POST['loyalty_toggle']) && $_POST['loyalty_toggle'] === 'on') {
@@ -706,17 +658,17 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
}
if ($deactivateAgents !== []) {
- COption::SetOptionString($mid, $AGENTS_DEACTIVATE, serialize($deactivateAgents));
+ COption::SetOptionString($mid, Constants::AGENTS_DEACTIVATE, serialize($deactivateAgents));
}
if ($deactivateEvents !== []) {
- COption::SetOptionString($mid, $EVENTS_DEACTIVATE, serialize($deactivateEvents));
+ COption::SetOptionString($mid, Constants::EVENTS_DEACTIVATE, serialize($deactivateEvents));
}
RCrmActions::sendConfiguration($api, false);
} else {
- $deactivateAgents = unserialize(COption::GetOptionString($mid, $AGENTS_DEACTIVATE, ''));
- $deactivateEvents = unserialize(COption::GetOptionString($mid, $EVENTS_DEACTIVATE, ''));
+ $deactivateAgents = unserialize(COption::GetOptionString($mid, Constants::AGENTS_DEACTIVATE, ''));
+ $deactivateEvents = unserialize(COption::GetOptionString($mid, Constants::EVENTS_DEACTIVATE, ''));
if (!empty($deactivateAgents)) {
$dateAgent = new DateTime();
@@ -736,7 +688,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
);
}
- COption::SetOptionString($mid, $AGENTS_DEACTIVATE, serialize([]));
+ COption::SetOptionString($mid, Constants::AGENTS_DEACTIVATE, serialize([]));
}
if (!empty($deactivateEvents)) {
@@ -762,7 +714,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
}
}
- COption::SetOptionString($mid, $EVENTS_DEACTIVATE, serialize([]));
+ COption::SetOptionString($mid, Constants::EVENTS_DEACTIVATE, serialize([]));
}
RCrmActions::sendConfiguration($api);
@@ -770,72 +722,72 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
COption::SetOptionString(
$mid,
- $MODULE_DEACTIVATE,
+ Constants::MODULE_DEACTIVATE,
serialize($moduleDeactivateParam)
);
COption::SetOptionString(
$mid,
- $CRM_ADDRESS_OPTIONS,
+ Constants::CRM_ADDRESS_OPTIONS,
serialize($addressDatailOptions)
);
COption::SetOptionString(
$mid,
- $CRM_SITES_LIST,
+ Constants::CRM_SITES_LIST,
serialize($siteListArr)
);
COption::SetOptionString(
$mid,
- $CRM_ORDER_TYPES_ARR,
+ Constants::CRM_ORDER_TYPES_ARR,
serialize(RCrmActions::clearArr(is_array($orderTypesArr) ? $orderTypesArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_DELIVERY_TYPES_ARR,
+ Constants::CRM_DELIVERY_TYPES_ARR,
serialize(RCrmActions::clearArr(is_array($deliveryTypesArr) ? $deliveryTypesArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_PAYMENT_TYPES,
+ Constants::CRM_PAYMENT_TYPES,
serialize(RCrmActions::clearArr(is_array($paymentTypesArr) ? $paymentTypesArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_PAYMENT_STATUSES,
+ Constants::CRM_PAYMENT_STATUSES,
serialize(RCrmActions::clearArr(is_array($paymentStatusesArr) ? $paymentStatusesArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_PAYMENT,
+ Constants::CRM_PAYMENT,
serialize(RCrmActions::clearArr(is_array($paymentArr) ? $paymentArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_ORDER_DISCHARGE,
+ Constants::CRM_ORDER_DISCHARGE,
$orderDischarge
);
COption::SetOptionString(
$mid,
- $CRM_ORDER_PROPS,
+ Constants::CRM_ORDER_PROPS,
serialize(RCrmActions::clearArr(is_array($orderPropsArr) ? $orderPropsArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_CONTRAGENT_TYPE,
+ Constants::CRM_CONTRAGENT_TYPE,
serialize(RCrmActions::clearArr(is_array($contragentTypeArr) ? $contragentTypeArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_LEGAL_DETAILS,
+ Constants::CRM_LEGAL_DETAILS,
serialize(RCrmActions::clearArr(is_array($legalDetailsArr) ? $legalDetailsArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_ORDER_NUMBERS,
+ Constants::CRM_ORDER_NUMBERS,
htmlspecialchars(trim($_POST['order-numbers'])) ?: 'N'
);
COption::SetOptionString(
$mid,
- $CRM_ORDER_VAT,
+ Constants::CRM_ORDER_VAT,
htmlspecialchars(trim($_POST['order-vat'])) ?: 'N'
);
@@ -910,7 +862,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
COption::SetOptionString(
$mid,
- $CRM_COUPON_FIELD,
+ Constants::CRM_COUPON_FIELD,
htmlspecialchars(trim($_POST['crm-coupon-field'])) ?: 'N'
);
COption::SetOptionString(
@@ -920,32 +872,32 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
);
COption::SetOptionString(
$mid,
- $CRM_CANSEL_ORDER,
+ Constants::CRM_CANCEL_ORDER,
serialize(RCrmActions::clearArr(is_array($canselOrderArr) ? $canselOrderArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_INVENTORIES_UPLOAD,
+ Constants::CRM_INVENTORIES_UPLOAD,
$inventoriesUpload
);
COption::SetOptionString(
$mid,
- $CRM_STORES,
+ Constants::CRM_STORES,
serialize(RCrmActions::clearArr(is_array($bitrixStoresArr) ? $bitrixStoresArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_SHOPS,
+ Constants::CRM_SHOPS,
serialize(RCrmActions::clearArr(is_array($bitrixShopsArr) ? $bitrixShopsArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_IBLOCKS_INVENTORIES,
+ Constants::CRM_IBLOCKS_INVENTORIES,
serialize(RCrmActions::clearArr(is_array($bitrixIblocksInventories) ? $bitrixIblocksInventories : []))
);
COption::SetOptionString(
$mid,
- $CRM_PRICES_UPLOAD,
+ Constants::CRM_PRICES_UPLOAD,
$pricesUpload
);
COption::SetOptionString(
@@ -960,27 +912,27 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
);
COption::SetOptionString(
$mid,
- $CRM_PRICES,
+ Constants::CRM_PRICES,
serialize(RCrmActions::clearArr(is_array($bitrixPricesArr) ? $bitrixPricesArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_PRICE_SHOPS,
+ Constants::CRM_PRICE_SHOPS,
serialize(RCrmActions::clearArr(is_array($bitrixPriceShopsArr) ? $bitrixPriceShopsArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_IBLOCKS_PRICES,
+ Constants::CRM_IBLOCKS_PRICES,
serialize(RCrmActions::clearArr(is_array($bitrixIblocksPrices) ? $bitrixIblocksPrices : []))
);
COption::SetOptionString(
$mid,
- $CRM_COLLECTOR,
+ Constants::CRM_COLLECTOR,
$collector
);
COption::SetOptionString(
$mid,
- $CRM_COLL_KEY,
+ Constants::CRM_COLL_KEY,
serialize(RCrmActions::clearArr(is_array($collectorKeys) ? $collectorKeys : []))
);
@@ -989,25 +941,25 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
COption::SetOptionString(
$mid,
- $CRM_UA,
+ Constants::CRM_UA,
$ua
);
COption::SetOptionString(
$mid,
- $CRM_UA_KEYS,
+ Constants::CRM_UA_KEYS,
serialize(RCrmActions::clearArr(is_array($uaKeys) ? $uaKeys : []))
);
COption::SetOptionString(
$mid,
- $CRM_DIMENSIONS,
- htmlspecialchars(trim($_POST[$CRM_DIMENSIONS])) ?: 'N'
+ Constants::CRM_DIMENSIONS,
+ htmlspecialchars(trim($_POST[Constants::CRM_DIMENSIONS])) ?: 'N'
);
RetailcrmConfigProvider::setSendPaymentAmount(htmlspecialchars(trim($_POST[Constants::SEND_PAYMENT_AMOUNT])) ?: 'N');
RetailCrmConfigProvider::setDiscountRound($discount_round);
RetailcrmConfigProvider::setCart($optionCart);
COption::SetOptionString(
$mid,
- $CRM_PURCHASE_PRICE_NULL,
+ Constants::CRM_PURCHASE_PRICE_NULL,
$purchasePrice_null
);
COption::SetOptionString(
@@ -1015,22 +967,22 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
RetailcrmConstants::CRM_SHIPMENT_DEDUCTED, $shipment_deducted);
COption::SetOptionString(
$mid,
- $CRM_CC,
+ Constants::CRM_CC,
$cc
);
COption::SetOptionString(
$mid,
- $CRM_CORP_SHOPS,
+ Constants::CRM_CORP_SHOPS,
serialize(RCrmActions::clearArr(is_array($bitrixCorpShopsArr) ? $bitrixCorpShopsArr : []))
);
COption::SetOptionString(
$mid,
- $CRM_CORP_NAME,
+ Constants::CRM_CORP_NAME,
$bitrixCorpName
);
COption::SetOptionString(
$mid,
- $CRM_CORP_ADRES,
+ Constants::CRM_CORP_ADDRESS,
$bitrixCorpAdres
);
@@ -1065,9 +1017,9 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
$request = Application::getInstance()->getContext()->getRequest();
if ($request->isHttps() === true) {
- COption::SetOptionString($mid, $PROTOCOL, 'https://');
+ COption::SetOptionString($mid, Constants::PROTOCOL, 'https://');
} else {
- COption::SetOptionString($mid, $PROTOCOL, 'http://');
+ COption::SetOptionString($mid, Constants::PROTOCOL, 'http://');
}
if ($error !== null) {
@@ -1078,8 +1030,8 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
LocalRedirect($uri);
} else {
- $api_host = COption::GetOptionString($mid, $CRM_API_HOST_OPTION, 0);
- $api_key = COption::GetOptionString($mid, $CRM_API_KEY_OPTION, 0);
+ $api_host = COption::GetOptionString($mid, Constants::CRM_API_HOST_OPTION, 0);
+ $api_key = COption::GetOptionString($mid, Constants::CRM_API_KEY_OPTION , 0);
$api = new RetailCrm\ApiClient($api_host, $api_key);
// Prepare crm lists
@@ -1239,61 +1191,61 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
//saved params
$useCrmOrderMethods = ConfigProvider::useCrmOrderMethods();
$crmOrderMethods = unserialize(COption::GetOptionString($mid, Constants::CRM_ORDER_METHODS, 0));
- $moduleDeactivate = unserialize(COption::GetOptionString($mid, $MODULE_DEACTIVATE, 'N'));
- $optionsOrderTypes = unserialize(COption::GetOptionString($mid, $CRM_ORDER_TYPES_ARR, 0));
- $optionsDelivTypes = unserialize(COption::GetOptionString($mid, $CRM_DELIVERY_TYPES_ARR, 0));
- $optionsPayTypes = unserialize(COption::GetOptionString($mid, $CRM_PAYMENT_TYPES, 0));
- $optionsPayStatuses = unserialize(COption::GetOptionString($mid, $CRM_PAYMENT_STATUSES, 0));
- $optionsPayment = unserialize(COption::GetOptionString($mid, $CRM_PAYMENT, 0));
- $optionsSitesList = unserialize(COption::GetOptionString($mid, $CRM_SITES_LIST, 0));
- $optionsDischarge = (int) COption::GetOptionString($mid, $CRM_ORDER_DISCHARGE, 0);
- $optionsOrderProps = unserialize(COption::GetOptionString($mid, $CRM_ORDER_PROPS, 0));
- $optionsContragentType = unserialize(COption::GetOptionString($mid, $CRM_CONTRAGENT_TYPE, 0));
- $optionsLegalDetails = unserialize(COption::GetOptionString($mid, $CRM_LEGAL_DETAILS, 0));
- $optionsCustomFields = unserialize(COption::GetOptionString($mid, $CRM_CUSTOM_FIELDS, 0));
- $optionsOrderNumbers = COption::GetOptionString($mid, $CRM_ORDER_NUMBERS, 0);
- $optionsOrderVat = COption::GetOptionString($mid, $CRM_ORDER_VAT, 0);
+ $moduleDeactivate = unserialize(COption::GetOptionString($mid, Constants::MODULE_DEACTIVATE, 'N'));
+ $optionsOrderTypes = unserialize(COption::GetOptionString($mid, Constants::CRM_ORDER_TYPES_ARR, 0));
+ $optionsDelivTypes = unserialize(COption::GetOptionString($mid, Constants::CRM_DELIVERY_TYPES_ARR, 0));
+ $optionsPayTypes = unserialize(COption::GetOptionString($mid, Constants::CRM_PAYMENT_TYPES, 0));
+ $optionsPayStatuses = unserialize(COption::GetOptionString($mid, Constants::CRM_PAYMENT_STATUSES, 0));
+ $optionsPayment = unserialize(COption::GetOptionString($mid, Constants::CRM_PAYMENT, 0));
+ $optionsSitesList = unserialize(COption::GetOptionString($mid, Constants::CRM_SITES_LIST, 0));
+ $optionsDischarge = (int) COption::GetOptionString($mid, Constants::CRM_ORDER_DISCHARGE, 0);
+ $optionsOrderProps = unserialize(COption::GetOptionString($mid, Constants::CRM_ORDER_PROPS, 0));
+ $optionsContragentType = unserialize(COption::GetOptionString($mid, Constants::CRM_CONTRAGENT_TYPE, 0));
+ $optionsLegalDetails = unserialize(COption::GetOptionString($mid, Constants::CRM_LEGAL_DETAILS, 0));
+ $optionsCustomFields = unserialize(COption::GetOptionString($mid, Constants::CRM_CUSTOM_FIELDS, 0));
+ $optionsOrderNumbers = COption::GetOptionString($mid, Constants::CRM_ORDER_NUMBERS, 0);
+ $optionsOrderVat = COption::GetOptionString($mid, Constants::CRM_ORDER_VAT, 0);
$optionsOrderTrackNumber = ConfigProvider::getTrackNumberStatus();
$optionsSyncIntegrationPayment = ConfigProvider::getSyncIntegrationPayment();
- $canselOrderArr = unserialize(COption::GetOptionString($mid, $CRM_CANSEL_ORDER, 0));
+ $canselOrderArr = unserialize(COption::GetOptionString($mid, Constants::CRM_CANCEL_ORDER, 0));
$sendPickupPointAddress = COption::GetOptionString($mid, Constants::CRM_SEND_PICKUP_POINT_ADDRESS, 'N');
- $optionInventotiesUpload = COption::GetOptionString($mid, $CRM_INVENTORIES_UPLOAD, 0);
- $optionStores = unserialize(COption::GetOptionString($mid, $CRM_STORES, 0));
- $optionShops = unserialize(COption::GetOptionString($mid, $CRM_SHOPS, 0));
- $optionIblocksInventories = unserialize(COption::GetOptionString($mid, $CRM_IBLOCKS_INVENTORIES, 0));
- $optionShopsCorporate = unserialize(COption::GetOptionString($mid, $CRM_SHOPS, 0));
+ $optionInventotiesUpload = COption::GetOptionString($mid, Constants::CRM_INVENTORIES_UPLOAD, 0);
+ $optionStores = unserialize(COption::GetOptionString($mid, Constants::CRM_STORES, 0));
+ $optionShops = unserialize(COption::GetOptionString($mid, Constants::CRM_SHOPS, 0));
+ $optionIblocksInventories = unserialize(COption::GetOptionString($mid, Constants::CRM_IBLOCKS_INVENTORIES, 0));
+ $optionShopsCorporate = unserialize(COption::GetOptionString($mid, Constants::CRM_SHOPS, 0));
- $optionPricesUpload = COption::GetOptionString($mid, $CRM_PRICES_UPLOAD, 0);
- $optionPrices = unserialize(COption::GetOptionString($mid, $CRM_PRICES, 0));
- $optionPriceShops = unserialize(COption::GetOptionString($mid, $CRM_PRICE_SHOPS, 0));
- $optionIblocksPrices = unserialize(COption::GetOptionString($mid, $CRM_IBLOCKS_PRICES, 0));
+ $optionPricesUpload = COption::GetOptionString($mid, Constants::CRM_PRICES_UPLOAD, 0);
+ $optionPrices = unserialize(COption::GetOptionString($mid, Constants::CRM_PRICES, 0));
+ $optionPriceShops = unserialize(COption::GetOptionString($mid, Constants::CRM_PRICE_SHOPS, 0));
+ $optionIblocksPrices = unserialize(COption::GetOptionString($mid, Constants::CRM_IBLOCKS_PRICES, 0));
- $optionCollector = COption::GetOptionString($mid, $CRM_COLLECTOR, 0);
- $optionCollectorKeys = unserialize(COption::GetOptionString($mid, $CRM_COLL_KEY));
+ $optionCollector = COption::GetOptionString($mid, Constants::CRM_COLLECTOR, 0);
+ $optionCollectorKeys = unserialize(COption::GetOptionString($mid, Constants::CRM_COLL_KEY));
$optionOnlineConsultant = RetailcrmConfigProvider::isOnlineConsultantEnabled();
$optionOnlineConsultantScript = RetailcrmConfigProvider::getOnlineConsultantScript();
- $optionUa = COption::GetOptionString($mid, $CRM_UA, 0);
- $optionUaKeys = unserialize(COption::GetOptionString($mid, $CRM_UA_KEYS));
+ $optionUa = COption::GetOptionString($mid, Constants::CRM_UA, 0);
+ $optionUaKeys = unserialize(COption::GetOptionString($mid, Constants::CRM_UA_KEYS));
- $optionDiscRound = COption::GetOptionString($mid, $CRM_DISCOUNT_ROUND, 0);
- $optionPricePrchaseNull = COption::GetOptionString($mid, $CRM_PURCHASE_PRICE_NULL, 0);
+ $optionDiscRound = COption::GetOptionString($mid, Constants::CRM_DISCOUNT_ROUND, 0);
+ $optionPricePrchaseNull = COption::GetOptionString($mid, Constants::CRM_PURCHASE_PRICE_NULL, 0);
$optionShipmentDeducted = RetailcrmConfigProvider::getShipmentDeducted();
//corporate-cliente
- $optionCorpClient = COption::GetOptionString($mid, $CRM_CC, 0);
- $optionCorpShops = unserialize(COption::GetOptionString($mid, $CRM_CORP_SHOPS, 0));
- $optionsCorpComName = COption::GetOptionString($mid, $CRM_CORP_NAME, 0);
- $optionsCorpAdres = COption::GetOptionString($mid, $CRM_CORP_ADRES, 0);
+ $optionCorpClient = COption::GetOptionString($mid, Constants::CRM_CC, 0);
+ $optionCorpShops = unserialize(COption::GetOptionString($mid, Constants::CRM_CORP_SHOPS, 0));
+ $optionsCorpComName = COption::GetOptionString($mid, Constants::CRM_CORP_NAME, 0);
+ $optionsCorpAdres = COption::GetOptionString($mid, Constants::CRM_CORP_ADDRESS, 0);
- $version = COption::GetOptionString($mid, $CRM_API_VERSION, 0);
+ $version = COption::GetOptionString($mid, Constants::CRM_API_VERSION, 0);
$optionsFixDateCustomer = COption::GetOptionString($mid, RetailcrmConstants::OPTION_FIX_DATE_CUSTOMER, 0);
// Old functional
- $currencyOption = COption::GetOptionString($mid, $CRM_CURRENCY, 0) ?: CCurrency::GetBaseCurrency();
+ $currencyOption = COption::GetOptionString($mid, Constants::CRM_CURRENCY, 0) ?: CCurrency::GetBaseCurrency();
//Validate currency
$currencyList = CurrencyManager::getCurrencyList();
@@ -1339,7 +1291,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
}
$customFields = [['code' => '__default_empty_value__', 'name' => GetMessage('SELECT_VALUE')]];
- $crmCouponFieldOption = COption::GetOptionString($mid, $CRM_COUPON_FIELD, 0) ?: null;
+ $crmCouponFieldOption = COption::GetOptionString($mid, Constants::CRM_COUPON_FIELD, 0) ?: null;
$page = 1;
do {
@@ -1356,10 +1308,10 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
$page++;
} while($getCustomFields['pagination']['currentPage'] < $getCustomFields['pagination']['totalPageCount']);
- $optionsOrderDimensions = COption::GetOptionString($mid, $CRM_DIMENSIONS, 'N');
- $addressOptions = unserialize(COption::GetOptionString($mid, $CRM_ADDRESS_OPTIONS, 0));
+ $optionsOrderDimensions = COption::GetOptionString($mid, Constants::CRM_DIMENSIONS, 'N');
+ $addressOptions = unserialize(COption::GetOptionString($mid, Constants::CRM_ADDRESS_OPTIONS, 0));
- $optionCart = COption::GetOptionString($mid, $CRM_CART, 'N');
+ $optionCart = COption::GetOptionString($mid, Constants::CART, 'N');
//loyalty program options
$loyaltyProgramToggle = ConfigProvider::getLoyaltyProgramStatus();
@@ -1387,7 +1339,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
"DIV" => "edit4",
"TAB" => GetMessage('LOYALTY_PROGRAM_TITLE'),
"ICON" => '',
- "TITLE" => GetMessage('ICRM_OPTIONS_ORDER_DISCHARGE_CAPTION'),
+ "TITLE" => GetMessage('ICRM_OPTIONS_LOYALTY_PROGRAM_CAPTION'),
],
[
"DIV" => "edit5",
@@ -1405,7 +1357,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
"DIV" => "edit7",
"TAB" => GetMessage('OTHER_OPTIONS'),
"ICON" => '',
- "TITLE" => GetMessage('ICRM_OPTIONS_ORDER_DISCHARGE_CAPTION'),
+ "TITLE" => GetMessage('ICRM_OPTIONS_OTHER_CAPTION'),
]
];
$tabControl = new CAdminTabControl("tabControl", $aTabs);