if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); /** @global CUser $USER */ /** @global CMain $APPLICATION */ use Bitrix\Main\Loader, Bitrix\Catalog, Bitrix\Catalog\Access\ActionDictionary, Bitrix\Main\Localization\Loc; $module_id = "catalog"; Loc::loadMessages(__FILE__); if (!Loader::includeModule('catalog')) { CAdminMessage::ShowMessage(GetMessage("CAT_CATALOG_MODULE_IS_EMPTY")); die(); } if (Bitrix\Catalog\Access\AccessController::getCurrent()->check(ActionDictionary::ACTION_CATALOG_READ)): if ($ex = $APPLICATION->GetException()) { require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); $strError = $ex->GetString(); ShowError($strError); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php"); die(); } $arIBlock = array( '' => GetMessage('CAT_1CE_IBLOCK_ID_EMPTY') ); $iterator = Catalog\CatalogIblockTable::getList(array( 'select' => array('IBLOCK_ID', 'NAME' => 'IBLOCK.NAME'), 'filter' => array('=PRODUCT_IBLOCK_ID' => 0), 'order' => array('IBLOCK_ID' => 'ASC') )); while($row = $iterator->fetch()) $arIBlock[$row["IBLOCK_ID"]] = "[".$row["IBLOCK_ID"]."] ".$row["NAME"]; unset($row, $iterator); $arUGroupsEx = Array(); $dbUGroups = CGroup::GetList(); while($arUGroups = $dbUGroups -> Fetch()) { $arUGroupsEx[$arUGroups["ID"]] = $arUGroups["NAME"]; } $arAllOptions = array( array("1CE_IBLOCK_ID", GetMessage("CAT_1CE_IBLOCK_ID"), "", Array("list", $arIBlock)), array("1CE_ELEMENTS_PER_STEP", GetMessage("CAT_1CE_ELEMENTS_PER_STEP"), 1, Array("text", 5)), array("1CE_INTERVAL", GetMessage("CAT_1CE_INTERVAL"), "30", Array("text", 20)), array("1CE_GROUP_PERMISSIONS", GetMessage("CAT_1CE_GROUP_PERMISSIONS"), "-", Array("mlist", 5, $arUGroupsEx)), array("1CE_USE_ZIP", GetMessage("CAT_1CE_USE_ZIP"), "Y", Array("checkbox")), ); if( $_SERVER['REQUEST_METHOD'] === "POST" && $Update !== '' && $USER->CanDoOperation('edit_php') && check_bitrix_sessid() ) { for ($i = 0, $intCount = count($arAllOptions); $i < $intCount; $i++) { $name = $arAllOptions[$i][0]; $val = $_REQUEST[$name]; if ($arAllOptions[$i][3][0] === "checkbox" && $val !== "Y") { $val = "N"; } if ($arAllOptions[$i][3][0] === "mlist" && is_array($val)) { $val = implode(",", $val); } COption::SetOptionString("catalog", $name, $val, $arAllOptions[$i][1]); } return; } foreach($arAllOptions as $Option): $val = COption::GetOptionString("catalog", $Option[0], $Option[2]); $type = $Option[3]; ?>