$currencyLang = $deliveryService->getCurrency();
    }
}
if ($deliveryService && $ID <= 0 && isset($_GET["ES_CODE"]) && strlen($_GET["ES_CODE"]) > 0) {
    $embeddedList = $deliveryService->getEmbeddedExtraServicesList();
    if (isset($embeddedList[$_GET["ES_CODE"]])) {
        $fields = $embeddedList[$_GET["ES_CODE"]];
        $fields["CODE"] = $_GET["ES_CODE"];
        $fields["ID"] = strval(mktime());
    }
}
$aTabs = array(array("DIV" => "edit_main", "TAB" => Loc::getMessage("SALE_ESDE_TAB_GENERAL"), "ICON" => "sale", "TITLE" => Loc::getMessage("SALE_ESDE_TAB_GENERAL_TITLE")));
$tabControl = new CAdminTabControl("tabControl", $aTabs);
$APPLICATION->SetTitle(Loc::getMessage("SALE_ESDE_PAGE_TITLE") . ($ID > 0 ? " ID: " . $ID : ""));
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
\Bitrix\Sale\Internals\Input\Manager::initJs();
$aMenu = array(array("TEXT" => GetMessage("SALE_ESDE_TO_LIST"), "LINK" => isset($_GET["back_url"]) ? $_GET["back_url"] : "/bitrix/admin/sale_delivery_service_list.php?lang=" . LANGUAGE_ID . "&ID=" . $DELIVERY_ID, "ICON" => "btn_list"));
if ($ID > 0 && $saleModulePermissions >= "W") {
    $aMenu[] = array("SEPARATOR" => "Y");
    $aMenu[] = array("TEXT" => Loc::getMessage("SALE_ESDE_CREATE_NEW"), "LINK" => "/bitrix/admin/sale_delivery_eservice_edit.php?lang=" . LANGUAGE_ID . "&DELIVERY_ID=" . $DELIVERY_ID . (isset($_REQUEST["back_url"]) ? "&back_url=" . urlencode($_REQUEST["back_url"]) : ""), "ICON" => "btn_new");
    if (!isset($fields["RIGHTS"]["ADMIN"]) || $fields["RIGHTS"]["ADMIN"] == "Y") {
        $aMenu[] = array("TEXT" => Loc::getMessage("SALE_ESDE_DELETE_ITEM"), "LINK" => "javascript:if(confirm('" . Loc::getMessage("SALE_ESDE_CONFIRM_DEL_MESSAGE") . "')) window.location='" . "sale_delivery_service_edit.php?lang=" . LANG . "&ID=" . $DELIVERY_ID . "&action=delete_extra_service" . "&ES_ID=" . $ID . "&" . bitrix_sessid_get() . "'", "ICON" => "btn_delete");
    }
}
$context = new CAdminContextMenu($aMenu);
$context->Show();
if (strlen($strError) > 0) {
    CAdminMessage::ShowMessage(array("DETAILS" => $strError, "TYPE" => "ERROR", "MESSAGE" => Loc::getMessage("SALE_DSE_ERROR"), "HTML" => true));
}
?>
<form method="POST" action="<?php 
示例#2
0
 /**
  * Prepares config array for saving
  * @param array $config array config to prepare
  * @return array
  */
 public function prepareFieldsForSaving(array $fields)
 {
     $strError = "";
     $structure = $fields["CLASS_NAME"]::getConfigStructure();
     foreach ($structure as $key1 => $rParams) {
         foreach ($rParams["ITEMS"] as $key2 => $iParams) {
             if ($iParams["TYPE"] == "DELIVERY_SECTION") {
                 continue;
             }
             $errors = \Bitrix\Sale\Internals\Input\Manager::getError($iParams, $fields["CONFIG"][$key1][$key2]);
             if (!empty($errors)) {
                 $strError .= Loc::getMessage("SALE_DLVR_BASE_FIELD") . " \"" . $iParams["NAME"] . "\": " . implode("<br>\n", $errors) . "<br>\n";
             }
         }
     }
     if ($strError != "") {
         throw new SystemException($strError);
     }
     return $fields;
 }
