public function defAction() { if (!system::issetUrl(2)) { system::redirect('/reference'); } if ($class = ormClasses::get(system::url(2))) { if (!$class->isInheritor('handbook') || $class->getSName() == 'handbook') { system::redirect('/reference'); } ui::setNaviBar(lang::right('values')); ui::setHeader($class->getName()); ui::setBackButton('/reference'); if (user::issetRight('val_upd')) { $count = 0; $fields = $class->loadFields(); foreach ($fields as $field) { if ($field['f_view'] == 1) { $count++; } } } else { $count = 4; } $sel = new ormSelect($class->getSName()); if ($count > 5) { ui::newButton(lang::get('BTN_NEW_LIST'), '/reference/val_add/' . system::url(2)); $table = new uiTable($sel); $table->showSearch(true); $table->addColumn('name', 'Имя объекта'); $table->addColumn('id', '#', 200); $table->defaultRight('val_upd'); $table->addRight('val_upd', 'edit', single); $table->addRight('val_del', 'drop', multi); return $table->getHTML(); } else { ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');"); $form = new ormMultiForm('change'); $form->setData($sel); $form->showColumnID(); $form->setRight('val_proc_upd'); $form->moreParam(system::url(2)); if (!user::issetRight('val_upd') || !user::issetRight('val_add')) { $form->withoutAdditions(); } if (!user::issetRight('val_del')) { $form->withoutRemoving(); } return $form->getHTML(); } } else { system::redirect('/reference'); } }
public function defAction() { if (!system::issetUrl(2)) { system::redirect('/constructor'); } $class = ormClasses::get(system::url(2)); if (!$class->isInheritor('handbook') || $class->getSName() == 'handbook') { system::redirect('/constructor'); } ui::setHeader(lang::get('CONSTR_LIST') . '"' . $class->getName() . '"'); ui::setBackButton('/constructor'); $count = 0; $fields = $class->loadFields(); while (list($key, $field) = each($fields)) { if ($field['f_view'] == 1) { $count++; } } $sel = new ormSelect($class->getSName()); if ($count > 3) { ui::newButton(lang::get('BTN_NEW_LIST'), '/constructor/list_add/' . system::url(2)); //$objects = ormObjects::getObjectsByClass(system::url(2)); $table = new uiTable($sel); $table->showSearch(true); $table->addColumn('name', 'Имя объекта'); $table->defaultRight('list_upd'); $table->addRight('list_upd', 'edit', single); $table->addRight('list_del', 'drop', multi); return $table->getHTML(); } else { ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');"); $form = new ormMultiForm('change'); $form->setData($sel); $form->setRight('list_proc_upd'); $form->moreParam(system::url(2)); /* // $form->addColumn('name', '', 150, '', 0); // $form->addColumn('nositeli', '', 120, '', 0); $form->addColumn('e_mail', '', 200, 'правпы', 1); $form->addColumn('spiska', '', 150, '', 1); $form->addColumn('url', '', 150, '', 1); function email($val, $obj){ return '<a href="mailto:'.$val.'">'.$val.'</a>'; } */ //$form->withoutAdditions(); //$form->withoutRemoving(); return $form->getHTML(); }
public function defAction() { if ($parent = ormObjects::get(system::url(2))) { ui::setNaviBar(lang::right('msg')); ui::setHeader($parent->name); } else { system::redirect('/subscription'); } ui::setBackButton('/subscription'); ui::newButton(lang::get('SUBSCRIBE_BTN_ADD2'), '/subscription/msg_add/' . system::url(2)); function getState($date, $obj) { if ($obj->error_part_num > 0) { $time = time() - strtotime($obj->last_subscribe); if ($time > 4) { return str_replace('%part%', $obj->error_part_num, lang::get('SUBSCRIBE_MSG', 1)); } else { return str_replace('%part%', $obj->error_part_num, lang::get('SUBSCRIBE_MSG', 2)); } } else { if ($obj->part_count_awaiting > 0) { page::assign('part1', $obj->part_count - $obj->part_count_awaiting); page::assign('part2', $obj->part_count); return page::parse(lang::get('SUBSCRIBE_MSG', 3)); } else { if ($obj->last_subscribe == '0000-00-00 00:00:00') { return lang::get('SUBSCRIBE_MSG', 4); } else { return lang::get('SUBSCRIBE_MSG', 5) . ' ' . date('d.m.Y ' . lang::get('SUBSCRIBE_MSG', 6) . ' H:i', strtotime($obj->last_subscribe)); } } } } // Выводим список сообщений рассылки $sel = new ormSelect('subscribe_msg'); $sel->fields('name, last_subscribe, part_count, part_count_awaiting, error_part_num'); $sel->where('parents', '=', system::url(2)); $sel->orderBy('create_date', desc); $table = new uiTable($sel); $table->formatValues(true); $table->addColumn('name', lang::get('SUBSCRIBE_MSG_TT1'), 300); $table->addColumn('last_subscribe', lang::get('SUBSCRIBE_MSG_TT2'), 300, 0, 1, 'getState'); $table->defaultRight('msg_upd'); $table->addRight('msg_upd', 'edit', single); $table->addRight('msg_del', 'drop', multi); return $table->getHTML(); }
public function defAction() { // Определяем какие кнопки будут $types = ormClasses::get('user')->getAllInheritors(); if (count($types) > 1) { $class_list = ''; while (list($id, $name) = each($types)) { $bclass = ormClasses::get($id); $class_list .= '<a href="' . system::au() . '/users/user_add/' . system::url(2) . '/' . $bclass->getSName() . '" style="line-height:17px;">' . $bclass->getName() . '</a><br />'; } ui::newButton(lang::get('BTN_NEW_USER'), "/users/user_add/" . system::url(2), 'class_list', $class_list); } else { ui::newButton(lang::get('BTN_NEW_USER'), "/users/user_add/" . system::url(2)); } ui::setBackButton('/users'); // Заголовок страницы if ($group = ormObjects::get(system::url(2))) { ui::setNaviBar($group->name); ui::setHeader(lang::right('userlist')); } // Выбираем пользователей $sel = new ormSelect('user'); if (system::issetUrl(2) && system::url(2) != 0) { $sel->where('parents', '=', system::url(2)); } $sel->orderBy('create_date', desc); // Строим таблицу $table = new uiTable($sel); $table->formatValues(true); $table->showSearch(true); $table->addColumn('login', lang::get('USERS_TABLE_FIELD_1'), 0, true); $table->addColumn('surname name', lang::get('USERS_TABLE_FIELD_2'), 0, true); $table->addColumn('create_date', lang::get('USERS_TABLE_FIELD_7'), 0, true, true, '', 1); $table->addColumn('last_visit', lang::get('USERS_TABLE_FIELD_3'), 0, true, true, '', 1); $table->addColumn('parents', lang::get('USERS_TABLE_FIELD_4'), 0, false, true); $table->defaultRight('user_upd'); $table->addRight('user_upd', 'edit', single); $table->addRight('user_act', 'active', multi); $table->addRight('user_del', 'drop', multi); $table->setDelMessage(lang::get('USERS_DEL_TITLE'), lang::get('USERS_DEL_TEXT')); $table->setMultiDelMessage(lang::get('USERS_DEL_TITLE_MULTI'), lang::get('USERS_DEL_TEXT_MULTI')); return $table->getHTML(); }
public function upd() { // Указываем для какого объекта строить форму if (system::action() == "upd") { // Если это редактирование $obj = ormObjects::get(system::url(2)); // Заголовок страницы ui::setNaviBar(lang::right('group_upd')); ui::setHeader($obj->name); $right = 'group_proc_upd'; } else { if (system::action() == "add") { // Если это добавление нового объекта $obj = new ormObject(); $obj->setParent(0); $obj->setClass('user_group'); // Устанавливает параметры по умолчанию $obj->active = 1; $right = 'group_proc_add'; } } // Если произошли ошибки, перенаправляем на главную страницу модуля if (!$obj->isInheritor('user_group')) { system::redirect('/users'); } // Устанавливаем кнопки для формы ui::setCancelButton('/users/grouplist'); ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');"); // Создаем форму и выводим ее на страницу $form = new ormEditForm($obj, $right); $form->attachJavaScript('/css_mpanel/group_upd.js'); $form->addInBottomTabs('base', rights::getListForModuls(system::url(2), 0)); // Здесь можно переопределить стандартные параметры формы редактирования // ... return $form->getHTML(); }
public function defAction() { if (!system::issetUrl(2)) { system::redirect('/subscription'); } if ($parent = ormObjects::get(system::url(2))) { ui::setNaviBar(lang::right('user')); ui::setHeader($parent->name); } ui::newButton(lang::get('SUBSCRIBE_BTN_ADD3'), '/subscription/user_add/' . system::url(2)); ui::newButton(lang::get('SUBSCRIBE_BTN_ADD4'), '/subscription/user_addlist/' . system::url(2)); ui::setBackButton('/subscription'); $sel = new ormSelect('subscribe_user'); $sel->where('parents', '=', system::url(2)); $table = new uiTable($sel); $table->showSearch(true); $table->moreParam(system::url(2)); $table->addColumn('name', lang::get('SUBSCRIBE_USER_TT1'), 300); $table->addColumn('second_name first_name', lang::get('SUBSCRIBE_USER_TT2'), 300); $table->defaultRight('user_upd'); $table->addRight('user_upd', 'edit', single); $table->addRight('user_del', 'drop', multi); return $table->getHTML(); }
public function defAction() { // Устанавливаем статус системы "в режиме администрирования". system::$isAdmin = true; page::$macros = 0; // Попытка авторизации if (!empty($_POST['enter'])) { if (!user::auth($_POST['login'], $_POST['passw'])) { $this->showAuthForm(1); } else { header("Location: " . $_SERVER["HTTP_REFERER"]); } } // Если пользователь не админ, показываем форму авторизации if (!user::isAdmin()) { $this->showAuthForm(); } // Определяем текущий домен domains::curDomain(); // Выход из системы if (system::issetUrl(0) && system::url(0) == 'logout') { user::logout(); } if (system::url(0) == 'showhide') { $_SESSION['SH_FIELDS'] = system::url(1) == 0 ? 'hide' : 'show'; system::stop(); } // Обработка запросов от поля ObjectLinks ui::checkObjectLinks(); system::$defTemplate = MODUL_DIR . '/mpanel/template/default.tpl'; // Определяем модуль if (!system::issetUrl(0)) { system::setUrl(0, user::getDefModul()); } // Если есть ссылка на обработчик формы if (!empty($_POST['right'])) { system::setUrl(1, system::POST('right', isVarName)); } // Определяем право if (system::issetUrl(1)) { // Проверяем существует ли указанное право if (user::issetRight(system::url(1))) { $currRight = system::url(1); } else { if (user::issetRight(str_replace('_proc', '', system::url(1)))) { $currRight = system::url(1); } } } else { // Пытаемся найти право по умолчанию $def_right = user::getDefaultRight(system::url(0)); if ($def_right) { $currRight = $def_right; system::setUrl(1, $def_right); } } $this->getMenu(); page::assign('current_url', system::getCurrentUrl()); page::assign('admin_url', system::au()); if (!empty($currRight)) { // Определяем имя и метод контролера $pos = strpos($currRight, '_'); if ($pos) { $class_name = '__' . substr($currRight, 0, $pos); $action_name = substr($currRight, $pos + 1, strlen($currRight) - $pos); } else { $class_name = '__' . $currRight; $action_name = 'defAction'; } $mod_name = MODUL_DIR . '/' . system::url(0) . '/' . $class_name . '.php'; // Пытаемся подгрузить модуль if (file_exists($mod_name)) { include $mod_name; if (file_exists(MODUL_DIR . '/' . system::url(0) . '/lang-ru.php')) { include MODUL_DIR . '/' . system::url(0) . '/lang-ru.php'; } ui::setHeader(lang::right($currRight)); if (class_exists($class_name)) { eval('$c = new ' . $class_name . '();'); if (ui::$stop) { $content = '.'; } else { if (method_exists($c, $action_name)) { $content = call_user_func(array($c, $action_name)); } } } } if (empty($content)) { $msg = lang::get('TEXT_PROC_NOTFOUND2') . '<br />' . system::getCurrentUrl() . '<br /><br /> ' . lang::get('TEXT_PROC_NOTFOUND3') . '<br />' . $mod_name . '<br /><br /> ' . lang::get('TEXT_PROC_NOTFOUND4'); system::log(lang::get('TEXT_PROC_NOTFOUND') . ' ' . system::getCurrentUrl()); ui::MessageBox(lang::get('TEXT_PROC_NOTFOUND'), $msg); system::redirect('/'); } } else { system::log(lang::get('TEXT_ERROR_RIGHT_LOG') . system::getCurrentUrl()); ui::MessageBox(lang::get('TEXT_ERROR_RIGHT'), lang::get('TEXT_ERROR_RIGHT2')); system::redirect('/'); } //Производим сжатие страницы if (reg::getKey('/config/gzip')) { $PREFER_DEFLATE = false; $FORCE_COMPRESSION = false; $AE = isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : $_SERVER['HTTP_TE']; $support_gzip = strpos($AE, 'gzip') !== FALSE || $FORCE_COMPRESSION; $support_deflate = strpos($AE, 'deflate') !== FALSE || $FORCE_COMPRESSION; if ($support_gzip && $support_deflate) { $support_deflate = $PREFER_DEFLATE; } if ($support_deflate) { header("Content-Encoding: deflate"); ob_start("compress_output_deflate"); } else { if ($support_gzip) { header("Content-Encoding: gzip"); ob_start("compress_output_gzip"); } else { ob_start(); } } } return ui::getMainHTML($content); }
public function defAction() { $_SESSION['STRUCTURE_LIST_FLAG'] = 1; // Если страниц нет, предлагаем добавить новую if (ormPages::getCountOfSection(0) == 0) { ui::MessageBox(lang::get('STRUCTURE_PAGE_NOT_FOUND'), lang::get('STRUCTURE_PAGE_NOT_FOUND2')); system::redirect('/structure/page_add'); } $obj_id = system::issetUrl(2) ? system::url(2) : 0; function getPageNotice($page) { $notice = ''; if ($page->is_home_page) { $notice = lang::get('STRUCTURE_TREE_TEXT12'); } if ($page->other_link != '') { $notice = lang::get('STRUCTURE_TREE_TEXT32'); } if (!$page->view_in_menu) { if (!empty($notice)) { $notice .= ', '; } $notice .= lang::get('STRUCTURE_TREE_TEXT22'); } if (!empty($notice)) { return '(' . $notice . ')'; } else { return ''; } } // Вывод дерева объектов $tree = new ormTree(328, 57); $tree->setClass('ormPage'); $tree->setRoot(0, reg::getKey(ormPages::getPrefix() . '/title_prefix'), 'list/0'); $tree->setNotice('getPageNotice'); $tree->setRightEdit('list'); $tree->setRightActive('page_proc_act'); $tree->setRightRemove('page_proc_moveto'); $tree->setRightAjaxLoad('list'); $tree->setDelMessage(lang::get('STRUCTURE_DEL_TITLE'), lang::get('STRUCTURE_DEL_TEXT')); $tree->addRight('page_upd', lang::right('page_upd'), 'compose_image'); $tree->addRight('page_add', lang::right('page_add'), 'add_image'); //, 'class_list', $class_list ui::setLeftPanel($tree->getHTML()); // Заголовок страницы ui::setHeader(lang::right('tree')); if (!empty($obj_id) && ($obj = ormPages::get($obj_id))) { ui::setNaviBar(lang::right('list')); ui::setHeader($obj->name); ui::setBackButton('/structure/list/' . $obj->getParentId()); } else { $obj_id = 0; } // Формируем список классов для быстрого добавления $class_name = ormPages::getPopularClass($obj_id); $class = ormClasses::get($class_name); $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/' . $obj_id . '/' . $bc->getSName() . '">' . $bc->getName() . '</a></li>'; } else { $elem_list .= ' <li ><img src="' . $pach . $ico . '"> <a href="' . system::au() . '/structure/page_add/' . $obj_id . '/' . $bc->getSName() . '">' . $bc->getName() . '</a></li>'; } } } $class_list = '<ul>' . $cat_list . '</ul><ul>' . $elem_list . '</ul>'; ui::newButton(lang::get('PANEL_BTN_ADD_PART') . $class->getPadej(0), "/structure/page_add/" . $obj_id, 'class_list', $class_list); // Формируем выборку страниц для таблицы $sel = new ormSelect(); $sel->findInPages(); $sel->where('parents', '=', $obj_id); // Определяем способ сортировки списка $order_by = !empty($obj_id) ? $obj->order_by : ''; if (!empty($order_by)) { $pos = strpos($order_by, ' '); if ($pos) { $parram = substr($order_by, $pos + 1); $order_by = substr($order_by, 0, $pos); } else { $parram = ''; } $sel->orderBy($order_by, $parram); } else { $sel->orderBy(position, asc); } // Вывод таблицы $table = new uiTable($sel); $table->formatValues(true); $table->showSearch(true); $table->hideEmptyColumns(true); $table->addColumn('name', lang::get('STRUCTURE_TABLE_FIELD_1'), 500, true); $table->addColumn('image', lang::get('STRUCTURE_TABLE_FIELD_2'), 400, false, false); $table->addColumn('price', lang::get('STRUCTURE_TABLE_FIELD_3'), 400); $table->addColumn('publ_date', lang::get('STRUCTURE_TABLE_FIELD_4'), 400); $table->defaultRight('page_upd'); $table->addRight('page_upd', 'edit', single); $table->addRight('list', 'list', single); $table->addRight('page_history', 'history', single); $table->addRight('page_proc_act', 'active', multi); $table->addRight('page_del', 'drop', multi); $table->setDelMessage(lang::get('STRUCTURE_DEL_TITLE'), lang::get('STRUCTURE_DEL_TITLE')); $table->setMultiDelMessage(lang::get('STRUCTURE_DEL_TITLE_MULTI'), lang::get('STRUCTURE_DEL_TEXT_MULTI')); return $table->getHTML(); }
public function upd() { // Указываем для какого объекта строить форму if (system::action() == "upd") { // Если это редактирование $obj = ormObjects::get(system::url(2)); // Заголовок страницы ui::setNaviBar(lang::get('TEXT_EDIT') . $obj->getClass()->getPadej(1)); ui::setHeader($obj->login); $class_list = ''; $group_id = system::issetUrl(3) ? system::url(3) : $obj->getParentId(); $right = 'user_proc_upd'; } else { if (system::action() == "add") { $class_name = system::issetUrl(3) ? system::url(3) : 'user'; // Если это добавление нового объекта $group_id = system::url(2); $right = 'user_proc_add'; $obj = new ormObject(); $obj->setParent($group_id); $obj->setClass($class_name); $obj->active = 1; // Формируем список классов для быстрого изменения класса объекта $types = ormClasses::get('user')->getAllInheritors(); $class_list = ''; while (list($id, $name) = each($types)) { if ($bc = ormClasses::get($id)) { $url = system::au() . '/users/user_add/' . $group_id . '/' . $bc->getSName(); $class_list .= '<a href="' . $url . '" style="line-height:17px;">' . $bc->getName() . '</a><br />'; } } // Заголовок страницы if ($group = ormObjects::get($group_id)) { ui::setNaviBar($group->name, '/users/userlist/' . $group_id); ui::setHeader(lang::get('TEXT_ADD') . $obj->getClass()->getPadej(1)); } } } // Если произошли ошибки, перенаправляем на главную страницу модуля if (!$obj->isInheritor('user')) { system::redirect('/users/userlist'); } // Устанавливаем кнопки для формы if (empty($group_id)) { ui::setCancelButton('/users/grouplist'); } else { ui::setCancelButton('/users/userlist/' . $group_id); } 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); // Изменяем вид поля "Модуль по умолчанию" $modules = user::getModulesForObject($obj); $form->replaceField('def_modul', ui::SelectBox('def_modul', $modules, $obj->def_modul, 400)); // Добавляем вкладку "Права доступа" $tab_content = '<div style="margin-left:20px;width: 950px;">' . lang::get('USERS_TEXT_RIGHT_HINT') . rights::getListForModuls($obj->id, 1) . '</div>'; $form->attachJavaScript('/css_mpanel/users_upd.js'); $form->newTabs(lang::get('USERS_TABS_RIGHT'), $tab_content); return $form->getHTML(); }
public function history() { if (system::url(2) == 0) { system::redirect('/subscription'); } if ($obj = ormObjects::get(system::url(2))) { ui::setBackButton('/subscription'); ui::setNaviBar(lang::right('subscribe_history')); ui::setHeader($obj->name); return ui::getHistoryTable($obj->id); } system::redirect('/subscription'); }
public function history() { if (system::url(2) == 0) { system::redirect('/structure'); } if ($obj = ormPages::get(system::url(2))) { if (isset($_SESSION['STRUCTURE_LIST_FLAG']) && $_SESSION['STRUCTURE_LIST_FLAG']) { ui::setBackButton('/structure/list/' . $obj->getParentId()); } else { ui::setBackButton('/structure/tree'); } ui::setNaviBar(lang::right('page_history') . ' ' . $obj->getClass()->getPadej(1)); ui::setHeader($obj->name); return ui::getHistoryTable($obj->id); } system::redirect('/structure'); }