5require_once __DIR__.
'/../internals/input.php';
12Loc::loadMessages(__FILE__);
18 if(!is_array($values))
25 " ".Input\Manager::getViewHtml($input[
"ITEMS"][
"TYPE"], $values[
"TYPE"]);
30 if (!isset($input[
"ITEMS"]))
39 "NAME" =>
" - "
53 $input[
"ITEMS"][
"FROM"][
"NAME"]
55 . $input[
"ITEMS"][
"TO"][
"NAME"]
64 if(!is_array($values))
72 if(!is_array($values))
103 if(!isset($input[
"ITEMS"][
"FROM"]) || !isset($input[
"ITEMS"][
"TO"]) || !isset($input[
"ITEMS"][
"TYPE"]))
106 if(!isset($values[
"FROM"]) || !isset($values[
"TO"]) || !isset($values[
"TYPE"]))
107 throw new \Bitrix\Main\ArgumentException(
"Wrong argument structure!",
"values");
114 'CLASS' => __NAMESPACE__.
'\\Period',
115 'NAME' => Loc::getMessage(
'INPUT_DELIVERY_PERIOD')
124 if(!empty($input[
'ID']))
125 $result .=
' id="'.$input[
'ID'].
'_view"';
128 $result .= isset($input[
"VALUE_VIEW"]) ? $input[
"VALUE_VIEW"] : $value;
135 $value = str_replace(
'"',
"'", $value);
138 if(!empty($input[
'ID']))
139 $res .=
' id="'.$input[
'ID'].
'"';
168 'CLASS' => __NAMESPACE__.
'\\ReadOnlyField',
169 'NAME' => Loc::getMessage(
'INPUT_DELIVERY_READ_ONLY')
208 return empty($this->myParams);
213 $this->myParams = $this->items = $this->myKey =
array();
220 foreach($input[
"ITEMS"] as
$key => $item)
222 isset($item[
"NAME"]) ? $item[
"NAME"] :
"".
233 foreach($input[
"ITEMS"] as
$key => $item)
235 isset($item[
"NAME"]) ? $item[
"NAME"] :
"".
244 if(!is_array($values))
249 foreach($input[
"ITEMS"] as
$key => $item)
283 foreach($input[
"ITEMS"] as
$key => $item)
299 foreach($input[
"ITEMS"] as
$key => $item)
309 'CLASS' => __NAMESPACE__.
'\\MultiControlString',
310 'NAME' => Loc::getMessage(
'INPUT_DELIVERY_MULTI_CONTROL_STRING')
315 protected static $d2LClass =
'\Bitrix\Sale\Delivery\DeliveryLocationTable';
320 $class = static::$d2LClass;
322 $res = $class::getConnectedLocations(
323 $input[
"DELIVERY_ID"],
325 'select' =>
array(
'LNAME' =>
'NAME.NAME'),
326 'filter' =>
array(
'NAME.LANGUAGE_ID' => LANGUAGE_ID)
330 while($loc =
$res->fetch())
333 $res = $class::getConnectedGroups(
334 $input[
"DELIVERY_ID"],
336 'select' =>
array(
'LNAME' =>
'NAME.NAME'),
337 'filter' =>
array(
'NAME.LANGUAGE_ID' => LANGUAGE_ID)
341 while($loc =
$res->fetch())
354 "bitrix:sale.location.selector.system",
357 "ENTITY_PRIMARY" => $input[
"DELIVERY_ID"],
358 "LINK_ENTITY_NAME" => mb_substr(static::$d2LClass, 0, -5),
359 "INPUT_NAME" =>
$name,
360 'FILTER_BY_SITE' =>
'N',
368 var bxInputdeliveryLocMultiStep3 = function()
370 BX.loadScript("/bitrix/components/bitrix/sale.location.selector.system/templates/.default/script.js", function(){
371 BX.onCustomEvent("deliveryGetRestrictionHtmlScriptsReady");
375 var bxInputdeliveryLocMultiStep2 = function()
378 "/bitrix/js/sale/core_ui_etc.js",
379 "/bitrix/js/sale/core_ui_autocomplete.js",
380 "/bitrix/js/sale/core_ui_itemtree.js"
382 bxInputdeliveryLocMultiStep3
386 BX.loadScript("/bitrix/js/sale/core_ui_widget.js", bxInputdeliveryLocMultiStep2);
388 //at first we must load some scripts in the right order
389 window["deliveryGetRestrictionHtmlScriptsLoadingStarted"] = true;
393 <link rel="stylesheet" type="text/css" href="/bitrix/panel/main/adminstyles_fixed.css">
394 <link rel="stylesheet" type="text/css" href="/bitrix/panel/main/admin.css">
395 <link rel="stylesheet" type="text/css" href="/bitrix/panel/main/admin-public.css">
396 <link rel="stylesheet" type="text/css" href="/bitrix/components/bitrix/sale.location.selector.system/templates/.default/style.css">
421 'CLASS' => __NAMESPACE__.
'\\LocationMulti',
422 'NAME' => Loc::getMessage(
'INPUT_DELIVERY_LOCATION_MULTI')
427 protected static $d2LClass =
'\Bitrix\Sale\Delivery\DeliveryLocationExcludeTable';
431 'CLASS' => __NAMESPACE__.
'\\LocationMultiExclude',
432 'NAME' => Loc::getMessage(
'INPUT_DELIVERY_LOCATION_MULTI_EXCLUDE')
439 'CLASS' => __NAMESPACE__.
'\\ProductCategories',
440 'NAME' => Loc::getMessage(
'INPUT_DELIVERY_PRODUCT_CATEGORIES')
447 if(!is_array($values))
452 if($itemName ==
'' && $input[
'NAME_DEFAULT'] <>
'')
462 $input[
'NAME_DEFAULT'] = trim((
string)($input[
'NAME_DEFAULT'] ??
''));
463 $input[
'VALUE_DEFAULT'] = trim((
string)($input[
'VALUE_DEFAULT'] ??
''));
465 if (!is_array($values))
469 $values[
'NAME'] = trim((
string)($values[
'NAME'] ??
''));
470 $values[
'VALUE'] = trim((
string)($values[
'VALUE'] ??
''));
477 ' <input type="button" value="'.$input[
'BUTTON'][
'NAME'].
'" onclick="'.$input[
'BUTTON'][
'ONCLICK'].
' return false;" style="margin-top: 20px;">'.
478 '<input type="hidden" name="'.$name.
'[NAME]" value="'.$itemName.
'">'.
479 '<input type="hidden" name="'.$name.
'[VALUE]" value="'.$itemValue.
'">'.
509 'CLASS' => __NAMESPACE__.
'\\ButtonSelector',
510 'NAME' => Loc::getMessage(
'INPUT_DELIVERY_BUTTON_SELECTOR')
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
if(empty($signedUserToken)) $key
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']