示例#3
0
 public static function getAdminParamsControl($name, array $params, $currency = "")
 {
     return \Bitrix\Sale\Internals\Input\Manager::getEditHtml($name . "[PARAMS][PRICE]", array("TYPE" => "NUMBER"), $params["PARAMS"]["PRICE"]) . (strlen($currency) > 0 ? " (" . $currency . ")" : "");
 }
							<td colspan="2"><?php 
                    echo $params["NAME"];
                    ?>
</td>
						</tr>
					<?php 
                } else {
                    ?>
						<tr>
							<td width="40%"><?php 
                    echo $params["NAME"];
                    ?>
:</td>
							<td width="60%">
								<?php 
                    echo \Bitrix\Sale\Internals\Input\Manager::getEditHtml("CONFIG[" . $sectionKey . "][" . $name . "]", $params);
                    ?>
							</td>
						</tr>
					<?php 
                }
                ?>
				<?php 
            }
            ?>
			<?php 
        }
        ?>
		<?php 
    }
    ?>
示例#5
0
     $params = isset($_REQUEST['params']) ? $_REQUEST['params'] : array();
     $sort = isset($_REQUEST['sort']) ? intval($_REQUEST['sort']) : 100;
     $deliveryId = isset($_REQUEST['deliveryId']) ? intval($_REQUEST['deliveryId']) : 0;
     $restrictionId = isset($_REQUEST['restrictionId']) ? intval($_REQUEST['restrictionId']) : 0;
     if (!$className) {
         throw new \Bitrix\Main\ArgumentNullException("className");
     }
     if (!$deliveryId) {
         throw new \Bitrix\Main\ArgumentNullException("deliveryId");
     }
     $restriction = Services\Manager::getRestrictionObject($className);
     if (!$restriction instanceof \Bitrix\Sale\Delivery\Restrictions\Base) {
         throw new \Bitrix\Main\SystemException($className . ' is not an instance of \\Bitrix\\Sale\\Delivery\\Restrictions\\Base');
     }
     foreach ($restriction->getParamsStructure() as $key => $rParams) {
         $errors = \Bitrix\Sale\Internals\Input\Manager::getError($rParams, $params[$key]);
         if (!empty($errors)) {
             $arResult["ERROR"] = "Field: \"" . $rParams["LABEL"] . "\" " . implode("<br>", $errors) . "<br>\n";
         }
     }
     $fields = array("DELIVERY_ID" => $deliveryId, "SORT" => $sort, "PARAMS" => $params);
     $res = $restriction->save($fields, $restrictionId);
     if (!$res->isSuccess()) {
         $arResult["ERROR"] .= implode(".", $res->getErrorMessages());
     }
     $arResult["HTML"] = getRestrictionHtml($deliveryId);
     break;
 case "delete_restriction":
     $restrictionId = isset($_REQUEST['restrictionId']) ? intval($_REQUEST['restrictionId']) : 0;
     $deliveryId = isset($_REQUEST['deliveryId']) ? intval($_REQUEST['deliveryId']) : 0;
     if (!$restrictionId) {
示例#6
0
:</td>
		<td width="60%">
			<input type="text" name="CODE" value="<?php 
echo $str_CODE;
?>
">
		</td>
	</tr>
	<tr>
		<td width="40%"><span class="required">*</span><?php 
echo GetMessage("F_TYPE");
?>
:</td>
		<td width="60%">
			<?php 
foreach (\Bitrix\Sale\Internals\Input\Manager::getTypes() as $k => $v) {
    $arSaleFieldType[$k] = array("DESCRIPTION" => $v['NAME']);
}
//$dbUType = CUserTypeManager::GetUserType(false);
$arUType = $USER_FIELD_MANAGER->GetUserType();
$arSaleFieldType["--"] = array("DESCRIPTION" => "---User types---");
foreach ($arUType as $k => $v) {
    $arSaleFieldType["UF_" . $k] = $v;
}
?>
			<select name="TYPE">
				<?php 
foreach ($arSaleFieldType as $key => $value) {
    ?>
<option value="<?php 
    echo $key;
示例#7
0
文件: base.php 项目: Satariall/izurit
 public function getViewControl()
 {
     return Input\Manager::getViewHtml($this->params, $this->value);
 }
示例#8
0
 /**
  * @param string $paramKey
  * @param string $inputName
  * @return string Html
  * @throws \Bitrix\Main\SystemException
  */
 public function getEditHtml($paramKey, $inputName)
 {
     $paramsStructure = $this->getParamsStructure();
     return \Bitrix\Sale\Internals\Input\Manager::getEditHtml($inputName, $paramsStructure[$paramKey], $this->params[$paramKey]);
 }
    } else {
        $value = $relations[$name];
    }
    ?>
		<tr>
			<?php 
    if ($property['TYPE'] == 'LOCATION' && $property['IS_LOCATION'] == 'Y') {
        $input['DISABLED'] = true;
    }
    ?>
			<td width="40%"><?php 
    echo $input['LABEL'];
    ?>
:</td>
			<td width="60%"><?php 
    echo Input\Manager::getEditHtml("RELATIONS[{$name}]", $input, $value);
    ?>
</td>
		</tr>
	<?php 
}
?>

	<?php 
