7use \Bitrix\Main\Loader;
8use \Bitrix\Sale\Result;
9use \Bitrix\Sale\Shipment;
11Loader::includeModule(
"sale");
13Loader::registerAutoLoadClasses(
16 'Bitrix\\Sale\\Delivery\\Pecom\\Request' =>
'ru/delivery/pecom/request.php',
17 'Bitrix\\Sale\\Delivery\\Pecom\\Adapter' =>
'ru/delivery/pecom/adapter.php',
18 'Bitrix\\Sale\\Delivery\\Pecom\\Calculator' =>
'ru/delivery/pecom/calculator.php',
19 'Bitrix\\Sale\\Delivery\\Pecom\\Location' =>
'ru/delivery/pecom/location.php'
29require_once(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/sale/lib/delivery/inputs.php");
39 public static function Init()
45 'DESCRIPTION' =>
GetMessage(
'SALE_DH_PECOM_DESCRIPTION').
' <a href="http://pecom.ru">http://pecom.ru</a>',
46 'DESCRIPTION_INNER' =>
GetMessage(
'SALE_DH_PECOM_DESCRIPTION').
' <a href="http://pecom.ru">http://pecom.ru</a>',
47 'BASE_CURRENCY' =>
'RUB',
48 'HANDLER' => __FILE__,
51 'DBGETSETTINGS' =>
array(
'CDeliveryPecom',
'getSettings'),
52 'DBSETSETTINGS' =>
array(
'CDeliveryPecom',
'setSettings'),
53 'GETCONFIG' =>
array(
'CDeliveryPecom',
'getConfig'),
54 'GETFEATURES' =>
array(
'CDeliveryPecom',
'getFeatures'),
55 'COMPABILITY' =>
array(
'CDeliveryPecom',
'compability'),
56 'CALCULATOR' =>
array(
'CDeliveryPecom',
'calculate'),
57 'GETEXTRAINFOPARAMS' =>
array(
'CDeliveryPecom',
'getExtraInfoParams'),
58 'GETORDERSACTIONSLIST' =>
array(
'CDeliveryPecom',
'getActionsList'),
59 'EXECUTEACTION' =>
array(
'CDeliveryPecom',
'executeAction'),
60 'GET_ADMIN_MESSAGE' =>
array(
'CDeliveryPecom',
'getAdminMessage'),
61 'EXEC_ADMIN_ACTION' =>
array(
'CDeliveryPecom',
'execAdminAction'),
62 'GET_ADD_INFO_SHIPMENT_VIEW' =>
array(
'CDeliveryPecom',
'getAdditionalInfoShipmentView'),
63 'GET_ADD_INFO_SHIPMENT_EDIT' =>
array(
'CDeliveryPecom',
'getAdditionalInfoShipmentEdit'),
64 'PROCESS_ADD_INFO_SHIPMENT_EDIT' =>
array(
'CDeliveryPecom',
'processAdditionalInfoShipmentEdit'),
69 "TITLE" =>
GetMessage(
"SALE_DH_PECOM_AUTO_TITLE"),
70 "DESCRIPTION" =>
GetMessage(
"SALE_DH_PECOM_AUTO_DESCR"),
71 'RESTRICTIONS_WEIGHT' =>
array(0, 0),
72 'RESTRICTIONS_SUM' =>
array(0),
74 'RESTRICTIONS_DIMENSIONS' =>
array(
"425",
"265",
"380")
77 "TITLE" =>
GetMessage(
"SALE_DH_PECOM_AVIA_TITLE"),
78 "DESCRIPTION" =>
GetMessage(
"SALE_DH_PECOM_AVIA_DESCR"),
79 'RESTRICTIONS_WEIGHT' =>
array(0, 0),
80 'RESTRICTIONS_SUM' =>
array(0),
82 'RESTRICTIONS_DIMENSIONS' =>
array(
"425",
"265",
"380")
92 $locationsTo = Adapter::mapLocation($arOrder[
"LOCATION_TO"]);
94 if(
count($locationsTo) > 1)
98 foreach($locationsTo as $locId => $locName)
100 $locValues[$locId] = $locName;
104 "TYPE" =>
"DROPDOWN",
105 "TITLE" =>
GetMessage(
"SALE_DH_PECOM_EXTRA_LOCATION"),
106 "VALUES" => $locValues
118 $locDescription = [];
119 if (!empty($arShopLocation) && is_array($arShopLocation))
121 $descriptionFields = [
127 foreach ($descriptionFields as $fieldName)
129 $value = trim((
string)($arShopLocation[$fieldName] ??
''));
132 $locDescription[] = $value;
136 $locString = implode(
', ', $locDescription);
138 $locDelivery = Adapter::mapLocation($shopLocationId);
141 'CONFIG_GROUPS' =>
array(
142 'exchange_sett' =>
GetMessage(
'SALE_DH_PECOM_EXCH_TITLE'),
143 'add_services' =>
GetMessage(
'SALE_DH_PECOM_ADD_SERVICES_TITLE'),
144 'auto' =>
GetMessage(
'SALE_DH_PECOM_AUTO_TITLE'),
145 'avia' =>
GetMessage(
'SALE_DH_PECOM_AVIA_TITLE'),
151 "TITLE" =>
GetMessage(
'SALE_DH_PECOM_EXCH_LOGIN'),
152 "GROUP" =>
"exchange_sett"
156 "TITLE" =>
GetMessage(
'SALE_DH_PECOM_EXCH_KEY'),
157 "GROUP" =>
"exchange_sett"
162 "TITLE" =>
GetMessage(
'SALE_DH_PECOM_EXCH_NAME'),
163 "GROUP" =>
"exchange_sett"
167 "TITLE" =>
GetMessage(
'SALE_DH_PECOM_EXCH_INN'),
168 "GROUP" =>
"exchange_sett"
173 "TITLE" =>
GetMessage(
'SALE_DH_PECOM_EXCH_CITY'),
174 "DEFAULT" => $locString,
175 "GROUP" =>
"exchange_sett"
177 "CITY_DELIVERY" =>
array(
178 "TYPE" =>
"DROPDOWN",
179 "TITLE" =>
GetMessage(
'SALE_DH_PECOM_EXCH_CITY_DELIVERY'),
180 "VALUES" => $locDelivery,
181 "GROUP" =>
"exchange_sett"
186 "TITLE" =>
GetMessage(
'SALE_DH_PECOM_EXCH_PHONE'),
187 "GROUP" =>
"exchange_sett"
190 "PAYMENT_FORM" =>
array(
191 "TYPE" =>
"DROPDOWN",
192 "DEFAULT" => self::$PAYER_BUYER,
193 "TITLE" =>
GetMessage(
'SALE_DH_PECOM_AS_PAYMENT_FORM'),
194 "GROUP" =>
"exchange_sett",
196 self::$PAYER_SHOP =>
GetMessage(
'SALE_DH_PECOM_AS_PAYMENT_BANK'),
197 self::$PAYER_BUYER =>
GetMessage(
'SALE_DH_PECOM_AS_PAYMENT_KASSA')
201 "SERVICE_TAKE" =>
array(
203 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_TAKE'),
204 'GROUP' =>
'add_services',
207 "SERVICE_TAKE_ENABLED" =>
array(
208 'TYPE' =>
'CHECKBOX',
209 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_TAKE_ENABLE'),
210 'GROUP' =>
'add_services',
212 'HIDE_BY_NAMES' =>
array(
'SERVICE_TAKE_TENT_ENABLED',
'SERVICE_TAKE_HYDRO_ENABLED')
215 "SERVICE_TAKE_TENT_ENABLED" =>
array(
216 'TYPE' =>
'CHECKBOX',
217 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_TAKE_TENT'),
218 'GROUP' =>
'add_services',
222 "SERVICE_TAKE_HYDRO_ENABLED" =>
array(
223 'TYPE' =>
'CHECKBOX',
224 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_TAKE_HYDRO'),
225 'GROUP' =>
'add_services',
229 "SERVICE_DELIVERY" =>
array(
231 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_DELIVERY'),
232 'GROUP' =>
'add_services',
235 "SERVICE_DELIVERY_ENABLED" =>
array(
236 'TYPE' =>
'CHECKBOX',
237 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_DELIVERY_ENABLE'),
238 'GROUP' =>
'add_services',
240 'HIDE_BY_NAMES' =>
array(
'SERVICE_DELIVERY_TENT_ENABLED',
'SERVICE_DELIVERY_HYDRO_ENABLED',
'SERVICE_OTHER_DELIVERY_PAYER')
243 "SERVICE_DELIVERY_TENT_ENABLED" =>
array(
244 'TYPE' =>
'CHECKBOX',
245 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_DELIVERY_TENT'),
246 'GROUP' =>
'add_services',
250 "SERVICE_DELIVERY_HYDRO_ENABLED" =>
array(
251 'TYPE' =>
'CHECKBOX',
252 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_DELIVERY_HYDRO'),
253 'GROUP' =>
'add_services',
257 "SERVICE_OTHER_DELIVERY_PAYER" =>
array(
258 'TYPE' =>
'DROPDOWN',
259 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER'),
260 'GROUP' =>
'add_services',
261 'DEFAULT' => self::$PAYER_BUYER,
263 self::$PAYER_SHOP =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER_SHOP'),
264 self::$PAYER_BUYER =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER_BUYER')
268 "SERVICE_OTHER" =>
array(
270 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_OTHER'),
271 'GROUP' =>
'add_services',
274 "SERVICE_OTHER_PLOMBIR_ENABLE" =>
array(
275 'TYPE' =>
'CHECKBOX',
276 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_OTHER_PLOMBIR_ENABLE'),
277 'GROUP' =>
'add_services',
279 'HIDE_BY_NAMES' =>
array(
'SERVICE_OTHER_PLOMBIR_COUNT',
'SERVICE_OTHER_PLOMBIR_PAYER')
282 "SERVICE_OTHER_PLOMBIR_COUNT" =>
array(
284 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_OTHER_PLOMBIR_COUNT'),
285 'GROUP' =>
'add_services',
289 "SERVICE_OTHER_PLOMBIR_PAYER" =>
array(
290 'TYPE' =>
'DROPDOWN',
291 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER'),
292 'GROUP' =>
'add_services',
293 'DEFAULT' => self::$PAYER_BUYER,
295 self::$PAYER_SHOP =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER_SHOP'),
296 self::$PAYER_BUYER =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER_BUYER')
300 "SERVICE_OTHER_PALLETE" =>
array(
301 'TYPE' =>
'CHECKBOX',
302 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_OTHER_PALLETE'),
303 'GROUP' =>
'add_services',
306 'HIDE_BY_NAMES' =>
array(
'SERVICE_OTHER_PALLETE_PAYER')
309 "SERVICE_OTHER_PALLETE_PAYER" =>
array(
310 'TYPE' =>
'DROPDOWN',
311 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER'),
312 'GROUP' =>
'add_services',
313 'DEFAULT' => self::$PAYER_BUYER,
315 self::$PAYER_SHOP =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER_SHOP'),
316 self::$PAYER_BUYER =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER_BUYER')
320 "SERVICE_OTHER_INSURANCE" =>
array(
321 'TYPE' =>
'CHECKBOX',
322 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_OTHER_INSURANCE'),
323 'GROUP' =>
'add_services',
326 'HIDE_BY_NAMES' =>
array(
'SERVICE_OTHER_INSURANCE_PAYER')
329 "SERVICE_OTHER_INSURANCE_PAYER" =>
array(
330 'TYPE' =>
'DROPDOWN',
331 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER'),
332 'GROUP' =>
'add_services',
333 'DEFAULT' => self::$PAYER_BUYER,
335 self::$PAYER_SHOP =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER_SHOP'),
336 self::$PAYER_BUYER =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER_BUYER')
340 "SERVICE_OTHER_RIGID_PACKING" =>
array(
341 'TYPE' =>
'CHECKBOX',
342 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_OTHER_RIGID_PACKING'),
343 'GROUP' =>
'add_services',
346 'HIDE_BY_NAMES' =>
array(
'SERVICE_OTHER_RIGID_PAYER')
349 "SERVICE_OTHER_RIGID_PAYER" =>
array(
350 'TYPE' =>
'DROPDOWN',
351 'TITLE' =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER'),
352 'GROUP' =>
'add_services',
353 'DEFAULT' => self::$PAYER_BUYER,
355 self::$PAYER_SHOP =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER_SHOP'),
356 self::$PAYER_BUYER =>
GetMessage(
'SALE_DH_PECOM_AS_PAYER_BUYER')
364 foreach ($aviableBoxes as $boxId => $arBox)
375 return unserialize($strSettings, [
'allowed_classes' =>
false]);
380 unset($arSettings[
"CITY"]);
382 foreach ($arSettings as
$key => $value)
385 $arSettings[
$key] = $value;
387 unset($arSettings[
$key]);
390 return serialize($arSettings);
397 $mesEnabled =
GetMessage(
"SALE_DH_PECOM_FEATURE_ENABLED");
399 if($arConfig[
"SERVICE_TAKE_ENABLED"][
"VALUE"] ==
"Y")
402 if($arConfig[
"SERVICE_TAKE_TENT_ENABLED"][
"VALUE"] ==
"Y")
405 if($arConfig[
"SERVICE_TAKE_HYDRO_ENABLED"][
"VALUE"] ==
"Y")
408 if($arConfig[
"SERVICE_DELIVERY_ENABLED"][
"VALUE"] ==
"Y")
411 if($arConfig[
"SERVICE_DELIVERY_TENT_ENABLED"][
"VALUE"] ==
"Y")
414 if($arConfig[
"SERVICE_DELIVERY_HYDRO_ENABLED"][
"VALUE"] ==
"Y")
417 if($arConfig[
"SERVICE_OTHER_DELIVERY_PAYER"][
"VALUE"] == self::$PAYER_SHOP)
422 if($arConfig[
"SERVICE_OTHER_PLOMBIR_ENABLE"][
"VALUE"] ==
"Y")
425 if($arConfig[
"SERVICE_OTHER_PALLETE"][
"VALUE"] ==
"Y")
428 if($arConfig[
"SERVICE_OTHER_INSURANCE"][
"VALUE"] ==
"Y")
431 if($arConfig[
"SERVICE_OTHER_RIGID_PACKING"][
"VALUE"] ==
"Y")
437 public static function calculate($profile, $arConfig, $arOrder,
$STEP, $TEMP =
false)
440 $cacheId =
"SaleDeliveryPecomCalc_".$profile.
"_".md5(serialize($arConfig)).
"_".md5(serialize($arOrder));
443 if($cacheManager->read($ttl, $cacheId))
445 $result = $cacheManager->get($cacheId);
449 $calc =
new Calculator($arOrder, $arConfig, $profile);
450 $result = $calc->getPriceInfo();
451 $cacheManager->set($cacheId,
$result);
460 $cacheId =
"SaleDeliveryPecomCompability".$arConfig[
"CITY_DELIVERY"][
"VALUE"].$arOrder[
"LOCATION_TO"];
465 if($cacheManager->read($ttl, $cacheId))
467 $arResult = $cacheManager->get($cacheId);
487 return $arConfig[
$key][
'VALUE'] ==
'Y'
489 !isset($arConfig[
$key][
'VALUE'])
490 && $arConfig[
$key][
'DEFAULT'] ==
'Y'
499 "REQUEST_SELF" => $actions[
"REQUEST_SELF"],
506 $pcr =
new Request($apiLogin, $apiKey);
510 $requestResult = $pcr->send($controller,
$action,
$data);
512 if(isset($requestResult[
"error"]))
516 "TEXT" => $requestResult[
"error"][
"title"].
": ".$requestResult[
"error"][
"message"],
517 "DATA" => $requestResult
524 "DATA" => $requestResult
532 "TEXT" => $e->getMessage()
548 while ($arOrderProps = $dbOrderProps->Fetch())
550 if($arOrderProps[
"CODE"] ==
"EMAIL")
551 $result[
"EMAIL"] = $arOrderProps[
"VALUE"];
553 if($arOrderProps[
"CODE"] ==
"PHONE")
554 $result[
"PHONE"] = $arOrderProps[
"VALUE"];
560 public static function executeAction($actionId, $profileId, $arOrder, $arConfig)
562 $reqResult =
array();
568 $controller =
'preregistration';
570 $data = Adapter::preparePreregistrationReqData($arOrder, $profileId, $arConfig);
571 $reqResult = static::sendRequest($arConfig[
"LOGIN"][
"VALUE"], $arConfig[
"KEY"][
"VALUE"], $controller,
$action,
$data);
573 if( isset($reqResult[
"DATA"][
"cargos"][0][
"cargoCode"]))
575 $result[
"TRACKING_NUMBER"] = $reqResult[
"DATA"][
"cargos"][0][
"cargoCode"];
577 if(isset($reqResult[
"DATA"][
"documentId"]))
578 $result[
"DELIVERY_DOC_NUM"] = $reqResult[
"DATA"][
"documentId"];
580 $phoneAndEmail = static::getPhoneEmail($arOrder[
"ID"]);
581 $subsData = Adapter::prepareSubscribeReqData(
582 array($reqResult[
"DATA"][
"cargos"][0][
"cargoCode"]),
583 $phoneAndEmail[
"EMAIL"],
584 $phoneAndEmail[
"PHONE"]
587 $subsResult = static::sendRequest($arConfig[
"LOGIN"][
"VALUE"], $arConfig[
"KEY"][
"VALUE"],
"notification",
"cargosubscribe", $subsData);
592 case "REQUEST_STATUS":
593 $controller =
'cargos';
596 'cargoCodes' =>
array(
597 $arOrder[
'TRACKING_NUMBER']
600 $reqResult = static::sendRequest($arConfig[
"LOGIN"][
"VALUE"], $arConfig[
"KEY"][
"VALUE"], $controller,
$action,
$data);
611 $result[
"RESULT"] = $reqResult[
"RESULT"];
613 if(isset($reqResult[
"TEXT"]))
614 $result[
"TEXT"] = $reqResult[
"TEXT"];
616 if(isset($reqResult[
"DATA"]))
617 $result[
"DATA"] = $reqResult[
"DATA"];
626 "NAME" =>
GetMessage(
"SALE_DH_RP_STNDRD_BOX"),
627 "DIMENSIONS" =>
array(
"425",
"265",
"380")
632 public static function getAdminMessage()
637 if(!Location::isInstalled())
641 '. <a href="javascript:void(0)" onclick="startInstallPecomLocations()"> '.
642 GetMessage(
'SALE_DH_PECOM_LOC_INSTALL_START').
645 function startInstallPecomLocations()
647 window.location.href.search(\'PECOM_LOCATIONS_START_MAP\') != -1 ? window.location.reload(true) : window.location.href += \'&PECOM_LOCATIONS_START_MAP=Y\';
652 if(isset($_SESSION[
'PECOM_LOCATIONS_MAP_ERRORS']) && is_array($_SESSION[
'PECOM_LOCATIONS_MAP_ERRORS']))
655 foreach($_SESSION[
'PECOM_LOCATIONS_MAP_ERRORS'] as
$error)
658 unset($_SESSION[
'PECOM_LOCATIONS_MAP_ERRORS']);
675 $result = new \Bitrix\Sale\Result();
677 if(isset(
$_REQUEST[
'PECOM_LOCATIONS_START_MAP']) &&
$_REQUEST[
'PECOM_LOCATIONS_START_MAP'] ==
'Y' && !Location::isInstalled())
681 $_SESSION[
'PECOM_LOCATIONS_MAP_ERRORS'] =
$result->getErrors();
688 $shipmentId = $shipment->getId();
690 if(intval($shipmentId) <= 0)
693 if(self::isRequestSelfSent($shipmentId))
698 'REQUEST_SELF' =>
array(
699 'LABEL' =>
GetMessage(
'SALE_DH_PECOM_PRELIMINARY_REQUEST'),
700 'TYPE' =>
'DELIVERY_READ_ONLY',
701 'VALUE' =>
GetMessage(
'SALE_DH_PECOM_PRELIMINARY_REQUEST_SENT').
' '.$date.
'.'
708 'REQUEST_SELF' =>
array(
709 'LABEL' =>
GetMessage(
'SALE_DH_PECOM_PRELIMINARY_SEND_REQUEST'),
721 $shipmentId = $shipment->getId();
723 if(intval($shipmentId) <= 0)
726 if(self::isRequestSelfSent($shipmentId))
729 $value =
GetMessage(
'SALE_DH_PECOM_PRELIMINARY_REQUEST_NOT_SENT');
732 'REQUEST_SELF' =>
array(
733 'LABEL' =>
GetMessage(
'SALE_DH_PECOM_PRELIMINARY_REQUEST'),
734 'TYPE' =>
'DELIVERY_READ_ONLY',
751 if(!isset(
$result[$shipmentId]))
755 $dbRes = \Bitrix\Sale\Internals\OrderDeliveryReqTable::getList(
array(
756 'filter'=>
array(
'=SHIPMENT_ID' => $shipmentId),
759 while($req =
$dbRes->fetch())
761 if(!is_null($req[
"DATE_REQUEST"]) && !empty($req[
"PARAMS"][
"TYPE"]) && $req[
"PARAMS"][
"TYPE"] ==
"REQUEST_SELF")
763 $result[$shipmentId] = $req[
"DATE_REQUEST"];
774 if(empty($requestData[
'REQUEST_SELF']) || $requestData[
'REQUEST_SELF'] !=
'Y')
777 $shipmentId = $shipment->getId();
779 if(intval($shipmentId) <= 0)
782 $dt = new \Bitrix\Main\Type\DateTime();
789 \CAllSaleDelivery::convertOrderNewToOld(
797 $res = \Bitrix\Sale\Internals\OrderDeliveryReqTable::add(
799 "SHIPMENT_ID" => $shipmentId,
800 "ORDER_ID" => $shipment->
getCollection()->getOrder()->getId(),
801 "DATE_REQUEST" => $dt,
803 "TYPE" =>
"REQUEST_SELF",
809 if(!
$res->isSuccess())
818 $shipment->
setField(
"DELIVERY_DOC_DATE", $dt);
static executeAction($deliveryId, $actionId, $arOrder)
static GetOrderProps($ORDER_ID)
static getRequestSelfSentDate($shipmentId)
static executeAction($actionId, $profileId, $arOrder, $arConfig)
static getAdditionalInfoShipmentEdit(Shipment $shipment)
static getSettings($strSettings)
static getConfig($siteId=false)
static getFeatures($arConfig)
static getExtraInfoParams($arOrder, $arConfig, $profileId, $siteId)
static sendRequest($apiLogin, $apiKey, $controller, $action, $data)
static isRequestSelfSent($shipmentId)
static $EXTRA_DEMENSIONS_WEIGHT
static getAdditionalInfoShipmentView(Shipment $shipment)
static compability($arOrder, $arConfig)
static processAdditionalInfoShipmentEdit(Shipment $shipment, array $requestData)
static getConfValue(&$arConfig, $key)
static $EXTRA_DIMENSIONS_SIZE
static setSettings($arSettings)
static calculate($profile, $arConfig, $arOrder, $STEP, $TEMP=false)
static isConfCheckedVal(&$arConfig, $key)
static getPhoneEmail($orderId)
static makeBoxConfig($boxId, $arBox, $group, &$arConfig)
static getConfValue($arField)
static getLocationByIdHitCached($id)
static getShopLocationId($siteId)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
AddEventHandler($FROM_MODULE_ID, $MESSAGE_ID, $CALLBACK, $SORT=100, $FULL_PATH=false)
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
GetMessage($name, $aReplace=null)
if(empty($signedUserToken)) $key
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"