%PDF- %PDF-
Direktori : /proc/self/root/home/bitrix/www/bitrix/modules/sale/admin/ |
Current File : //proc/self/root/home/bitrix/www/bitrix/modules/sale/admin/delivery_eservice_edit.php |
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); use Bitrix\Main\Localization\Loc; use Bitrix\Sale\Delivery\ExtraServices; Loc::loadMessages(__FILE__); Bitrix\Main\Loader::includeModule('sale'); $selfFolderUrl = $adminPage->getSelfFolderUrl(); $backUrl = isset($_GET["back_url"]) ? $_GET["back_url"] : $selfFolderUrl."sale_delivery_service_list.php?lang=".LANGUAGE_ID; $backUrl = $adminSidePanelHelper->editUrlToPublicPage($backUrl); /** @var CMain $APPLICATION */ $saleModulePermissions = $APPLICATION->GetGroupRight("sale"); if ($saleModulePermissions < "W") $APPLICATION->AuthForm(Loc::getMessage("SALE_DSE_ACCESS_DENIED")); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/prolog.php"); $ID = isset($_REQUEST["ID"]) ? intval($_REQUEST["ID"]) : 0; $strError = ""; $fields = array( "RIGHTS" => "YYY" ); $tabControlName = "tabControl"; $isItSavingProcess = ($_SERVER['REQUEST_METHOD'] == "POST" && (strlen($_POST["save"]) > 0 || strlen($_POST["apply"]) > 0)) ? true : false; $isFormReloading = $_SERVER['REQUEST_METHOD'] == "POST" && !$isItSavingProcess; if($saleModulePermissions == "W" && check_bitrix_sessid()) { $adminSidePanelHelper->decodeUriComponent(); if ($isItSavingProcess || $isFormReloading) { if(isset($_POST["ID"])) $fields["ID"] = intval($_POST["ID"]); if(isset($_POST["CODE"])) $fields["CODE"] = trim($_POST["CODE"]); if(isset($_POST["NAME"])) $fields["NAME"] = trim($_POST["NAME"]); if(isset($_POST["SORT"])) $fields["SORT"] = $_POST["SORT"]; if(isset($_POST["RIGHTS"])) $fields["RIGHTS"] = $_POST["RIGHTS"]; if(isset($_POST["ACTIVE"])) $fields["ACTIVE"] = trim($_POST["ACTIVE"]); if(isset($_POST["INIT_VALUE"])) $fields["INIT_VALUE"] = trim($_POST["INIT_VALUE"]); if(isset($_POST["CLASS_NAME"])) $fields["CLASS_NAME"] = trim($_POST["CLASS_NAME"]); if(isset($_POST["DESCRIPTION"])) $fields["DESCRIPTION"] = trim($_POST["DESCRIPTION"]); if(isset($_POST["DELIVERY_ID"])) $fields["DELIVERY_ID"] = intval($_POST["DELIVERY_ID"]); if(isset($_POST["PARAMS"], $_POST["PARAMS"]["PARAMS"])) $fields["PARAMS"] = $_POST["PARAMS"]["PARAMS"]; if($isItSavingProcess) { if($fields["DELIVERY_ID"] > 0) { $fields = ExtraServices\Manager::prepareParamsToSave($fields); $codeExist = false; if(strlen($fields["CODE"]) > 0) { $glres = ExtraServices\Table::getList(array( 'filter' => array( '=DELIVERY_ID' => $fields["DELIVERY_ID"], '=CODE' => $fields["CODE"] ) )); while($srv = $glres->fetch()) { if($ID <= 0) $codeExist = true; if($ID > 0 && $srv['ID'] != $ID) $codeExist = true; } } if(!$codeExist) { if($ID > 0) { $res = ExtraServices\Table::update($ID, $fields); } else { $res = ExtraServices\Table::add($fields); } if(!$res->isSuccess()) $strError .= Loc::getMessage("SALE_ESDE_ERROR_SAVE").": ".implode("<br>",$res-> getErrorMessages()); elseif($ID <= 0) $ID = $res->getId(); } else { $strError .= Loc::getMessage("SALE_ESDE_ERROR_CODE_EXIST").".<br>\n"; } } else { $strError .= Loc::getMessage("SALE_ESDE_ERROR_ID").'.<br>\n'; } if(strlen($strError) <= 0) { $adminSidePanelHelper->sendSuccessResponse("base", array("ID" => $ID)); if (strlen($_POST["apply"]) > 0) { $applyUrl = $APPLICATION->GetCurPageParam("ID=".$ID, array('ID')); $applyUrl = $adminSidePanelHelper->setDefaultQueryParams($applyUrl); LocalRedirect($applyUrl); } elseif(strlen($_POST["save"]) > 0) { $adminSidePanelHelper->localRedirect($backUrl); LocalRedirect($backUrl); } } else { $adminSidePanelHelper->sendJsonErrorResponse($strError); } } } } if($ID > 0) { $res = ExtraServices\Table::getById($ID); $fields = $res->fetch(); } if(isset($fields["DELIVERY_ID"])) $DELIVERY_ID = $fields["DELIVERY_ID"]; elseif(isset($_REQUEST["DELIVERY_ID"])) $DELIVERY_ID = $_REQUEST["DELIVERY_ID"]; else $DELIVERY_ID = 0; $DELIVERY_ID = intval($DELIVERY_ID); if($DELIVERY_ID <= 0) $strError .= Loc::getMessage("SALE_ESDE_ERROR_ID"); $currencyLang = ""; $deliveryService = null; if($DELIVERY_ID > 0) { $deliveryService = \Bitrix\Sale\Delivery\Services\Manager::getObjectById($DELIVERY_ID); if($deliveryService && \Bitrix\Main\Loader::includeModule('currency')) { $parsedCurrencyFormat = \CCurrencyLang::getParsedCurrencyFormat($deliveryService->getCurrency()); $key = array_search('#', $parsedCurrencyFormat); $parsedCurrencyFormat[$key] = ''; $currencyLang = implode('', $parsedCurrencyFormat); } else { $currencyLang = $deliveryService->getCurrency(); } } if($deliveryService && $ID <= 0) { if(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()); if(empty($fields["RIGHTS"])) $fields["RIGHTS"] = "NYY"; } } elseif(isset($_REQUEST["CLASS_NAME"]) && strlen($_REQUEST["CLASS_NAME"]) > 0) { $fields["CLASS_NAME"] = $_REQUEST["CLASS_NAME"]; $fields["ID"] = strval(mktime()); $fields["RIGHTS"] = "YYY"; $fields["ACTIVE"] = "Y"; } } $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" => $backUrl."&ID=".$DELIVERY_ID, "ICON" => "btn_list" ) ); if ($ID > 0 && $saleModulePermissions >= "W") { $aMenu[] = array("SEPARATOR" => "Y"); $addUrl = $selfFolderUrl."sale_delivery_eservice_edit.php?lang=".LANGUAGE_ID."&DELIVERY_ID=".$DELIVERY_ID; $addUrl = $adminSidePanelHelper->editUrlToPublicPage($addUrl). (isset($_REQUEST["back_url"]) ? "&back_url=".urlencode($_REQUEST["back_url"]) : ""); $aMenu[] = array( "TEXT" => Loc::getMessage("SALE_ESDE_CREATE_NEW"), "LINK" => $addUrl, "ICON" => "btn_new" ); if ($fields["RIGHTS"][ExtraServices\Manager::RIGHTS_ADMIN_IDX] == "Y") { $deleteUrl = $selfFolderUrl."sale_delivery_service_edit.php?lang=".LANGUAGE_ID."&ID=".$DELIVERY_ID."&action=delete_extra_service". "&ES_ID=".$ID."&".bitrix_sessid_get(); $buttonAction = "LINK"; if ($adminSidePanelHelper->isPublicFrame()) { $deleteUrl = $adminSidePanelHelper->editUrlToPublicPage($deleteUrl); $buttonAction = "ONCLICK"; } $aMenu[] = array( "TEXT" => Loc::getMessage("SALE_ESDE_DELETE_ITEM"), $buttonAction => "javascript:if(confirm('".Loc::getMessage("SALE_ESDE_CONFIRM_DEL_MESSAGE")."')) top.window.location.href='".$deleteUrl."'", "ICON" => "btn_delete" ); } } $context = new CAdminContextMenu($aMenu); $context->Show(); if(strlen($strError) > 0) { $adminMessage = new CAdminMessage(Array("DETAILS"=>$strError, "TYPE"=>"ERROR", "MESSAGE"=>Loc::getMessage("SALE_DSE_ERROR"), "HTML"=>true)); echo $adminMessage->Show(); } $actionUrl = $APPLICATION->GetCurPageParam(); $actionUrl = $adminSidePanelHelper->setDefaultQueryParams($actionUrl); ?> <form method="POST" action="<?=$actionUrl?>" name="form1" enctype="multipart/form-data"> <input type="hidden" name="lang" value="<?=LANGUAGE_ID;?>"> <input type="hidden" name="ID" value="<?=$ID?>"> <input type="hidden" name="DELIVERY_ID" value="<?=$DELIVERY_ID?>"> <?=bitrix_sessid_post()?> <? $tabControl->Begin(); /* General settings */ $tabControl->BeginNextTab(); $manager = new ExtraServices\Manager(array($fields), $deliveryService->getCurrency()); ?> <tr class="adm-detail-required-field"> <td width="40%"><?=Loc::getMessage("SALE_ESDE_FIELD_TYPE")?>:</td> <td width="60%"> <?if(!isset($_REQUEST["CLASS_NAME"]) && $fields["RIGHTS"][ExtraServices\Manager::RIGHTS_ADMIN_IDX] == "Y" && $ID <= 0):?> <select name="CLASS_NAME" onchange="top.BX.showWait(); this.form.submit(); /* elements.apply.click();*/"> <option value=""></option> <?foreach(ExtraServices\Manager::getClassesList() as $class):?> <option value="<?=$class?>"<?=($fields["CLASS_NAME"] == $class ? " selected" : "")?>><?=$class::getClassTitle()?></option> <?endforeach;?> </select> <?else:?> <input type="text" name="CLASS_NAME_DISABLED" value="<?=$fields["CLASS_NAME"]::getClassTitle()?>" readonly> <input type="hidden" name="CLASS_NAME" value="<?=htmlspecialcharsbx($fields["CLASS_NAME"])?>"> <?endif;?> </td> </tr> <tr class="adm-detail-required-field"> <td><?=Loc::getMessage("SALE_ESDE_FIELD_NAME")?>:</td> <td> <input type="text" name="NAME" value="<?=htmlspecialcharsbx($fields["NAME"])?>"> </td> </tr> <tr> <td><?=Loc::getMessage("SALE_ESDE_FIELD_DESCRIPTION")?>:</td> <td> <textarea name="DESCRIPTION"><?=htmlspecialcharsbx($fields["DESCRIPTION"])?></textarea> </td> </tr> <tr> <td><?=Loc::getMessage("SALE_ESDE_FIELD_RIGHTS")?>:</td> <td> <input type="hidden" name="RIGHTS[<?=ExtraServices\Manager::RIGHTS_ADMIN_IDX?>]" value="<?=$fields["RIGHTS"][ExtraServices\Manager::RIGHTS_ADMIN_IDX]?>"> <input type="hidden" name="RIGHTS[<?=ExtraServices\Manager::RIGHTS_MANAGER_IDX?>]" value="N"> <?=Loc::getMessage("SALE_ESDE_FIELD_MANAGER")?>: <input type="checkbox" name="RIGHTS[<?=ExtraServices\Manager::RIGHTS_MANAGER_IDX?>]" value="Y"<?=(isset($fields["RIGHTS"][ExtraServices\Manager::RIGHTS_MANAGER_IDX]) && $fields["RIGHTS"][ExtraServices\Manager::RIGHTS_MANAGER_IDX] == "Y" ? " checked" : "")?>> <input type="hidden" name="RIGHTS[<?=ExtraServices\Manager::RIGHTS_CLIENT_IDX?>]" value="N"> <?=Loc::getMessage("SALE_ESDE_FIELD_CLIENT")?>: <input type="checkbox" name="RIGHTS[<?=ExtraServices\Manager::RIGHTS_CLIENT_IDX?>]" value="Y"<?=(isset($fields["RIGHTS"][ExtraServices\Manager::RIGHTS_CLIENT_IDX]) && $fields["RIGHTS"][ExtraServices\Manager::RIGHTS_CLIENT_IDX] == "Y" ? " checked" : "")?>> </td> </tr> <?if(isset($fields["CLASS_NAME"]) && strlen($fields["CLASS_NAME"]) > 0):?> <tr> <td class="adm-detail-valign-top"><?=(is_callable($fields["CLASS_NAME"].'::getAdminParamsName') ? htmlspecialcharsbx($fields["CLASS_NAME"]::getAdminParamsName()) : Loc::getMessage("SALE_ESDE_FIELD_PARAMS"))?>:</td> <td> <?=$fields["CLASS_NAME"]::getAdminParamsControl("PARAMS", $fields, $currencyLang);?> </td> </tr> <?if($ID > 0):?> <tr> <td><?=Loc::getMessage("SALE_ESDE_FIELD_INITIAL")?>:</td> <td> <?=$manager->getItem($ID)->getAdminDefaultControl("INIT_VALUE", isset($fields["INIT_VALUE"]) ? $fields["INIT_VALUE"] : null);?> </td> </tr> <?endif;?> <?endif;?> <tr> <td><?=Loc::getMessage("SALE_ESDE_FIELD_ACTIVE")?>:</td> <td> <input type="hidden" name="ACTIVE" value="N"> <input type="checkbox" name="ACTIVE" value="Y"<?=(isset($fields["ACTIVE"]) && $fields["ACTIVE"] == "Y" ? " checked" : "")?>> </td> </tr> <tr> <td><?=Loc::getMessage("SALE_ESDE_FIELD_SORT")?>:</td> <td> <input type="text" name="SORT" value="<?=(isset($fields["SORT"]) ? intval($fields["SORT"]) : "100")?>"> </td> </tr> <tr> <td><?=Loc::getMessage("SALE_ESDE_FIELD_CODE")?>:</td> <td> <input type="text" name="CODE" value="<?=(isset($fields["CODE"]) ? htmlspecialcharsbx($fields["CODE"]) : "")?>"<?=($fields['RIGHTS'][ExtraServices\Manager::RIGHTS_ADMIN_IDX] != 'Y' ? ' readonly' : '')?>> </td> </tr> <? $tabControl->Buttons( array( "disabled" => ($saleModulePermissions < "W"), "back_url" => isset($_REQUEST["back_url"]) ? $_REQUEST["back_url"] : ("/bitrix/admin/sale_delivery_service_edit.php?lang=".LANGUAGE_ID.'&ID='.(isset($_REQUEST["DELIVERY_ID"]) ? $_REQUEST["DELIVERY_ID"] :0)) ) ); $tabControl->End(); ?> </form> <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");