$tabControl->EndTab();
$tabControl->Buttons(array('disabled' => $saleModulePermissions < 'W', 'back_url' => '/bitrix/admin/sale_order_props.php?lang=' . LANG . GetFilterParams('filter_')));
$tabControl->End();
?>
</form>

<?php 
示例#10
0
        ?>
			<tr>
				<td valign="top"><?php 
        echo $value["NAME"];
        ?>
:</td>
				<td valign="top" style="overflow: visible; ">
					<?php 
        $inputParams = $value["SETTINGS"];
        $inputParams["TYPE"] = $value["TYPE"];
        $inputParams["IS_FILTER_FIELD"] = true;
        if ($value["TYPE"] == "ENUM") {
            $inputParams["OPTIONS"] = array("" => Loc::getMessage("SALE_F_ALL"));
            $inputParams["OPTIONS"] = $inputParams["OPTIONS"] + \Bitrix\Sale\PropertyValue::loadOptions($value["ID"]);
        }
        echo \Bitrix\Sale\Internals\Input\Manager::getFilterEditHtml("filter_prop_" . $key, $inputParams, ${"filter_prop_" . $key});
        ?>
				</td>
			</tr>
			<?php 
    }
}
$oFilter->Buttons(array("table_id" => $sTableID, "url" => $APPLICATION->GetCurPage(), "form" => "find_form"));
$oFilter->End();
?>
</form>

<div class="adm-c-bigdatabar" id="bigdatabar">
	<?php 
