private static function init() { if (empty(self::$cur_lang)) { $lang_id = reg::getKey('/core/cur_lang/id'); if (!empty($lang_id)) { // Если язык в системе один, загружаем его данные из реестра $lang_prefix = reg::getKey('/core/cur_lang/prefix'); self::$langs[$lang_id] = array('l_id' => $lang_id, 'l_name' => reg::getKey('/core/cur_lang/name'), 'l_prefix' => $lang_prefix, 'id' => $lang_id); self::$langs_rel[$lang_prefix] = $lang_id; } else { // Языков много, определяем язык по URL`y if (system::issetUrl(0) && strlen(system::url(0)) < 6) { self::$cur_lang = self::get(system::url(0)); if (self::$cur_lang instanceof language) { system::clipUrl(); self::$isCliped = true; } } } if (!self::$cur_lang instanceof language) { self::$cur_lang = self::get(domains::curDomain()->getDefLang()); } if (!self::$cur_lang instanceof language) { die('не могу определить язык'); } } }
public function proc_upd() { if (system::issetUrl(2)) { $obj = new ormField(); $obj->setGroupId(system::url(2)); } else { if (system::action() == "proc_upd") { $obj = new ormField($_POST['obj_id']); } else { if (system::action() == "proc_add") { $obj = new ormField(); $obj->setGroupId($_POST['obj_id']); } } } if (!empty($_POST['fname'])) { $obj->setName($_POST['fname']); } if (!empty($_POST['max_size'])) { $obj->setMaxSize($_POST['max_size']); } else { $obj->setMaxSize(0); } $obj->setType(0); $obj->setInherit(1); $obj_id = $obj->save(); if ($obj_id === false) { echo json_encode(array('error' => 1, 'data' => $obj->getErrorListText(' '))); } else { $tree = new ormFieldsTree(); $forUpd = system::action() == "proc_add" ? 0 : 1; echo json_encode(array('error' => 0, 'data' => $tree->getFieldHTML($obj, $forUpd))); } system::stop(); }
public function restore() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное востановление $obj = new ormObject(system::url(2)); if ($obj->isInheritor('section')) { $obj = new ormPage(system::url(2)); } $obj->restore(); echo 'delete'; } else { if (isset($_POST['objects'])) { // Множественное востановление while (list($id, $val) = each($_POST['objects'])) { if (is_numeric($id)) { $obj = new ormObject($id); if ($obj->isInheritor('section')) { $obj = new ormPage($id); } $obj->restore(); } } echo 'delete'; } } ormPages::clearCache(); system::stop(); }
public function viewAction() { if (system::issetUrl(2)) { $_SESSION['voting_' . system::url(2)] = 1; echo page::macros('voting')->objView(system::url(2)); } system::stop(); }
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'); } }
/** * @return null * @param string $name - Имя права * @param string $mod - Имя модуля. Если не указано, то для текущего. * @desc Получить название права по системному имени. */ static function right($name, $mod = '') { if (empty($mod)) { $mod = system::url(0); } if (isset(self::$right[$mod][$name])) { return self::$right[$mod][$name]; } else { return false; } }
public function unsubscribeAction() { if (system::issetUrl(2) && system::issetUrl(3)) { if (($obj = ormObjects::get(system::url(2))) && $obj->isInheritor('subscription')) { mailingProcess::delEmailById(system::url(3), $obj->id); page::assign('name', $obj->name); return page::parse(lang::get('SUBSCRIPTION_MSG2')); } } return ormPages::get404(); }
public function change_rateAction() { if (!isset($_SESSION['comments_rate'][system::url(2)])) { if ($comment = comments::get(system::url(2))) { if (system::url(3) == 'up') { $comment->rateUp(); } else { $comment->rateDown(); } $_SESSION['comments_rate'][$comment->id()] = 1; $comment->save(); } } system::stop(); }
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 proc() { if (system::isAjax() && system::issetUrl(2)) { if (system::url(2) == 'start') { searchIndex::clear(); reg::setKey(ormPages::getPrefix('search') . '/index_date', date('d.m.Y')); $sel = new ormSelect(); $sel->fields('name'); $sel->findInPages(); $sel->where('active', '=', 1); $sel->where('in_search', '=', 1); echo $sel->getCount(); } else { if (system::url(2) == 'info') { $data = reg::getKey(ormPages::getPrefix('search') . '/index_date'); if (empty($data)) { $data = '-'; } system::json(array('pages' => searchIndex::getCountPages(), 'words' => searchIndex::getCountWords(), 'data' => $data)); } else { $sel = new ormSelect(); $sel->findInPages(); $sel->where('active', '=', 1); $sel->where('in_search', '=', 1); $sel->limit(system::url(2), 1); searchIndex::indexPage($sel->getObject()); echo 'ok'; } } system::stop(); } if (system::POST('parram') == 'clear') { searchIndex::clear(); } system::redirect('/search/index'); }
static function getContentFileSiteMap() { if (system::url(0) == 'sitemap.xml') { if (!($content = cache::get('sitemap.xml'))) { $content = ormPages::getFileSiteMap(); // Записываем в кэш cache::set('sitemap.xml', $content); } header('Content-type: text/xml; charset=UTF-8'); echo $content; system::stop(); } }
// удаление объекта public function del() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление ormObjects::get(system::url(2))->toTrash(); echo 'delete'; } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { ormObjects::get($id)->toTrash(); } echo 'delete'; } } system::stop();
public function addlist() { // Устанавливаем кнопки для формы ui::setCancelButton('/subscription/user/' . system::url(2)); ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); if (file_exists(MODUL_DIR . '/subscription/template/add_userlist.tpl')) { include MODUL_DIR . '/subscription/template/add_userlist.tpl'; } // Добавляем поле "Подписан на рассылку" $html = ui::SelectBox('subscribes', ormObjects::getObjectsByClass('subscription'), system::url(2), 400, '', '', 'selectbox_multi_big'); page::assignArray(lang::get('SUBSCRIBE_TEXT')); page::assign('parent_id', system::url(2)); return page::parse($TEMPLATE['frame']); }
function okAction() { if ($form_obj = ormObjects::get(system::url(2))) { page::globalVar('h1', lang::get('FEEDBACK_TITLE')); page::globalVar('title', lang::get('FEEDBACK_TITLE')); if ($form_obj->msg != '') { return $form_obj->msg; } else { return lang::get('FEEDBACK_MSG_1'); } } system::redirect('/'); }
/** * @return string * @param string $templ_name - Шаблон оформления * @desc МАКРОС: Выводит форму изменения пароля */ function changePassword($templ_name = 'change_password') { $templ_file = '/users/' . $templ_name . '.tpl'; $TEMPLATE = page::getTemplate($templ_file); if (!is_array($TEMPLATE)) { return page::errorNotFound('users.changePassword', $templ_file); } if (!user::isGuest()) { if (system::url(2) == 'ok') { return page::parse($TEMPLATE['frame_ok']); } else { page::parseError('change_password'); return page::parse($TEMPLATE['frame']); } } }
public function moveto() { $obj = new ormField(system::url(2)); $obj->setPosition(system::url(3)); $obj->setGroupId(system::url(4)); if ($obj->save()) { echo "ok"; } else { print_r($obj->getErrorList()); echo 'error'; } system::stop(); }
private function rights($TEMPLATE) { $rights = $rights_multi = $rights_act = ''; while (list($key, $right) = each($this->rights)) { // Определяем модуль для указанного права $pos = strpos($right['name'], '.'); if (!empty($pos)) { $module = substr($right['name'], 0, $pos); $right['name'] = substr($right['name'], $pos + 1, strlen($right['name'])); } else { $module = system::url(0); } if (user::issetRight($right['name'], $module)) { $url = system::au() . '/' . $module . '/' . $right['name'] . '/'; page::assign('url', $url); page::assign('class', $right['class']); page::assign('hint', lang::right($right['name'])); page::assign('del_button', $right['class'] == 'drop' ? 'id="del_button"' : ''); $java = !empty($right['java']) ? ' onClick="return ' . $right['java'] . '"' : ''; page::assign('java', $java); if ($right['class'] != 'active' && $right['view'] != only_multi) { // Формируем список прав с одинарным выбором $rights .= page::parse($TEMPLATE['right']); } else { if ($right['class'] == 'active') { // Активность объекта $rights_act .= page::parse($TEMPLATE['right_active']); //$active_right = $url; } } // Формируем список прав с множественным выбором if ($right['view'] == multi || $right['view'] == only_multi) { if ($right['class'] == 'active') { $text = lang::get('TABLE_ACTIVE_RIGHT'); } else { if ($right['class'] == 'drop') { $text = lang::get('TABLE_DROP_RIGHT'); } else { $text = $right['text']; } } page::assign('hint', $text); $rights_multi .= page::parse($TEMPLATE['right_multi']); } } else { if ($right['class'] == 'active') { // Активность объекта - не кликабельно $rights_act .= page::parse($TEMPLATE['right_active_noclick']); } } } page::assign('rights', $rights); page::fParse('rights', $TEMPLATE['rights']); page::assign('active', $rights_act); page::assign('rights_multi', $rights_multi); // Смотрим, нужно ли выводить чекбоксы if (!empty($rights_multi)) { page::fParse('checkbox', $TEMPLATE['checkbox']); page::fParse('checkbox_multi', $TEMPLATE['checkbox_multi']); } else { page::assign('checkbox', ''); page::assign('checkbox_multi', ''); } // Смотрим, выводить или нет первый столбец-заглушку if (!empty($rights_act) || !empty($rights_multi)) { $width = !empty($rights_act) && !empty($rights_multi) ? 60 : 30; page::assign('width', $width); page::fParse('first_column', $TEMPLATE['first_column']); page::fParse('item_check', $TEMPLATE['item_check']); } else { page::assign('first_column', ''); page::assign('item_check', ''); } page::fParse('shapka', $TEMPLATE['shapka']); }
/** * @return Сгенерированный HTML * @param ormClass $class - экземпляр ORM-класса, для которого необходимо построить структуру * @param String $templ_name - имя шаблона оформления * @desc Генерирует структуру полей для класса данных */ function getHTML($class, $templ_name = 'orm_fields_tree') { if (file_exists(MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl')) { include MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl'; $nodes['groups'] = $class->getAllGroups(); $nodes['fields'] = $class->getAllFields(); $main_url = system::au() . '/' . system::url(0) . '/'; page::assign('main_url', $main_url); if (is_array($nodes) && isset($nodes['groups']) && isset($nodes['fields'])) { $groups = ''; while (list($key, $node) = each($nodes['groups'])) { // Парсим данные о вложенных полях $fields = ''; reset($nodes['fields']); while (list($key, $field) = each($nodes['fields'])) { if ($field['f_group_id'] == $node['fg_id']) { if (empty($field['f_name'])) { $field['f_name'] = '- - - - -'; } page::assign('item.id', $field['f_id']); page::assign('item.parent_id', $field['f_group_id']); page::fParse('item.url', $this->rightEdit); page::assign('item.name', $field['f_name']); page::assign('item.sname', $field['f_sname']); page::assign('item.type', lang::get('CONSTR_TYPE_LIST', $field['f_type'])); page::assign('star', $field['f_required'] ? '*' : ''); page::assign('sh', $field['f_view'] ? 'lshow' : 'lhide'); if (empty($field['f_type'])) { page::assign('item.right', $this->getRightForField($TEMPLATE, $field['f_id'], $field['f_type'], $field['f_sname'])); $fields .= page::parse($TEMPLATE['separator']); } else { if ($field['f_system'] || $field['f_is_clone']) { $fields .= page::parse($TEMPLATE['field_not_edit']); } else { page::assign('item.right', $this->getRightForField($TEMPLATE, $field['f_id'], $field['f_type'], $field['f_sname'])); $fields .= page::parse($TEMPLATE['field_edit']); } } } } page::assign('items', $fields); page::assign('item.id', $node['fg_id']); page::fParse('sub_items', $TEMPLATE['frame_items']); // Парсим данные о группе полей fg_view fg_sname page::assign('item.id', $node['fg_id']); page::assign('item.parent_id', 0); page::fParse('item.url', $this->rightEdit2); page::assign('item.name', $node['fg_name']); page::assign('item.sname', $node['fg_sname']); page::assign('sh', $node['fg_view'] ? ' lshow' : ' lhide'); $other = $node['fg_system'] || $node['fg_is_clone'] ? true : false; page::assign('item.right', $this->getRightForGroup($TEMPLATE, $node['fg_id'], $other)); $groups .= page::parse($TEMPLATE['groups']); } page::assign('frame_items', $groups); } else { page::assign('frame_items', ''); } ui::insertButton('button_new_group', lang::get('BTN_NEW_FGROUP'), 'javascript:changeGroup(' . $class->id() . ', \'add\');'); return page::parse($TEMPLATE['main']); } }
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 moveto() { $obj = new ormFieldsGroup(system::url(2)); $obj->setPosition(system::url(3)); if ($obj->save()) { echo "ok"; } else { echo "error"; } system::stop(); }
public function del() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление $obj = ormObjects::get(system::url(2)); if ($obj->isInheritor('user') && $obj->id != user::get('id')) { $this->sendMailDel($obj); cache::delete('user' . $obj->id); $obj->toTrash(); echo 'delete'; } } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { if (is_numeric($id)) { $obj = ormObjects::get($id); if ($obj->isInheritor('user') && $obj->id != user::get('id')) { $this->sendMailDel($obj); cache::delete('user' . $obj->id); $obj->toTrash(); } } } echo 'delete'; } } system::stop(); }
function getHTML($templ_name = 'orm_tree') { if (file_exists(MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl')) { include MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl'; $main_url = system::au() . '/' . system::url(0) . '/'; page::assign('main_url', $main_url); page::assign('plus_table', $this->plus_table); // Помечаем веточку закрытой if (system::isAjax() && (system::url(2) == 'close' || system::url(2) == 'open') && system::issetUrl(3)) { if (system::url(2) == 'open' && is_numeric(system::url(3))) { $_SESSION['TREE_OPEN_NODES'][system::url(3)] = 1; } else { if (isset($_SESSION['TREE_OPEN_NODES'][system::url(3)])) { unset($_SESSION['TREE_OPEN_NODES'][system::url(3)]); } } system::stop(); } else { // По POST запросу формируем ветку дерева if (isset($_POST['id'])) { if (!empty($_POST['id'])) { //system::log($_POST['id']); $_POST['id'] = str_replace('phtml_', '', $_POST['id']); $pos = strpos($_POST['id'], '_'); $_POST['id'] = substr($_POST['id'], 0, strlen($_POST['id']) - (strlen($_POST['id']) - $pos)); //system::log($_POST['id']); } $_SESSION['TREE_OPEN_NODES'][$_POST['id']] = 1; ormPages::init(array($_POST['id'] => 1)); // Строим одни уровень дерева $tmp = $this->build_menu($_POST['id'], $TEMPLATE, false); //echo str_replace('`%`', '%', $tmp); echo $tmp; system::stop(); } } // Парсим дерево разделов if (isset($_SESSION['TREE_OPEN_NODES'])) { ormPages::init($_SESSION['TREE_OPEN_NODES']); } $subm = $this->build_menu($this->root_id, $TEMPLATE); page::assign('sub_items', $subm); page::assign('item.id', $this->root_id); page::assign('item.parent_id', ''); page::assign('item.url', $this->root_url); page::assign('item.active', 1); page::assign('item.name', $this->root_title); page::assign('item.notice', ''); page::assign('obj.ico', '/css_mpanel/tree/images/classes/core.png'); page::assign('obj.url', ''); page::assign('close', empty($subm) ? '' : ' open'); page::fParse('items', $TEMPLATE['items']); page::fParse('frame_items', $TEMPLATE['frame_items']); // Выводим список прав для веточек $item = ''; $zagl_width = 0; while (list($key, $right) = each($this->rights)) { if ($right['java'] == 1) { $zagl_width += 20; } if ($right == 'empty' || !user::issetRight($right['name']) && $right['name'] != 'getUrl()') { $item .= $right != 'empty' ? '' : page::parse($TEMPLATE['item_right_null']); } else { page::assign('title', $right['title']); page::assign('image_style', $right['class']); page::assign('url', $main_url . $right['name'] . '/'); page::assign('hide_in_root', $right['show_in_root'] ? '' : ' hide_in_root'); if ($right['name'] == 'getUrl()') { $templ = 'item_right_url'; } else { $templ = $right['java'] == 1 ? 'item_right_del' : 'item_right'; } if (!empty($right['list'])) { $templ = 'item_right_list'; page::assign('list_id', $right['list']); page::assign('list_html', $right['list_html']); page::fParse('tree_list', $TEMPLATE['tree_list']); } $item .= page::parse($TEMPLATE[$templ]); } } page::assign('rights', $item); page::assign('act_link', $this->rightActive); page::assign('remove_link', $this->rightRemove); page::assign('load_link', $this->ajaxLink); page::assign('root_id', $this->root_id); page::assign('zagl_width', $zagl_width); // Текст сообщения об удалении элементов if (empty($this->del_title) || empty($this->del_text)) { $this->del_title = lang::get('TABLE_DROP_TITLE'); $this->del_text = lang::get('TABLE_DROP_TEXT'); } page::assign('del_title', $this->del_title); page::assign('del_text', $this->del_text); page::assign('width', $this->width); page::assign('width2', $this->width2); page::assign('left', $this->width - $this->width2); page::assign('style_prefix', $this->miniStyle ? '_mini' : ''); page::assign('isEditable', $this->rightEdit ? 1 : 0); page::assign('isChangeActive', $this->rightActive ? 1 : 0); page::assign('isDragged', $this->rightRemove ? 1 : 0); page::assign('isShowRight', empty($this->rights) ? 0 : 1); return page::parse($TEMPLATE['main']); } }
public function rssAction() { if (!system::issetUrl(2)) { page::globalVar('h1', lang::get('RSS_TITLE')); page::globalVar('title', lang::get('RSS_TITLE')); return page::macros('structure')->rssList(); } else { header("content-type: text/xml; charset=UTF-8"); echo page::macros('structure')->rss(system::url(2)); system::stop(); } }
public function tagAction() { $templ_file = '/search/gettag.tpl'; $TEMPLATE = page::getTemplate($templ_file); if (!is_array($TEMPLATE)) { return page::errorNotFound('search.getTag', $templ_file); } if (system::issetUrl(2) && ($tag = tags::infoTag(system::url(2)))) { $msg = lang::get('SEARCH_H1_TAGS') . ' "' . $tag['name'] . '"'; page::globalVar('h1', $msg); page::globalVar('title', $msg); // Получаем список классов $classes_filter = array(); if (!empty($_POST['classes'])) { $tmp = explode(",", $_POST['classes']); $classes_filter = array(); foreach ($tmp as $v) { $v = trim($v); if (!empty($v)) { $classes_filter[] = $v; } } } $max_count = reg::getKey(ormPages::getPrefix('search') . '/max_count'); $start = (system::getCurrentNavNum() - 1) * $max_count; $result = tags::find(array($tag['id']), $max_count, $start, $classes_filter); $list = ''; while (list($num, $val) = each($result['pages'])) { if ($page = ormPages::get($val['page_id'])) { page::assign('obj.id', $page->id); page::assign('obj.num', $num + $start + 1); page::assign('obj.name', $page->name); page::assign('obj.url', $page->_url); //page::assign('obj.content', $page->content); $cn = $page->getClass()->getSName(); $block_name = isset($TEMPLATE['list_' . $cn]) ? 'list_' . $cn : 'list'; $list .= page::parse($TEMPLATE[$block_name]); } } page::assign('count_page', ceil($result['count'] / $max_count)); } else { $list = ''; $msg = lang::get('SEARCH_H1_TAGS2'); page::globalVar('h1', $msg); page::globalVar('title', $msg); } if (!empty($list)) { page::assign('list', $list); page::fParse('list', $TEMPLATE['frame_list']); } else { page::fParse('list', $TEMPLATE['not_found']); } return page::parse($TEMPLATE['frame']); }
public function del() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление if ($obj = ormObjects::get(system::url(2))) { if ($obj->isInheritor('subscribe_msg')) { $obj->toTrash(); } } echo 'delete'; } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { if ($obj = ormObjects::get($id)) { if ($obj->isInheritor('subscribe_msg')) { $obj->toTrash(); } } } echo 'delete'; } } system::stop(); }
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'); }
private function getMenu() { if (file_exists(MODUL_DIR . '/mpanel/template/menu.tpl')) { include MODUL_DIR . '/mpanel/template/menu.tpl'; if (file_exists(MODUL_DIR . '/mpanel/lang-ru.php')) { include MODUL_DIR . '/mpanel/lang-ru.php'; } $mas = user::getRights(); ///print_r($mas); $items = $sub_items = ''; $num = 0; while (list($name, $modul) = each($mas)) { if (!empty($modul['rights'])) { $num++; if (file_exists(MODUL_DIR . '/' . $name . '/lang-ru.php')) { include MODUL_DIR . '/' . $name . '/lang-ru.php'; } $mod_name = isset($MODNAME[$name]) ? $MODNAME[$name] : $name; page::assign('name', $mod_name); page::assign('url', system::au() . '/' . $name); if ($num < 7) { $act = system::url(0) == $name ? 'act' : 'no_act'; $items .= page::parse($TEMPLATE['item_' . $act]); } else { $sub_items .= page::parse($TEMPLATE['sub_item']); } } } // Список редко используемых модулей if (!empty($sub_items)) { page::assign('eshe', $LANG['eshe']); page::assign('sub_items', $sub_items); $sub_menu = page::parse($TEMPLATE['sub_menu']); } else { $sub_menu = ''; } // echo $sub_menu; // Вывод списка языковых версий и доменов $sub_menu .= $this->getLangsAndDomains($TEMPLATE); page::assign('items', $items); page::assign('sub_menu', $sub_menu); $menu = page::parse($TEMPLATE['basic_menu']); page::assign('menu', $menu); // Устанавливаем доступ к языковым переменным if (isset($RIGHT) && isset($MODNAME)) { lang::setLang($LANG); lang::setRight($RIGHT); lang::setModule($MODNAME); } } }
/** * @return boolean * @param string $right - Имя права в панели администрирования * @param string $module - Системное имя модуля. Если не указанно, имя определяется исходя из текущего URL`a * @desc Проверяет существование указанного права для текущего модуля */ static function issetRight($right, $module = 0) { if (!self::$isGuest) { if (empty($module)) { $module = system::url(0); } self::getRights(); $right = str_replace('_proc_', '_', $right); if ($module == 'structure' && !strpos($right, ' ')) { $sitever = languages::curId() . ' ' . domains::curId(); return isset(self::$right[$module]['rights'][$sitever][$right]) ? true : false; } else { return isset(self::$right[$module]['rights'][$right]) ? true : false; } } else { return false; } }
public function del() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление if ($obj = ormObjects::get(system::url(2), 'eshop_delivery_method')) { $obj->toTrash(); echo 'delete'; } } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { if ($obj = ormObjects::get($val, 'eshop_delivery_method')) { $obj->toTrash(); } } echo 'delete'; } } system::stop(); }
public function order($templ_name = 'order_steps') { $templ_file = '/eshop/' . $templ_name . '.tpl'; $TEMPLATE = page::getTemplate($templ_file); if (!is_array($TEMPLATE)) { return page::errorNotFound('eshop.basket', $templ_file); } if (user::isGuest()) { page::assign('order.cost', basket::getTotalCost()); return page::parse($TEMPLATE['no_auth']); } if (!isset($_SESSION['order_step'])) { $_SESSION['order_step'] = 1; } if (system::url(2) == 'back') { $_SESSION['order_step']--; } switch ($_SESSION['order_step']) { case 1: // Доставка $sel = new ormSelect('eshop_delivery_method'); $sel->fields('name, price, notice'); $list = ''; while ($obj = $sel->getObject()) { page::assign('obj.id', $obj->id); page::assign('obj.name', $obj->name); page::assign('obj.price', $obj->price); page::assign('obj.notice', $obj->notice); $act = isset($_SESSION['order']['delivery']) && $obj->id == $_SESSION['order']['delivery'] ? '_active' : ''; $list .= page::parse($TEMPLATE['delivery_list' . $act]); } page::assign('delivery_list', $list); page::assign('order.name', isset($_SESSION['order']['name']) ? $_SESSION['order']['name'] : user::get('name')); page::assign('order.surname', isset($_SESSION['order']['surname']) ? $_SESSION['order']['surname'] : user::get('surname')); page::assign('order.phone', isset($_SESSION['order']['phone']) ? $_SESSION['order']['phone'] : user::get('phone')); page::assign('order.address', isset($_SESSION['order']['address']) ? $_SESSION['order']['address'] : user::get('address')); page::assign('order.notice', isset($_SESSION['order']['notice']) ? $_SESSION['order']['notice'] : ''); page::assign('order.cost', basket::getTotalCost()); return page::parse($TEMPLATE['delivery']); break; case 2: // Подтверждение // Расчитываем общую стоимость с учетом доставки if ($delivery = ormObjects::get($_SESSION['order']['delivery'])) { page::assign('order.delivery', $delivery->name); page::assign('order.delivery_price', $delivery->price); $cost = $delivery->price + basket::getTotalCost(); page::assign('order.cost', $cost); } page::assign('order.name', isset($_SESSION['order']['name']) ? $_SESSION['order']['name'] : user::get('name')); page::assign('order.surname', isset($_SESSION['order']['surname']) ? $_SESSION['order']['surname'] : user::get('surname')); page::assign('order.phone', isset($_SESSION['order']['phone']) ? $_SESSION['order']['phone'] : user::get('phone')); page::assign('order.address', isset($_SESSION['order']['address']) ? $_SESSION['order']['address'] : user::get('address')); return page::parse($TEMPLATE['aception']); break; default: unset($_SESSION['order_step']); system::redirect('/eshop/basket'); } }