private static function init() { if (self::$pdo == null) { try { self::$pdo = new PDO(DB_DSN, DB_USER, DB_PASS); self::$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); if ('mysql' == substr(DB_DSN, 0, 5)) { self::$driver = 'mysql'; self::$pdo->exec("SET NAMES 'utf8' COLLATE 'utf8_general_ci'"); } } catch (PDOException $e) { $msg = '<h3>Невозможно установить соединение с базой данных!</h3><br/>'; if ($e->getCode() == 2001) { $msg .= 'Невозможно создать socket-соединение из за ограничений сервера! '; } else { if ($e->getCode() == 2002) { $msg .= 'Превышено время ожидания сервера БД! Скорей всего сервер либо временно не доступен, либо не существует. Проверьте настройки подключения к БД.'; } else { if ($e->getCode() == 1049) { $msg .= 'Указанная БД не существует! Перепроверьте настройки подключения к базе данных.'; } else { $msg .= 'Запрещен доступ для указанного логина и пароля. Перепроверьте настройки подключения к базе данных.'; } } } //$msg .= '<br/><br/><a href="">'.substr($e->getMessage(), 0, 22).'</a>'; $msg .= '<br/><br/>' . substr($e->getMessage(), 0, 22) . ''; page::globalVar('title', 'Bagira.CMS'); page::globalVar('content', $msg); page::parseIt(TEMPL_DIR . '/offline.tpl', true, true); 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 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 defAction() { $file = @fopen(ROOT_DIR . "/revue.log", "w"); @fclose($file); db::q('DELETE FROM <<revue>>'); echo 'delete'; 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 viewAction() { if (system::issetUrl(2)) { page::assign('hello', ''); echo page::parse(mailingProcess::getMailHTML(system::url(2))); } system::stop(); }
public function proc_edit() { $text = system::checkVar(system::POST('minitext'), isText); $id = system::checkVar(system::POST('minitext_id'), isInt); $key = ormPages::getPrefix() . '/minitext/' . $id; if ($text && $id && reg::existKey($key)) { if (reg::setKey($key, $text)) { system::json(array('error' => 0)); system::stop(); } } system::json(array('error' => 1, 'errorInfo' => lang::get('STRUCTURE_MINITEXT_ERROR'))); system::stop(); }
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 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'); }
public function send_messageAction() { if ($form_obj = ormObjects::get(system::POST('form_id'))) { $issetErrors = false; $answer = array(); // Проверка капчи if ($form_obj->captcha && !system::validCapcha('random_image')) { $issetErrors = true; $answer = array('field' => 'random_image', 'msg' => lang::get('FEEDBACK_ERROR1')); } // Если указанно куда, добавляем объект в БД if (($form_obj->any_sections || $form_obj->section) && !$issetErrors) { // Определяем раздел, в который будем добавлять отзыв if ($form_obj->any_sections) { $section = system::POST('section_id', isInt); } else { $section = $form_obj->section; $section = !empty($section) ? $section[0] : 0; } // Создаем объект обратной связи $obj = new ormPage(); $obj->setParent($section); $obj->setClass($form_obj->form_class); $obj->tabuList('pseudo_url', 'h1', 'keywords', 'title', 'description', 'answer', 'active', 'is_home_page', 'view_in_menu', 'view_submenu', 'in_search', 'in_index', 'in_new_window', 'other_link', 'img_act', 'img_no_act', 'img_h1'); $obj->loadFromPost(); $obj->active = 0; $obj->view_in_menu = 1; $obj->view_submenu = 1; $obj->in_search = 1; $obj->in_index = 1; $obj->is_home_page = 0; if ($obj->name != '') { $obj->h1 = $obj->name; $obj->title = $obj->name; } $obj->pseudo_url = rand(1000, 9999); $obj->template_id = ($sect = ormPages::get($form_obj->section)) ? $sect->template_id : 1; $obj->form_id = $form_obj->id; $obj->setRightForAll(2); $obj_id = $obj->save(); if ($obj_id) { $obj->pseudo_url = $obj_id; $obj->save(); $obj = new ormPage($obj_id); } else { $issetErrors = true; $f = $obj->getErrorFields(); $answer = array('field' => $f['focus'], 'msg' => $obj->getErrorListText(' ')); } } if (!$issetErrors) { // Отправка нужных писем page::assign('site_name', domains::curDomain()->getSiteName()); page::assign('site_url', domains::curDomain()->getName()); page::assign('base_email', domains::curDomain()->getEmail()); while (list($key, $val) = each($_POST)) { page::assign($key, system::checkVar($val, isText)); } if (isset($obj)) { $fields = $obj->getClass()->loadFields(); foreach ($fields as $field) { if (in_array($field['f_type'], array(70, 75, 80, 85))) { $fsname = $field['f_sname']; $fvalue = $obj->{$fsname}; if ($fvalue != '') { page::assign($fsname, $fvalue); } } } } // Если указан список адресатов, отправляем письма if ($form_obj->mailing_list != '') { $mail = new phpmailer(); $mail->From = $this->parse($form_obj->admin_sender_address); $mail->FromName = $this->parse($form_obj->admin_sender_name); /* if (!empty($this->files)) for($i = 0; $i < count($this->files); $i++) $mail->AddAttachment($this->files[$i][0], $this->files[$i][1]); */ $mail->AddAddress($form_obj->mailing_list); $mail->WordWrap = 50; $mail->IsHTML(true); $mail->Subject = $this->parse($form_obj->admin_subject); $mail->Body = $this->parse($form_obj->admin_template); $mail->Send(); } // Если нужно, отправляем уведомление пользователю if ($form_obj->send_notice && !$issetErrors) { $mail = new phpmailer(); $mail->From = $this->parse($form_obj->notice_sender_address); $mail->FromName = $this->parse($form_obj->notice_sender_name); $mail->AddAddress(system::POST('email')); $mail->WordWrap = 50; $mail->IsHTML(true); $mail->Subject = $this->parse($form_obj->notice_subject); $mail->Body = $this->parse($form_obj->notice_template); $mail->Send(); } // Показываем результат if (system::isAjax()) { if ($form_obj->msg != '') { $text = $form_obj->msg; } else { $text = lang::get('FEEDBACK_MSG_1'); } system::json(array('field' => 0, 'msg' => strip_tags($text))); } else { system::redirect('/feedback/ok/' . $form_obj->id); } } else { // Произошли ошибки if (system::isAjax()) { system::json($answer); } else { system::savePostToSession(); system::saveErrorToSession('feedback', $answer); if (empty($_POST['back_url'])) { $_POST['back_url'] = '/structure/map'; } system::redirect($_POST['back_url'], true); } } system::stop(); } else { system::stop(); } }
function getHTML($templ_name = 'table') { $templ_name = $templ_name . '_' . $this->style; if (file_exists(MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl')) { include MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl'; // Устанавливаем настройки по умолчанию $this->prefix = md5(system::url(0) . system::url(1) . (system::url(2) != '' ? system::url(2) : '')); if (!isset($_SESSION['table_' . $this->prefix])) { $_SESSION['table_' . $this->prefix]['max_count'] = 20; $_SESSION['table_' . $this->prefix]['page_num'] = 1; $_SESSION['table_' . $this->prefix]['table_search'] = ''; $_SESSION['table_' . $this->prefix]['page_num_temp'] = 1; } // Смотрим пришедшие данные из POST if (!isset($_POST['filter'])) { // Сортировка по столбцу if (isset($_POST['field']) && isset($_POST['parram'])) { $_SESSION['table_' . $this->prefix]['order_field'] = system::POST('field'); $_SESSION['table_' . $this->prefix]['order_parram'] = system::POST('parram'); } // Количество строк в таблице if (isset($_POST['max_count'])) { $_SESSION['table_' . $this->prefix]['max_count'] = $_POST['max_count']; $_SESSION['table_' . $this->prefix]['page_num'] = 1; } // Выбор нужной страницы if (isset($_POST['page_num'])) { $_SESSION['table_' . $this->prefix]['page_num'] = $_POST['page_num']; } // Поиск по таблице if (isset($_POST['table_search'])) { $_SESSION['table_' . $this->prefix]['page_num_temp'] = $_SESSION['table_' . $this->prefix]['page_num']; $_SESSION['table_' . $this->prefix]['page_num'] = 1; if ($_POST['table_search'] == '') { $_SESSION['table_' . $this->prefix]['page_num'] = $_SESSION['table_' . $this->prefix]['page_num_temp']; } $_SESSION['table_' . $this->prefix]['table_search'] = $_POST['table_search']; } // Очистка результатов поиска if (isset($_POST['clear_search'])) { $_SESSION['table_' . $this->prefix]['page_num'] = $_SESSION['table_' . $this->prefix]['page_num_temp']; $_SESSION['table_' . $this->prefix]['table_search'] = ''; if ($this->isSelection) { $this->filter->clear(); } //$_SESSION['table_'.$this->prefix]['max_count'] = 3; } // Нажали ссылку "обычный поиск" (скрыть / показать фильтры) if ($this->isSelection && isset($_POST['showfilter'])) { if ($_POST['showfilter'] == 0) { $_SESSION['table_' . $this->prefix]['filters'] = ''; } $_SESSION['table_' . $this->prefix]['showfilter'] = $_POST['showfilter']; system::stop(); } } // Сортировка по столбцу if ($this->isSelection && isset($_SESSION['table_' . $this->prefix]['order_field'])) { $this->select->orderBy($_SESSION['table_' . $this->prefix]['order_field'], $_SESSION['table_' . $this->prefix]['order_parram']); } $up_line = ''; // Устанавливаем список полей для выборки if ($this->isSelection && !$this->select->fieldsIsDefined()) { /* $class_name = $this->select->getObjectsClass(); if (!empty($class_name)) $select = (ormClasses::get($class_name)->issetField('active')) ? 'active' : ''; else */ $select = 'active'; while (list($key, $column) = each($this->columns)) { $zpt = !empty($select) ? ', ' : ''; if (strpos($column['field'], ' ')) { $vals = explode(' ', $column['field']); while (list($k, $val) = each($vals)) { $select .= $zpt . $val; } } else { $select .= $zpt . $column['field']; } } $this->select->fields($select); } // Вывод формы ПОИСКа и установка параметров if ($this->show_search) { if ($this->isSelection && !empty($_SESSION['table_' . $this->prefix]['table_search'])) { $query = $_SESSION['table_' . $this->prefix]['table_search']; $this->inSearch = true; $where = array(); reset($this->columns); while (list($key, $column) = each($this->columns)) { if ($column['field'] != 'children' && $column['field'] != 'parent') { if (strpos($column['field'], ' ')) { $vals = explode(' ', $column['field']); while (list($k, $val) = each($vals)) { $where[] = $this->select->val($val, 'LIKE', '%' . $query . '%'); } } else { $where[] = $this->select->val($column['field'], 'LIKE', '%' . $query . '%'); } } } $this->select->where($this->select->logOr($where)); } page::assign('table_search', $_SESSION['table_' . $this->prefix]['table_search']); $up_line .= page::parse($TEMPLATE['search']); } // + + + Все что касается вывода ФИЛЬТРОВ + + + + + + + + if ($this->isSelection && !$this->disable_filters) { //$_SESSION['table_'.$this->prefix]['page_num'] = 1; if (!isset($_SESSION['table_' . $this->prefix]['showfilter'])) { $_SESSION['table_' . $this->prefix]['showfilter'] = $this->filters; } // Определяем нужно или нет показывать список фильтров $show_filter = $this->filters; if ($_SESSION['table_' . $this->prefix]['showfilter']) { $show_filter = true; } page::assign('mores', $show_filter ? 'mores' : ''); $this->filter->setFilters(); page::assign('filters', $this->filter->getHTML()); // Кнопка "Показать / спрятать фильтры" if ($this->show_search && $this->filter->getCount() > 0) { if ($show_filter) { page::assign('moresearch', 1); page::assign('sh_text', lang::get('TABLE_SEARCH_MIN')); } else { page::assign('moresearch', 0); page::assign('sh_text', lang::get('TABLE_SEARCH_MAX')); } page::fParse('filters_link', $TEMPLATE['filters_link']); } else { page::assign('filters_link', ''); } page::fParse('filters', $TEMPLATE['filters']); if ($show_filter && $this->filter->getCount() > 0 && !$this->show_search) { page::assign('filters_link', ''); $up_line .= page::parse($TEMPLATE['without_search']); } } else { page::assign('filters', ''); } page::assign('up_line', $up_line); // Кнопка "версия для печати" if ($this->print) { $up_line .= page::parse($TEMPLATE['print_link']); } // Дополнительные параметры запросов $str_param = ''; while (list($key, $param) = each($this->moreParam)) { $str_param .= '/' . $param; } page::assign('parram', $str_param); // Вывод сообщения "Таблица пустая" $count = $this->isSelection ? $this->select->getCount() : count($this->data); if ($count <= 0) { if ($this->inSearch || $this->isSelection && $this->filter->isActive()) { $message = lang::get('TABLE_NOT_FOUND') . '<br /><span onClick="stopSearch()">' . lang::get('TABLE_NOT_FOUND2') . '</span>'; } else { $message = empty($this->empty_text) ? lang::get('TABLE_EMPTY') : $this->empty_text; } page::assign('message', $message); if (system::isAjax()) { echo page::parse($TEMPLATE['empty_frame']); system::stop(); } else { page::fParse('content', $TEMPLATE['empty_frame']); return page::parse($TEMPLATE['main']); } } // Постраничная навигация $this->navigation(5, $TEMPLATE); // Вывод прав $this->rights($TEMPLATE); // Определяем модуль для права по умолчанию $pos = strpos($this->def_right, '.'); if (!empty($pos)) { $module = substr($this->def_right, 0, $pos); $this->def_right = substr($this->def_right, $pos + 1, strlen($this->def_right)); } else { $module = system::url(0); } if (user::issetRight($this->def_right, $module)) { $this->def_right = system::au() . '/' . $module . '/' . $this->def_right . '/'; } else { $this->def_right = ''; } $this->count = $this->isSelection ? $this->select->getObjectCount() : count($this->data); if ($this->count == 0 && $_SESSION['table_' . $this->prefix]['page_num'] != 1) { $_SESSION['table_' . $this->prefix]['page_num'] -= 1; } page::assign('table_parent_id', 0); // Вывод строчек if ($this->isSelection) { $this->selItems($TEMPLATE); } else { $this->masItems($TEMPLATE); } // Вывод столбцов $this->columns($TEMPLATE); // Текст сообщения об удалении элементов 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'); } if (empty($this->del_title_multi) || empty($this->del_text_multi)) { $this->del_title_multi = lang::get('TABLE_DROP_TITLE_MULTI'); $this->del_text_multi = lang::get('TABLE_DROP_TEXT_MULTI'); } page::assign('del_title', $this->del_title); page::assign('del_text', $this->del_text); page::assign('del_title_multi', $this->del_title_multi); page::assign('del_text_multi', $this->del_text_multi); page::assign('select_checkbox', lang::get('TABLE_SEL_CHECKBOX')); // Версия для печати (НУЖНО ДОДЕЛАТЬ) if (system::getCurrentNavVal() == 'print') { echo page::parse($TEMPLATE['frame']); system::stop(); } if (system::isAjax()) { echo page::parse($TEMPLATE['frame']); system::stop(); } else { page::fParse('content', $TEMPLATE['frame']); return page::parse($TEMPLATE['main']); } } }
public function del() { $class = new ormClass(system::url(2)); if ($class->delete()) { 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(); }
static function socialAuthConfirm() { if (user::isGuest() && isset($_SESSION['SOCIAL_AUTH_USER_INFO'])) { $confirm = system::POST('confirm', isBool); $email = system::POST('email', isEmail); $validate = true; if (empty($_SESSION['SOCIAL_AUTH_USER_INFO']['email'])) { if (reg::getKey('/users/ask_email') && empty($email)) { $validate = false; } else { if (!empty($email)) { $_SESSION['SOCIAL_AUTH_USER_INFO']['email'] = $email; } } } if (reg::getKey('/users/confirm') && !$confirm) { $validate = false; } if ($validate) { $user = self::createUserForSocial($_SESSION['SOCIAL_AUTH_USER_INFO']); if ($user && !$user->issetErrors()) { user::authHim($user); self::closeWindowAndOpen('/'); } else { echo $user->getErrorListText(); } system::stop(); } } }
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 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(); } }
private function showAuthForm($error = 0) { if (file_exists(MODUL_DIR . '/mpanel/template/auth.tpl')) { include MODUL_DIR . '/mpanel/template/auth.tpl'; page::assign('title', lang::get('CMF')); if (user::isGuest()) { // Пользователь не авторизован page::assign('url', system::getCurrentUrl()); page::assign('login', lang::get('AUTHFORM_LOGIN')); page::assign('passw', lang::get('AUTHFORM_PASSW')); page::assign('enter', lang::get('AUTHFORM_ENTER')); page::assign('error', $error); echo page::parse($TEMPLATE['frame']); } else { // Пользователь авторизован, но не является админом page::assign('exit_url', '/users/logout'); page::assign('user', user::get('name')); page::assign('hello', lang::get('AUTHFORM_HELLO')); page::assign('big_text', lang::get('AUTHFORM_BIG_TEXT')); page::assign('exit_text', lang::get('AUTHFORM_EXIT_TEXT')); echo page::parse($TEMPLATE['frame_no_admin']); } 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 del() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление if (mailingProcess::delEmailById(system::url(2), system::url(3))) { } echo 'delete'; } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { mailingProcess::delEmailById($id, system::url(3)); } echo 'delete'; } } system::stop(); }
function toScreen() { $this->imageResize('screen'); 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();
/** * @return null * @param string $filename - Путь к файлу шаблона * @param boolean $absolut - Если true - путь считается абсолютным и вычисляется от корневой папки, в которой находится движок * @desc Обрабатывает указанный файл шаблона и выводит его на страницу */ static function parseIt($filename, $absolut = false, $withoutCache = false) { if (!system::$isAdmin && !$absolut) { $site_prefix = domains::curId() == 1 && languages::curId() == 1 ? '' : '/__' . str_replace('.', '_', domains::curDomain()->getName()) . '_' . languages::curPrefix(); if (file_exists(TEMPL_DIR . $site_prefix . $filename)) { $filename = TEMPL_DIR . $site_prefix . $filename; } else { if (file_exists(TEMPL_DIR . $site_prefix . '/structure/default.tpl')) { $filename = TEMPL_DIR . $site_prefix . '/structure/default.tpl'; } else { echo lang::get('ERROR_TEMPL2'); system::stop(); } } } while (list($key, $val) = each(self::$page_mas)) { self::assign($key, $val); } self::$arr = self::parse(file($filename)); // Сохраняем страницу в кэш if (!$withoutCache && self::isCashePage()) { $page = array('html' => self::$arr, 'page_id' => ormPages::getCurPageId(), 'page_url' => system::getCurrentUrlPN(), 'active_pages' => ormPages::getActiveId(), 'host' => $_SERVER['HTTP_HOST']); cache::set(system::getCurrentUrlPN(), $page); } // Вторично обрабатывает шаблон self::$arr = self::parse(self::parse(self::$arr, 2), 2); // Выводит обработанный шаблон на печать //echo str_replace('`%`', '%', self::$arr); echo self::$arr; self::freshAll(); }
public function del() { if (!isset($_POST['objects']) && system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление $obj = ormObjects::get(system::url(2)); if ($obj->isInheritor('user_group') && $obj->id != 32 && $obj->id != 48) { $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_group') && $obj->id != 32 && $obj->id != 48) { $obj->toTrash(); } } } echo 'delete'; } } system::stop(); }
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 act() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное изменение $obj = ormObjects::get(system::url(2)); if ($obj->isInheritor('subscription')) { $obj->active = $obj->active ? false : true; $obj->save(); if (!$obj->issetErrors()) { echo $obj->active ? 'active' : 'no_active'; } } } else { if (isset($_POST['objects'])) { // Множественное изменение $invert = true; while (list($id, $val) = each($_POST['objects'])) { if (is_numeric($id)) { $obj = ormObjects::get($id); if ($obj->isInheritor('subscription')) { $obj->active = $obj->active ? false : true; $obj->save(); if ($obj->issetErrors()) { $invert = false; } } } } if ($invert) { echo 'invert'; } } } system::stop(); }
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(); }
/** * @return string HTML * @param integer $obj - Экземпляр объекта (ormObject, ormPage) * @param string $action - Тип действия: "upd" - изменение, "add" - добавление * @desc Выводит форму изменения прав доступа для объекта */ public static function getListForObject($obj, $action) { if (file_exists(MODUL_DIR . '/users/template/right_list_object.tpl')) { include MODUL_DIR . '/users/template/right_list_object.tpl'; } if (isset($_POST['query'])) { // Формируем список подсказок для пользователя $sel = new ormSelect('user'); $sel->fields('login'); $sel->where('id', '<>', '29'); $sel->where('login', 'LIKE', '%' . $_POST['query'] . '%'); $users = ''; while ($user = $sel->getObject()) { $zapi = $sel->getObjectNum() != 0 ? ', ' : ''; $users .= $zapi . "'" . $user->login . "'"; } echo "{ query:'" . $_POST['query'] . "', suggestions:[" . $users . "], data:[] }"; system::stop(); } else { if (isset($_POST['user_name'])) { // Добавляем выбранного пользователя в список $sel = new ormSelect('user'); $sel->fields('login'); $sel->where('id', '<>', '29'); $sel->where('login', '=', $_POST['user_name']); $sel->limit(1); $user = $sel->getObject(); if ($user instanceof ormObject) { page::assign("group.id", $user->id); page::assign("group.name", $user->login); page::assign("checked_edit", ''); page::assign("checked_view", 'checked'); echo page::parse($TEMPLATE['group']); } system::stop(); } } // Выводим список групп $sel = new ormSelect('user_group'); $sel->where('id', '<>', '32'); $sel->orderBy('name', asc); $groups = $sel->getData(); $rights = array(); if ($action == 'upd') { $users = db::q('SELECT o_id, login o_name FROM <<rights>>, <<objects>>, <<__user>> WHERE r_obj_id = "' . $obj->id . '" and r_group_id = o_id and obj_id = o_id and o_class_id <> 33;', records); $groups = array_merge($groups, $users); $tmp = db::q('SELECT r_state, r_group_id FROM <<rights>> WHERE r_obj_id = "' . $obj->id . '";', records); while (list($key, $right) = each($tmp)) { $rights[$right['r_group_id']] = $right['r_state']; } $select_all = count($tmp) == 1 && empty($tmp[0]['r_group_id']) ? $tmp[0]['r_state'] : false; } else { $select_all = 2; } $items = ''; $num = $edit_num = $view_num = 0; while (list($key, $group) = each($groups)) { $state = isset($rights[$group['o_id']]) ? $rights[$group['o_id']] : 0; if ($state == 2) { $edit_num++; } $checked_edit = $state == 2 || $select_all == 2 ? 'checked' : ''; page::assign("checked_edit", $checked_edit); if ($state > 0) { $view_num++; } $checked_view = $state > 0 || $select_all > 0 ? 'checked' : ''; page::assign("checked_view", $checked_view); page::assign("group.id", $group['o_id']); page::assign("group.name", $group['o_name']); $items .= page::parse($TEMPLATE['group']); $num = $key + 1; } $checked_edit = $select_all == 2 || $num == $edit_num ? 'checked' : ''; page::assign("checked_edit", $checked_edit); $checked_view = $select_all > 0 || $num == $view_num ? 'checked' : ''; page::assign("checked_view", $checked_view); page::assign("text.all_user", lang::get('STRUCTURE_RIGHT_ALL_USER')); page::assign("text.title", lang::get('STRUCTURE_RIGHT_TITLE')); page::assign("groups", $items); 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 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(); }
static function json($param) { echo json_encode($param); system::stop(); }