public function defAction() { if (file_exists(MODUL_DIR . '/structure/template/settings.tpl')) { include MODUL_DIR . '/structure/template/settings.tpl'; } // ui::newButton(lang::get('BTN_SAVE_ONLY'), "javascript:sendForm('save');"); ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');"); if (isset($_SESSION['STRUCTURE_LIST_FLAG']) && $_SESSION['STRUCTURE_LIST_FLAG']) { ui::setCancelButton('/structure/list'); } else { ui::setCancelButton('/structure/tree'); } // Основные настройки page::assignArray(lang::get('STRUCTURE_FORM_FIELD')); page::assign('title_prefix', reg::getKey(ormPages::getPrefix() . '/title_prefix')); page::assign('keywords', reg::getKey(ormPages::getPrefix() . '/keywords')); page::assign('description', reg::getKey(ormPages::getPrefix() . '/description')); ui::CheckBox('cur_date', 1, reg::getKey('/structure/' . domains::curId() . '/cur_date'), lang::get('STRUCTURE_FORM_FIELD', 4)); ui::CheckBox('no_view_no_edit', 1, reg::getKey(ormPages::getPrefix() . '/no_view_no_edit'), lang::get('STRUCTURE_FORM_FIELD', 7)); ui::CheckBox('view_as_tree', 1, reg::getKey(ormPages::getPrefix() . '/view_as_tree'), lang::get('STRUCTURE_FORM_FIELD', 18)); ui::CheckBox('auto_index', 1, reg::getKey(ormPages::getPrefix('search') . '/auto_index'), lang::get('STRUCTURE_FORM_FIELD', 19)); $file = ROOT_DIR . '/robots_part_' . domains::curDomain()->getName() . '.txt'; $robots = file_exists($file) ? file_get_contents($file) : ''; page::assign('robots', $robots); // Форма редактирования шаблонов страниц $form = new uiMultiForm('page_tpl'); $form->insideForm(); $form->setData(templates::getByDestination()); $form->addColumn('t_name', lang::get('STRUCTURE_TABLE_FIELD_5'), 300); $form->addColumn('t_file', lang::get('STRUCTURE_TABLE_FIELD_6'), 300, lang::get('STRUCTURE_TABLE_FIELD_7')); page::assign('page_tpl', $form->getHTML()); // Форма редактирования шаблонов объектов $form = new uiMultiForm('obj_tpl'); $form->insideForm(); $form->setData(templates::getByDestination(1)); $form->addColumn('t_name', lang::get('STRUCTURE_TABLE_FIELD_5'), 300); $form->addColumn('t_file', lang::get('STRUCTURE_TABLE_FIELD_6'), 300, lang::get('STRUCTURE_TABLE_FIELD_7')); page::assign('obj_tpl', $form->getHTML()); // Управление отображением $classes = ormClasses::getPagesClassList(); ui::SelectBox('no_view_classes', $classes, reg::getList(ormPages::getPrefix() . '/no_view'), 600, ' ', '', 'selectbox_multi_big'); ui::SelectBox('no_edit_classes', $classes, reg::getList(ormPages::getPrefix() . '/no_edit'), 600, ' ', '', 'selectbox_multi_big'); return page::parse($TEMPLATE['frame']); }
public function upd() { $is_page = false; if (file_exists(MODUL_DIR . '/constructor/template/class.tpl')) { include MODUL_DIR . '/constructor/template/class.tpl'; } if (system::action() == "upd") { // форма обновления информации $class = new ormClass(system::url(2)); if ($class->id() == '') { system::redirect('/constructor/tree'); } page::assign('obj.class_name', $class->getName()); page::assign('obj.sname', $class->getSName()); page::assign('obj.text', $class->getPadej()); page::assign('obj.id', $class->id()); $system = $class->isSystem(); $is_list = $class->isList(); $is_page = $class->isPage(); $is_user = $class->isInheritor('user'); $base_class = $class->getBaseClass(); page::assign('right', 'class_proc_upd'); // Выводим дерево для отображения структуры класса $tree = new ormFieldsTree(); page::assign('fields', $tree->getHTML($class)); } else { if (system::action() == "add") { // форма добавления информации $system = $is_list = $uniqum = $base_class = 0; // Проверяем существует ли родитель? if (system::issetUrl(2)) { $parent = new ormClass(system::url(2)); if ($parent->id() == '') { system::redirect('/constructor/tree'); } $is_list = $parent->isList(); $is_page = $parent->isPage(); $is_user = $parent->isInheritor('user'); } else { $is_user = false; } page::assign('obj.id', system::url(2)); page::assign('right', 'class_proc_add'); } } if ($is_page) { ui::SelectBox('class_list', ormClasses::getPagesClassList(), $base_class, 400, ' '); ui::SelectBox('template_list1', templates::getByDestination(0, true), isset($class) ? $class->getDefTemplate(0) : 0, 400, ' '); ui::SelectBox('template_list2', templates::getByDestination(1, true), isset($class) ? $class->getDefTemplate(1) : 0, 400, ' '); page::fParse('page_fields', $TEMPLATE['page_fields']); } else { if ($is_user) { page::fParse('page_fields', $TEMPLATE['user_fields']); } else { page::assign('page_fields', ''); } } if (system::action() == "add" || !$class->isSystem()) { ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');"); ui::setCancelButton('/constructor'); } else { ui::setBackButton('/constructor'); } page::assignArray(lang::get('CONSTR_FORM_FIELD')); page::assignSavingPost(); ui::CheckBox('system', 1, $system, lang::get('CONSTR_FORM_FIELD', 3)); ui::CheckBox('is_list', 1, $is_list, lang::get('CONSTR_FORM_FIELD', 4)); return page::parse($TEMPLATE['frame'], 1); }
public function upd() { // Проверяем наличие шаблонов $templs = templates::getByDestination(0, true); if (empty($templs)) { ui::MessageBox(lang::get('STRUCTURE_TEMPL_NOT_FOUND'), lang::get('STRUCTURE_TEMPL_NOT_FOUND2')); system::redirect('/structure/settings#tabs-page_tpl'); } // Указываем для какого объекта строить форму if (system::action() == "upd") { // Изменение страницы if (system::url(2) == 0) { system::redirect('/structure/settings'); } $obj = ormPages::get(system::url(2)); if ($obj instanceof ormPage) { $parent_id = $obj->getParentId(); ui::setHeader($obj->name); ui::setNaviBar(lang::get('TEXT_EDIT') . $obj->getClass()->getPadej(1)); } $class_list = ''; $right = 'page_proc_upd'; } else { if (system::action() == "add") { // Добавление страницы $class_name = system::issetUrl(3) ? system::url(3) : ormPages::getPopularClass(system::url(2)); if (!($class = ormClasses::get($class_name))) { system::redirect('/structure/tree'); } if (in_array($class->id(), reg::getList(ormPages::getPrefix() . '/no_edit'))) { system::redirect('/structure/tree'); } if (system::issetUrl(2) && system::url(2) != 0) { $parent = ormPages::get(system::url(2)); ui::setNaviBar($parent->name, '/structure/list/' . $parent->id); } ui::setHeader(lang::get('TEXT_ADD') . $class->getPadej(1)); // Если это добавление нового объекта $obj = new ormPage(); $obj->setParent(system::url(2)); $obj->setClass($class_name); $obj->view_in_menu = 1; $obj->view_submenu = 1; $obj->active = 1; $obj->in_search = 1; $obj->in_index = 1; $obj->publ_date = date('d.m.Y H:i:s'); // Наследуем параметры от родителя // Шаблоны $parent_id = $obj->issetParents() ? $obj->getParentId() : 0; $templ = templates::getPopularForSection($parent_id); $def_templ_1 = $obj->getClass()->getDefTemplate(0); $def_templ_2 = $obj->getClass()->getDefTemplate(1); $obj->template_id = $def_templ_1 != 0 ? $def_templ_1 : $templ[0]; $obj->template2_id = $def_templ_2 != 0 ? $def_templ_2 : $templ[1]; $parent_id = system::url(2); // Количество элементов на странице $this->getPopularValue($obj, 'number_of_items', 10); // Способ сортировки $this->getPopularValue($obj, 'order_by', ''); // Формируем список классов для быстрого изменения класса объекта $types = ormClasses::get('section')->getAllInheritors(); $no_edit = reg::getList(ormPages::getPrefix() . '/no_edit'); $elem_list = $cat_list = ''; while (list($id, $name) = each($types)) { if (!in_array($id, $no_edit)) { $bc = ormClasses::get($id); $pach = '/css_mpanel/tree/images/'; $ico = 'classes/' . $bc->getSName() . '.png'; if (!file_exists(ROOT_DIR . $pach . $ico)) { $ico = 'file1.gif'; } if ($bc->isInheritor('category') || $bc->getSName() == 'section') { $cat_list .= ' <li><img src="' . $pach . $ico . '"> <a href="' . system::au() . '/structure/page_add/' . $parent_id . '/' . $bc->getSName() . '">' . $bc->getName() . '</a></li>'; } else { $elem_list .= ' <li ><img src="' . $pach . $ico . '"> <a href="' . system::au() . '/structure/page_add/' . $parent_id . '/' . $bc->getSName() . '">' . $bc->getName() . '</a></li>'; } } } $class_list = '<ul>' . $cat_list . '</ul><ul>' . $elem_list . '</ul>'; $right = 'page_proc_add'; } } page::assign('right', $right); // Если произошли ошибки, перенаправляем на главную страницу модуля if (!$obj instanceof ormPage || $obj->issetErrors()) { system::redirect('/structure/tree'); } // Устанавливаем кнопки для формы if (isset($_SESSION['STRUCTURE_LIST_FLAG']) && $_SESSION['STRUCTURE_LIST_FLAG']) { ui::setCancelButton('/structure/list/' . $parent_id); } else { ui::setCancelButton('/structure/tree'); } if ($obj->isEditable()) { ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');"); } // Создаем форму и выводим ее на страницу $form = new ormEditForm($obj, $right); $form->setORMList($class_list); $form->addPadding('param', 9, 1); // Выбор шаблона оформления страниц $form->addField('param', 10, '', lang::get('STRUCTURE_TEMPLATE'), $this->getTemplateBox('template_id', $templs, $obj->template_id)); // Выбор шаблона оформления объектов $form->addField('param', 11, '', lang::get('STRUCTURE_TEMPLATE2'), $this->getTemplateBox('template2_id', templates::getByDestination(1, true), $obj->template2_id, 1)); // Выводим ID и URL страницы $this->getPageInfo($obj, $form); $form->newTabs(lang::get('STRUCTURE_TABS_RIGHT'), rights::getListForObject($obj, system::action())); //$form->newTabs(lang::get('STRUCTURE_TABS_RESTORE'), ' '); return $form->getHTML(); }