コード例 #1
0
ファイル: component.php プロジェクト: r3c130n/scriptacid
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;
}
コード例 #2
0
ファイル: component.php プロジェクト: r3c130n/scriptacid
<?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"][] = "Такой тип уже есть";
            }
        }
    }
コード例 #3
0
ファイル: component.php プロジェクト: r3c130n/scriptacid
<?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();
コード例 #4
0
ファイル: catalog.php プロジェクト: r3c130n/scriptacid
	<?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>
コード例 #5
0
ファイル: component.php プロジェクト: r3c130n/scriptacid
                     $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 {
コード例 #6
0
ファイル: class.Catalog.php プロジェクト: r3c130n/scriptacid
 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;
 }
コード例 #7
0
ファイル: component.php プロジェクト: r3c130n/scriptacid
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;
}
コード例 #8
0
ファイル: elements.php プロジェクト: r3c130n/scriptacid
	<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>&nbsp;&nbsp;&nbsp;
		<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;
    }