function getCatalogFields($array, $clear = false) { global $arParams; $arCheckbox = array("ACTIVE"); $arText = array('NAME', 'CODE'); $arHidden = array('ID', 'CATALOG_ID', 'TIMESTAMP_X', 'SID'); $arSelect = array('CATALOG_SECTION_ID', 'PREVIEW_TEXT_TYPE', 'DETAIL_TEXT_TYPE'); $arTextarea = array('PREVIEW_TEXT', 'DETAIL_TEXT'); $arFile = array('PREVIEW_PICTURE', 'DETAIL_PICTURE'); $arExclude = array("ID"); if ($clear) { foreach ($array as $k) { $arField = array(); if (in_array($k, $arHidden)) { $arField['TYPE'] = 'hidden'; } elseif (in_array($k, $arSelect)) { $arField['TYPE'] = 'select'; } elseif (in_array($k, $arCheckbox)) { $arField['TYPE'] = 'checkbox'; } elseif (in_array($k, $arTextarea)) { $arField['TYPE'] = 'textarea'; } elseif (in_array($k, $arFile)) { $arField['TYPE'] = 'file'; } else { $arField['TYPE'] = 'text'; } if ($k == 'CATALOG_ID') { $arField['VALUE'] = intVal($arParams['CATALOG_ID']); } elseif ($k == 'SORT') { $arField['VALUE'] = empty($arField['VALUE']) ? '500' : intVal($arField['VALUE']); } elseif ($k == 'ACTIVE') { $arField['VALUE'] = empty($arField['VALUE']) ? 'Y' : sXss($arField['VALUE']); } elseif ($k == 'PREVIEW_TEXT_TYPE') { $arField['VALUES'] = array('text', 'html'); } elseif ($k == 'DETAIL_TEXT_TYPE') { $arField['VALUES'] = array('text', 'html'); } elseif ($k == "CATALOG_SECTION_ID") { $rs = CatalogSection::GetList(array(), array("CATALOG_ID" => intVal($arParams["CATALOG_ID"]))); $arSections = array(); $arSections[] = ''; while ($abSect = $rs->GetNext()) { $arSections[$abSect["ID"]] = $abSect["NAME"]; } $arField['VALUES'] = $arSections; } else { $arField['VALUE'] = ''; } if (!in_array($k, $arExclude)) { $result[$k] = $arField; } } } else { foreach ($array as $k => $v) { $arField = array(); if (in_array($k, $arHidden)) { $arField['TYPE'] = 'hidden'; } elseif (in_array($k, $arSelect)) { $arField['TYPE'] = 'select'; } elseif (in_array($k, $arCheckbox)) { $arField['TYPE'] = 'checkbox'; } elseif (in_array($k, $arTextarea)) { $arField['TYPE'] = 'textarea'; } elseif (in_array($k, $arFile)) { $arField['TYPE'] = 'file'; } else { $arField['TYPE'] = 'text'; } if ($k == 'CATALOG_ID') { $arField['VALUE'] = intVal($v); } elseif ($k == 'ACTIVE') { $arField['VALUE'] = empty($v) ? 'Y' : sXss($v); } elseif ($k == 'SORT') { $arField['VALUE'] = empty($v) ? '500' : intVal($v); } elseif ($k == 'PREVIEW_TEXT_TYPE') { $arField['VALUES'] = array('text' => 'text', 'html' => 'html'); } elseif ($k == 'DETAIL_TEXT_TYPE') { $arField['VALUES'] = array('text' => 'text', 'html' => 'html'); } elseif ($k == "CATALOG_SECTION_ID") { $rs = CatalogSection::GetList(array(), array("CATALOG_ID" => intVal($arParams["CATALOG_ID"]))); $arSections = array(); $arSections[] = ''; while ($arSect = $rs->GetNext()) { $arSections[$arSect["ID"]] = $arSect["NAME"]; } $arField['VALUES'] = $arSections; } else { $arField['VALUE'] = $v; } if (!in_array($k, $arExclude)) { $result[$k] = $arField; } } } return $result; }
<?php namespace ScriptAcid; if (!defined("KERNEL_INCLUDED") || KERNEL_INCLUDED !== true) { die; } if (!Modules::includeModule('catalog')) { ShowError("Модуль каталогов не установлен."); return; } $arParams["ID"] = isset($arParams["ID"]) ? sXss($arParams["ID"]) : ''; if (!empty($_POST)) { if (!empty($_POST["ID"])) { $arFields = array("ID" => sXss($_POST["ID"]), "SORT" => intVal($_POST["SORT"]), "SID" => sXss($_POST["SID"]), "NAME" => sXss($_POST["NAME"]), "SECTION_NAME" => sXss($_POST["SECTION_NAME"]), "ELEMENT_NAME" => sXss($_POST["ELEMENT_NAME"])); if ($arParams["ID"] != '') { if (CatalogType::Update($arParams["ID"], $arFields)) { AddMsg("Тип успешно обновлен!"); $this->redirectTo(SYS_ROOT . '/admin/catalog'); } else { $arResult["ERRORS"][] = "Не могу обновить тип каталога"; } } else { if (CatalogType::Add($arFields)) { AddMsg("Тип успешно добавлен!"); $this->redirectTo(SYS_ROOT . '/admin/catalog/'); } else { $arResult["ERRORS"][] = "Такой тип уже есть"; } } }
<?php namespace ScriptAcid; if (!defined("KERNEL_INCLUDED") || KERNEL_INCLUDED !== true) { die; } if (!Modules::includeModule('catalog')) { ShowError("Модуль каталогов не установлен."); return; } $arParams["SECTION_ID"] = intVal($arParams["SECTION_ID"]); $arParams["CATALOG_ID"] = intVal($arParams["CATALOG_ID"]); $arParams["CATALOG_TYPE"] = sXss($arParams["CATALOG_TYPE"]); if (empty($arParams["SHOW_FIELDS"])) { $arParams["SHOW_FIELDS"] = array("ID", "NAME", "SORT", "ACTIVE", "SID", "CODE"); } $arFilter = array(); if (!empty($arParams["SECTION_ID"])) { $arFilter['CATALOG_SECTION_ID'] = $arParams["SECTION_ID"]; } $arFilter["CATALOG_ID"] = $arParams["CATALOG_ID"]; $rs = CatalogSection::GetList(array(), $arFilter); while ($ob = $rs->GetNextElement()) { $arResult["ITEMS"][] = $ob->GetFields(); } $this->connectComponentTemplate();
<?php default: ?> <?php $arCaralogType = CatalogType::GetByID($_GET["TYPE"]); ?> <h3><?php echo str_replace('#TYPE#', $arCaralogType["NAME"], LANG("MODULE_CATALOG_TITLE")); ?> </h3> <?php ShowMsg(); ?> <p> <a href="?ACTION=ADD&TYPE=<?php echo sXss($_GET['TYPE']); ?> "><?php echo LANG("MODULE_CATALOG_ADD_TEXT"); ?> </a> </p> <?php Component::callComponent(":catalog.list", "_admin", array("SHOW_FIELDS" => array("ID", "NAME", "CATALOG_TYPE_ID", "SORT", "ACTIVE", "SID", "CODE"), "CATALOG_TYPE" => $_GET["TYPE"])); ?> <?php break; } ?> <p>
$arFile = array(); $arFile['name'] = $_FILES['PROPERTY']['name'][$propID]; $arFile['tmp_name'] = $_FILES['PROPERTY']['tmp_name'][$propID]; $arFile['type'] = $_FILES['PROPERTY']['type'][$propID]; $arFile['error'] = $_FILES['PROPERTY']['error'][$propID]; $arProperties[$propID] = $arFile; } } else { $arProperties[$propID] = $_POST["PROPERTY"][$propID]; } } } } $arElementFields = array("CATALOG_SECTION_ID" => intVal($_POST["CATALOG_SECTION_ID"]), "SORT" => intVal($_POST["SORT"]), "CODE" => sXss($_POST["CODE"]), "NAME" => sXss($_POST["NAME"]), "ACTIVE" => $_POST["ACTIVE"] == "Y" ? "Y" : '', "CATALOG_ID" => intVal($arParams["CATALOG_ID"]), "PREVIEW_TEXT" => sXss($_POST["PREVIEW_TEXT"]), "PREVIEW_PICTURE" => $_FILES["PREVIEW_PICTURE"], "PREVIEW_TEXT_TYPE" => sXss($_POST["PREVIEW_TEXT_TYPE"]), "DETAIL_TEXT" => sXss($_POST["DETAIL_TEXT"]), "DETAIL_TEXT_TYPE" => sXss($_POST["DETAIL_TEXT_TYPE"]), "DETAIL_PICTURE" => $_FILES["DETAIL_PICTURE"], "PROPERTIES" => $arProperties); if ($arParams['PREVIEW_FROM_DETAIL'] == "Y") { $arElementFields['PREVIEW_TEXT'] = TruncateText(sXss($_POST["DETAIL_TEXT"]), $arParams['PREVIEW_TEXT_LENGTH']); } if ($arParams["ID"] > 0) { if (CatalogElement::Update($arParams["ID"], $arElementFields)) { AddMsg($arParams['MSG_EDIT']); if (!isset($_POST["apply_btn"])) { $this->redirectTo($arParams['LIST_URL']); } } else { $arResult["ERRORS"][] = "Не могу найти элемент каталога"; } } else { if (CatalogElement::Add($arElementFields)) { AddMsg($arParams['MSG_ADD']); $this->redirectTo($arParams['LIST_URL']); } else {
private static function updatePropertyEnum($ID, $arValue) { global $DB; $sql = "UPDATE " . self::$table_props_enum . " SET " . "`TIMESTAMP_X` = '" . date("Y-m-d H:i:s") . "', " . "`VALUE` = '" . sXss(sSql($arValue["VALUE"])) . "', " . "`SORT` = '" . (!empty($arValue["SORT"]) ? intVal($arValue["SORT"]) : '500') . "', " . "`XML_ID` = '" . (!empty($arValue["XML_ID"]) ? sXss(sSql($arValue["XML_ID"])) : '') . "', " . "`DEF` = '" . ($arValue["DEF"] == "N" ? 'N' : 'Y') . "' " . "WHERE `PROPERTY_ID` = '" . intVal($ID) . "';"; $DB->Query($sql); return true; }
function getCatalogFields($array, $clear = false) { global $arParams; $arCheckbox = array("ACTIVE"); $arText = array('NAME', 'CODE'); $arHidden = array('ID', 'CATALOG_TYPE_ID', 'TIMESTAMP_X'); $arSelect = array('SID', 'DESCRIPTION_TYPE'); $arTextarea = array('DESCRIPTION'); $arFile = array('PICTURE'); $arExclude = array("ID"); if ($clear) { foreach ($array as $k) { $arField = array(); if (in_array($k, $arHidden)) { $arField['TYPE'] = 'hidden'; } elseif (in_array($k, $arSelect)) { $arField['TYPE'] = 'select'; } elseif (in_array($k, $arCheckbox)) { $arField['TYPE'] = 'checkbox'; } elseif (in_array($k, $arTextarea)) { $arField['TYPE'] = 'textarea'; } elseif (in_array($k, $arFile)) { $arField['TYPE'] = 'file'; } else { $arField['TYPE'] = 'text'; } if ($k == 'CATALOG_TYPE_ID') { $arField['VALUE'] = sXss($arParams['TYPE']); } elseif ($k == 'SID') { $arField['VALUE'] = array('ru'); } elseif ($k == 'DESCRIPTION_TYPE') { $arField['VALUE'] = array('text', 'html'); } else { $arField['VALUE'] = ''; } if (!in_array($k, $arExclude)) { $result[$k] = $arField; } } } else { foreach ($array as $k => $v) { $arField = array(); if (in_array($k, $arHidden)) { $arField['TYPE'] = 'hidden'; } elseif (in_array($k, $arSelect)) { $arField['TYPE'] = 'select'; } elseif (in_array($k, $arCheckbox)) { $arField['TYPE'] = 'checkbox'; } elseif (in_array($k, $arTextarea)) { $arField['TYPE'] = 'textarea'; } elseif (in_array($k, $arFile)) { $arField['TYPE'] = 'file'; } else { $arField['TYPE'] = 'text'; } if ($k == 'CATALOG_TYPE_ID') { $arField['VALUE'] = sXss($v); } elseif ($k == 'SID') { $arField['VALUE'] = array($v); } elseif ($k == 'DESCRIPTION_TYPE') { $arField['VALUE'] = array('text', 'html'); } else { $arField['VALUE'] = $v; } if (!in_array($k, $arExclude)) { $result[$k] = $arField; } } } return $result; }
<p> <a href="?ACTION=ADD&TYPE=<?php echo sXss($_GET['TYPE']); ?> &CATALOG_ID=<?php echo sXss($_GET['CATALOG_ID']); ?> "><?php echo LANG("MODULE_CATALOG_ELEMENTS_ADD_TEXT"); ?> </a> <a href="?ACTION=ADD_SECTION&TYPE=<?php echo sXss($_GET['TYPE']); ?> &CATALOG_ID=<?php echo sXss($_GET['CATALOG_ID']); ?> "><?php echo LANG("MODULE_CATALOG_SECTION_ADD_TEXT"); ?> </a> </p> <?php Component::callComponent(":catalog.section.list", "_admin", array("SECTION_ID" => $_GET["SECTION_ID"], "CATALOG_ID" => $_GET["CATALOG_ID"], "=CATALOG_TYPE" => $_GET["TYPE"], "FIELDS" => array("ID", "ACTIVE", "NAME", "CATALOG_SECTION_ID", "CATALOG_ID", "SORT", "CODE", "PREVIEW_PICTURE", "PREVIEW_TEXT", "PREVIEW_TEXT_TYPE", "DETAIL_PICTURE", "DETAIL_TEXT", "DETAIL_TEXT_TYPE", "TAGS"))); ?> <?php Component::callComponent(":catalog.section", "_admin", array("CATALOG_TYPE" => $_GET["TYPE"], "CATALOG_ID" => intVal($_GET["CATALOG_ID"]), "=SECTION_ID" => $_GET["SECTION_ID"])); ?> <?php break; }