$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
/** * 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; }
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 } ?>
$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) {
:</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;
public function getViewControl() { return Input\Manager::getViewHtml($this->params, $this->value); }
/** * @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
?> <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; ?>
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;
?> ', 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; }
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); }
} 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')));
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; }
public function getViewControl() { return Input\Manager::getViewHtml(array("TYPE" => "ENUM", "OPTIONS" => self::getStoresList(true, strlen(SITE_ID) > 0 ? SITE_ID : "")), $this->value); }