getSelfFolderUrl(); $strWarning = ""; $bVarsFromForm = false; $IBLOCK_ID = intval($_REQUEST["IBLOCK_ID"]); $arIBlock = CIBlock::GetArrayByID($IBLOCK_ID); if($arIBlock) { $bBadBlock = !( CIBlockRights::UserHasRightTo($IBLOCK_ID, $IBLOCK_ID, "iblock_edit") || AccessController::getCurrent()->check(ActionDictionary::ACTION_CATALOG_SETTINGS_ACCESS) ); } else { $bBadBlock = true; } if($bBadBlock) { require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); ShowError(GetMessage("CAT_CEDIT_BAD_IBLOCK")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php"); } $aTabs = array( array( "DIV" => "edit1", "TAB" => GetMessage("CAT_CEDIT_MAIN_TAB"), "ICON" => "iblock_section", "TITLE" => GetMessage("CAT_CEDIT_MAIN_TAB_TITLE"), ), array( "DIV" => "edit3", "TAB" => GetMessage("CAT_CEDIT_PROPERTY_TAB"), "ICON" => "iblock_section", "TITLE" => GetMessage("CAT_CEDIT_PROPERTY_TAB_TITLE"), ), ); $tabControl = new CAdminForm("form_catalog_edit_".$IBLOCK_ID, $aTabs); if( $_SERVER["REQUEST_METHOD"] == "POST" && ( (isset($_REQUEST["save"]) && $_REQUEST["save"] <> '') || (isset($_REQUEST["apply"]) && $_REQUEST["apply"] <> '') ) && check_bitrix_sessid() ) { if($_POST["NAME"] != $arIBlock["NAME"]) { $ib = new CIBlock; $res = $ib->Update($IBLOCK_ID, array( "NAME" => $_POST["NAME"], )); if(!$res) { $strWarning .= $ib->LAST_ERROR."
"; $bVarsFromForm = true; } } if($arIBlock["SECTION_PROPERTY"] != "Y") { $ib = new CIBlock; $res = $ib->Update($IBLOCK_ID, array( "SECTION_PROPERTY" => "Y", )); if(!$res) { $strWarning .= $ib->LAST_ERROR."
"; $bVarsFromForm = true; } } $arCatalog = CCatalogSku::GetInfoByProductIBlock($IBLOCK_ID); if(is_array($arCatalog) && CIBlock::GetArrayByID($arCatalog["IBLOCK_ID"], "SECTION_PROPERTY") != "Y") { $ib = new CIBlock; $res = $ib->Update($arCatalog["IBLOCK_ID"], array( "SECTION_PROPERTY" => "Y", )); if(!$res) { $strWarning .= $ib->LAST_ERROR."
"; $bVarsFromForm = true; } } if($strWarning === "") { $TextParser = new CBXSanitizer(); $TextParser->SetLevel(CBXSanitizer::SECURE_LEVEL_LOW); $TextParser->ApplyDoubleEncode(false); $props = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $IBLOCK_ID, "CHECK_PERMISSIONS" => "N")); while($p = $props->Fetch()) { if( isset($_POST["SECTION_PROPERTY"]) && is_array($_POST["SECTION_PROPERTY"]) && array_key_exists($p["ID"], $_POST["SECTION_PROPERTY"]) && $_POST["SECTION_PROPERTY"][$p["ID"]]["SHOW"] === "Y" ) { $filterHint = trim($_POST["SECTION_PROPERTY"][$p["ID"]]["FILTER_HINT"]); if ($filterHint) { $filterHint = $TextParser->SanitizeHtml($filterHint); } CIBlockSectionPropertyLink::Set(0, $p["ID"], array( "SMART_FILTER" => $_POST["SECTION_PROPERTY"][$p["ID"]]["SMART_FILTER"], "DISPLAY_TYPE" => $_POST["SECTION_PROPERTY"][$p["ID"]]["DISPLAY_TYPE"], "DISPLAY_EXPANDED" => $_POST["SECTION_PROPERTY"][$p["ID"]]["DISPLAY_EXPANDED"], "FILTER_HINT" => $filterHint, )); } else { CIBlockSectionPropertyLink::Delete(0, $p["ID"]); } } if (is_array($arCatalog)) { $props = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $arCatalog["IBLOCK_ID"], "CHECK_PERMISSIONS" => "N")); while($p = $props->Fetch()) { if( isset($_POST["SECTION_PROPERTY"]) && is_array($_POST["SECTION_PROPERTY"]) && array_key_exists($p["ID"], $_POST["SECTION_PROPERTY"]) && $_POST["SECTION_PROPERTY"][$p["ID"]]["SHOW"] === "Y" ) { $filterHint = trim($_POST["SECTION_PROPERTY"][$p["ID"]]["FILTER_HINT"]); if ($filterHint) { $filterHint = $TextParser->SanitizeHtml($filterHint); } CIBlockSectionPropertyLink::Set(0, $p["ID"], array( "SMART_FILTER" => $_POST["SECTION_PROPERTY"][$p["ID"]]["SMART_FILTER"], "DISPLAY_TYPE" => $_POST["SECTION_PROPERTY"][$p["ID"]]["DISPLAY_TYPE"], "DISPLAY_EXPANDED" => $_POST["SECTION_PROPERTY"][$p["ID"]]["DISPLAY_EXPANDED"], "IBLOCK_ID" => $IBLOCK_ID, "FILTER_HINT" => $filterHint, )); } else { CIBlockSectionPropertyLink::Delete(0, $p["ID"]); } } } $redirectUrl = $selfFolderUrl."cat_catalog_edit.php?lang=".LANGUAGE_ID."&IBLOCK_ID=".$IBLOCK_ID."&".$tabControl->ActiveTabParam(); $adminSidePanelHelper->reloadPage($redirectUrl, ($_REQUEST["apply"] <> '' ? "apply" : "save")); $redirectUrl = $adminSidePanelHelper->setDefaultQueryParams($redirectUrl); LocalRedirect($redirectUrl); } } ClearVars("str_"); if($bVarsFromForm) $str_NAME = $_POST["NAME"]; else $str_NAME = $arIBlock["NAME"]; $APPLICATION->SetTitle(GetMessage("CAT_CEDIT_EDIT_TITLE", array("#IBLOCK_NAME#"=>$arIBlock["NAME"]))); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); if($strWarning) CAdminMessage::ShowOldStyleError($strWarning."
"); $tabControl->BeginEpilogContent(); echo bitrix_sessid_post(); $tabControl->EndEpilogContent(); $actionUrl = $selfFolderUrl."cat_catalog_edit.php?lang=".LANGUAGE_ID."&IBLOCK_ID=".$IBLOCK_ID.""; $actionUrl = $adminSidePanelHelper->setDefaultQueryParams($actionUrl); $tabControl->Begin(array("FORM_ACTION" => $actionUrl)); $tabControl->BeginNextFormTab(); $tabControl->AddEditField("NAME", GetMessage("IBLOCK_FIELD_NAME").":", true, array("size" => 50, "maxlength" => 255), $str_NAME); $tabControl->BeginNextFormTab(); $tabControl->BeginCustomField("SECTION_PROPERTY", GetMessage("CAT_CEDIT_SECTION_PROPERTY_FIELD")); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/iblock/admin_tools.php"); $editor = new CEditorPopupControl(); ?> getEditorHtml(); ?> GetMessage("CAT_CEDIT_PROP_SELECT_CHOOSE"), 0 => GetMessage("CAT_CEDIT_PROP_SELECT_CREATE"), ); else $arShadow = $arHidden = array( -1 => GetMessage("CAT_CEDIT_PROP_SELECT_CHOOSE"), ); $arPropLinks = CIBlockSectionPropertyLink::GetArray($arIBlock["ID"], 0); $rsProps = CIBlockProperty::GetList(array("SORT"=>"ASC",'ID' => 'ASC'), array("IBLOCK_ID" => $arIBlock["ID"], "CHECK_PERMISSIONS" => "N", "ACTIVE"=>"Y")); $rows = 0; while ($arProp = $rsProps->Fetch()): if(isset($arPropLinks[$arProp["ID"]])) { $rows++; $arLink = $arPropLinks[$arProp["ID"]]; if($arLink["INHERITED"] == "N") $arShadow[$arProp["ID"]] = $arProp["NAME"]; } else { $arLink = false; $arHidden[$arProp["ID"]] = $arProp["NAME"]; $arShadow[$arProp["ID"]] = $arProp["NAME"]; } $linkExists = is_array($arLink); $fileProperty = $arProp['PROPERTY_TYPE'] == PropertyTable::TYPE_FILE; ?> " > >
][SHOW]" id="hidden_SECTION_PROPERTY_" value=""> '; ?> array_keys($displayTypes), "REFERENCE" => array_values($displayTypes), ), $linkExists ? $arLink["DISPLAY_TYPE"] : '', '', ''); } else { echo ' '; } ?> '; ?> getControlHtml('SECTION_PROPERTY['.$arProp['ID'].'][FILTER_HINT]', $filterHint, 255); } elseif ($linkExists && $arLink['FILTER_HINT'] <> '') { echo CTextParser::closeTags($arLink['FILTER_HINT']); } else { echo ' '; } ?> '.GetMessage("CAT_CEDIT_PROP_TABLE_ACTION_HIDE").''; else echo ' '; ?>