echo $bigdataWidgetHtml;
?>
示例#11
0
 function getEditHtml()
 {
     $key = isset($this->property["ID"]) ? $this->property["ID"] : "n" . $this->getId();
     return Input\Manager::getEditHtml("PROPERTIES[" . $key . "]", $this->property, $this->getValue());
 }
        $className = "";
    }
    if (!$record["PARAMS"]) {
        $record["PARAMS"] = array();
    }
    $editAction = "BX.Sale.Delivery.getRestrictionParamsHtml({" . "class: '" . \CUtil::JSEscape($record["CLASS_NAME"]) . "',deliveryId: " . $ID . ",title: '" . $className . "',restrictionId: " . $record["ID"] . ",params: " . \CUtil::PhpToJSObject($record["PARAMS"]) . ",sort: " . $record["SORT"] . ",lang: '" . LANGUAGE_ID . "'" . "});";
    $row =& $lAdmin->AddRow($record['ID'], $record);
    $row->AddField('ID', '<a href="javascript:void(0);" onclick="' . $editAction . '">' . $record['ID'] . '</a>');
    $row->AddField('SORT', $record['SORT']);
    $row->AddField('CLASS_NAME', $className);
    $restriction = Services\Manager::getRestrictionObject($record['CLASS_NAME']);
    $paramsStructure = $restriction->getParamsStructure($ID);
    $record["PARAMS"] = $restriction->prepareParamsValues($record["PARAMS"], $ID);
    $paramsField = "";
    foreach ($paramsStructure as $name => $params) {
        $paramsField .= (isset($params["LABEL"]) && strlen($params["LABEL"]) > 0 ? $params["LABEL"] . ": " : "") . Input\Manager::getViewHtml($params, isset($record["PARAMS"][$name]) ? $record["PARAMS"][$name] : null) . "<br>";
    }
    $row->AddField('PARAMS', $paramsField);
    if ($saleModulePermissions >= "W") {
        $arActions = array();
        $arActions[] = array("ICON" => "edit", "TEXT" => Loc::getMessage("SALE_RDL_EDIT_DESCR"), "ACTION" => $editAction, "DEFAULT" => true);
        $arActions[] = array("SEPARATOR" => true);
        $arActions[] = array("ICON" => "delete", "TEXT" => Loc::getMessage("SALE_RDL_DELETE"), "ACTION" => "javascript:if(confirm('" . Loc::getMessage("SALE_RDL_CONFIRM_DEL_MESSAGE") . "')) BX.Sale.Delivery.deleteRestriction(" . $record["ID"] . "," . $ID . ");");
        $row->AddActions($arActions);
    }
}
if ($saleModulePermissions == "W") {
    $restrictionsMenu = array();
    foreach ($restrictionClassNames as $class) {
        if (strlen($class) <= 0) {
            continue;
示例#13
0
?>
',
			properties = {
				<?php 
$propertyInput = $itemInputs['PROPERTY'];
foreach ($propertyOptions as $personId => $options) {
    $propertyInput['OPTIONS'] = $options;
    echo "'{$personId}':'" . CUtil::JSEscape(Input\Manager::getEditHtml('', $propertyInput)) . "',\n";
}
?>
				ie8:'sucks'
			},
			items = {
				<?php 
foreach (array_diff_key($itemInputs, array('PROPERTY' => 1)) as $entity => $input) {
    echo "'{$entity}':'" . CUtil::JSEscape(Input\Manager::getEditHtml('', $input)) . "',\n";
}
?>
				ie8:'sucks'
			};

		itemContainer.innerHTML = (personId !== '<?php 
echo BusinessValue::COMMON_PERSON_ID;
?>
' && entity === 'PROPERTY')
			? (typeof personId === 'undefined' ? allProperties : properties[personId])
			: items[entity];

		itemContainer.firstChild.name = name;
	}
示例#14
0
 public static function getErrorSingle(array $input, array $values)
 {
     $errors = array();
     foreach ($input["ITEMS"] as $key => $item) {
         if ($error = Input\Manager::getError($item, isset($values[$key]) ? $values[$key] : null)) {
             $errors[$key] = $error;
         }
     }
     return $errors;
 }
 function getArray()
 {
     $groups = $this->getGroups();
     $properties = array();
     /** @var PropertyValue $property */
     foreach ($this->collection as $k => $property) {
         $p = $property->getProperty();
         if (!isset($p["ID"])) {
             $p["ID"] = "n" . $property->getId();
         }
         $value = $property->getValue();
         $value = $property->getValueId() ? $value : ($value ? $value : $p['DEFAULT_VALUE']);
         $value = array_values(Input\Manager::asMultiple($p, $value));
         $p['VALUE'] = $value;
         $properties[] = $p;
     }
     return array('groups' => $groups, 'properties' => $properties);
 }
示例#16
0
        } else {
            $html .= static::getEditHtmlSingle($name, $input, static::asSingle($value), $selector);
        }
        return $html;
    }
    protected static function getEditHtmlSingle($name, array $input, $value, $selector)
    {
        $filterMode = isset($input['IS_FILTER_FIELD']) && $input['IS_FILTER_FIELD'] === true;
        $parameters = array('CODE' => $value, 'INPUT_NAME' => $name, 'PROVIDE_LINK_BY' => 'code', 'SELECT_WHEN_SINGLE' => 'N', 'FILTER_BY_SITE' => 'N', 'SHOW_DEFAULT_LOCATIONS' => 'N', 'SEARCH_BY_PRIMARY' => 'N', 'JS_CONTROL_GLOBAL_ID' => $selector, 'JS_CALLBACK' => $input['JS_CALLBACK']);
        ob_start();
        if ($filterMode) {
            print '<div style="width: 100%; margin-left: 12px">';
            $parameters['INITIALIZE_BY_GLOBAL_EVENT'] = 'onAdminFilterInited';
            // this allows js logic to be initialized after admin filter
            $parameters['GLOBAL_EVENT_SCOPE'] = 'window';
        }
        $GLOBALS['APPLICATION']->IncludeComponent('bitrix:sale.location.selector.' . ($filterMode ? 'search' : \Bitrix\Sale\Location\Admin\Helper::getWidgetAppearance()), '', $parameters, false);
        if ($filterMode) {
            print '</div>';
        }
        $html = ob_get_contents();
        ob_end_clean();
        return $html;
    }
    protected static function getErrorSingle(array $input, $value)
    {
        return \Bitrix\Sale\Location\LocationTable::getByCode($value)->fetch() ? array() : array('INVALID' => Loc::getMessage('INPUT_INVALID_ERROR'));
    }
}
Manager::register('LOCATION', array('CLASS' => __NAMESPACE__ . '\\Location', 'NAME' => Loc::getMessage('INPUT_LOCATION')));
示例#17
0
 public static function convertOldConfigToNew($oldConfig)
 {
     if (!isset($oldConfig["CONFIG_GROUPS"]) || !is_array($oldConfig["CONFIG_GROUPS"]) || !isset($oldConfig["CONFIG"]) || !is_array($oldConfig["CONFIG"])) {
         return array();
     }
     $result = array();
     Input\Manager::getTypes();
     $mc = new MultiControlString();
     foreach ($oldConfig["CONFIG_GROUPS"] as $groupId => $groupName) {
         $handlerConfig = array("TITLE" => $groupName, "DESCRIPTION" => $groupName, "ITEMS" => array());
         foreach ($oldConfig["CONFIG"] as $key => $param) {
             if ($param["GROUP"] == $groupId) {
                 $newParam = self::convertOldConfigParamToNew($param);
                 if (isset($param["MCS_ID"])) {
                     if ($newParam["TYPE"] == 'DELIVERY_MULTI_CONTROL_STRING') {
                         if (!$mc->isClean()) {
                             $handlerConfig["ITEMS"][$mc->getKey()] = $mc->getParams();
                             $mc->clean();
                         }
                         $mc->setParams($key, $newParam);
                     } elseif (!$mc->isClean()) {
                         $mc->addItem($key, $newParam);
                     } else {
                         $handlerConfig["ITEMS"][$key] = $newParam;
                     }
                 } elseif (!$mc->isClean()) {
                     $handlerConfig["ITEMS"][$mc->getKey()] = $mc->getParams();
                     $mc->clean();
                     $handlerConfig["ITEMS"][$key] = $newParam;
                 } else {
                     $handlerConfig["ITEMS"][$key] = $newParam;
                 }
             }
         }
         if (!$mc->isClean()) {
             $handlerConfig["ITEMS"][$mc->getKey()] = $mc->getParams();
             $mc->clean();
         }
         $result[$groupId] = $handlerConfig;
     }
     return $result;
 }
示例#18
0
 public function getViewControl()
 {
     return Input\Manager::getViewHtml(array("TYPE" => "ENUM", "OPTIONS" => self::getStoresList(true, strlen(SITE_ID) > 0 ? SITE_ID : "")), $this->value);
 }