public function unsubscribeAction() { if ($page = ormPages::get(system::url(3))) { comments::unsubscribe(system::url(2), system::url(3)); page::globalVar('title', lang::get('COM_TITLE')); page::globalVar('h1', lang::get('COM_TITLE')); return lang::get('COM_UNSUBSCRIBE') . '"' . $page->name . '".'; } }
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(); } }
/** * @return Результат выполнения запроса * @param string $sql - Код SQL-запроса * @param const $method - Метод обработки результатов выполнения запроса Используйте одну из констант: records - Вернет результат в виде двумерного ассоциативного массива record - Вернет результат в виде одномерного ассоциативного массива values - Вернет результат в виде одномерного массива value - Вернет результат в виде значения * @param boolean $show_info - Если true, выведет информацию для отладки * @desc Выполняет запрос, возвращает результат для обработки */ public static function q($sql, $method = 0, $show_info = false) { self::init(); system::setTimeLabel(999); $sql = self::addPrefix($sql); //system::log($sql); // system::log(str_replace(array(Chr(9), Chr(10), Chr(13)), '', $sql), error); if ($show_info) { echo '<b>SQL-запрос:</b><br />' . $sql . '<br /><br />'; } try { if (strtolower(substr($sql, 0, 6)) == 'insert') { // Обработка запроса INSERT self::$pdo->exec($sql); $value = self::$pdo->lastInsertId(); } else { if (empty($method)) { // Просто выполнение запроса, без возврата результата. $value = self::$pdo->exec($sql); } else { // Обработка запроса SELECT $res = self::$pdo->query($sql); if ($method == records) { // Получаем много записей $value = $res->fetchAll(PDO::FETCH_ASSOC); } else { if ($method == record) { // Получаем одну запись $value = $res->fetch(PDO::FETCH_ASSOC); } else { if ($method == values) { // Получаем одну запись, нумерованный массив $value = $res->fetch(PDO::FETCH_NUM); } else { if ($method == value) { // Получаем одно значение $mas = $res->fetch(PDO::FETCH_NUM); $value = isset($mas[0]) ? $mas[0] : ''; } } } } } } } catch (Exception $e) { // Ошибка при выполнении запроса $value = false; // Пишем в журнал system::log($e->getMessage(), error); system::log(str_replace(array(Chr(9), Chr(10), Chr(13)), '', $sql), error); // Вывод сообщения об ошибке if (SHOW_SQL_ERRORS != -1 && ($_SERVER['SERVER_ADDR'] == '127.0.0.1' || SHOW_SQL_ERRORS)) { if ($show_info) { echo '<b>ОШИБКИ:</b><br />' . $e->getMessage() . '<br /><br />'; } else { header('Content-Type: text/html; charset=utf-8'); echo '<b>SQL-запрос:</b><br />' . $sql . '<br /><br />'; echo '<b>ОШИБКИ:</b><br />' . $e->getMessage() . '<br /><br />'; } } else { if ($e->getCode() == '42S02') { // Отсутсвие таблиц. Выводим всегда, если не на локалхосте. $msg = '<h3>Ошибка при работе с БД!</h3><br/>'; $msg .= 'Соединение установлено, но необходимые таблицы отсутствуют. <br/><br/>Скорей всего БД пустая или в ней не хватает некоторых таблиц. Попробуйте перезалить дамп БД, а так же перепроверьте префикс для таблиц в настройках подключения к БД.'; page::globalVar('title', 'Bagira.CMS'); page::globalVar('content', $msg); page::parseIt(TEMPL_DIR . '/offline.tpl', true); die; } } } if ($show_info) { echo '<b>Результат:</b><br />'; print_r($value); echo '<br /><br />'; } $time = system::getTimeLabel(999, false); self::toList($sql . '<br />' . $time); return $value; }
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('/'); }
public function orderView($order_id, $templ_name = 'order_list') { $templ_file = '/eshop/' . $templ_name . '.tpl'; $TEMPLATE = page::getTemplate($templ_file); if (!is_array($TEMPLATE)) { return page::errorNotFound('eshop.orderVeiw', $templ_file); } if ($obj = ormObjects::get($order_id, 'eshop_order')) { $order = new eShopOrder($obj); page::globalVar('title', lang::get('ESHOP_TITLE', 9) . $order->getNumber()); page::globalVar('h1', lang::get('ESHOP_TITLE', 9) . $order->getNumber()); page::assign('order.id', $order->id); page::assign('order.number', $order->getNumber()); page::assign('order.cost', $order->getTotalCost()); page::assign('order.state', $order->_state); // Информация о доставке page::assign('order.delivery', $order->_delivery); page::assign('order.delivery_price', $order->getDeliveryPrice()); page::assign('order.name', $order->delivery_name); page::assign('order.surname', $order->delivery_surname); page::assign('order.phone', $order->delivery_phone); page::assign('order.address', $order->delivery_address); return page::parse($TEMPLATE['frame_view']); } }
static function get404() { page::disableCacheForThisPage(); page::globalVar('h1', lang::get('ERROR_404_TITLE')); page::globalVar('title', lang::get('ERROR_404_TITLE')); if (!($data = cache::get('error404'))) { $data = lang::get('ERROR_404_TEXT') . page::macros('structure')->menu('map'); cache::set('error404', $data); } return $data; }
static function start() { header('Content-Type: text/html; charset=utf-8'); self::parseUrl(); // Опредяем текущий язык и домен (в случае необходимости обрезаем URL) languages::curLang(); // Устанавливаем в доступ языковые переменные if (file_exists(MODUL_DIR . '/core/sitelang-' . languages::curPrefix() . '.php')) { include MODUL_DIR . '/core/sitelang-' . languages::curPrefix() . '.php'; lang::setLang($LANG); } // Подключаем класс для работы с текущим пользователем user::init(); // активация шаблонной системы self::$defTemplate = '/structure/default.tpl'; page::init('%', '%'); page::globalVar('h1', ''); page::globalVar('title', ''); page::globalVar('site_name', domains::curDomain()->getSiteName()); page::globalVar('base_email', domains::curDomain()->getEmail()); page::globalVar('user_id', user::get('id')); page::globalVar('pre_lang', languages::pre()); page::globalVar('time', time()); page::globalVar('current_url', self::getCurrentUrl()); page::globalVar('current_url_pn', self::getCurrentUrlPN()); page::assign('current_url', self::getCurrentUrl()); page::assign('current_url_pn', self::getCurrentUrlPN()); // Заглушка для IE6 if (reg::getKey('/core/noIE6') && preg_match('/msie/i', $_SERVER['HTTP_USER_AGENT']) && !preg_match('/opera/i', $_SERVER['HTTP_USER_AGENT'])) { $val = explode(" ", stristr($_SERVER['HTTP_USER_AGENT'], 'msie')); if ($val[1] == '6.0;') { page::parseIt('/ieDie.tpl', false, true); system::stop(); } } // Заглушка для IE7 if (reg::getKey('/core/noIE7') && preg_match('/msie/i', $_SERVER['HTTP_USER_AGENT']) && !preg_match('/opera/i', $_SERVER['HTTP_USER_AGENT'])) { $val = explode(" ", stristr($_SERVER['HTTP_USER_AGENT'], 'msie')); if ($val[1] == '7.0;') { page::parseIt('/ieDie.tpl', false, true); system::stop(); } } // Заглушка для IE8 if (reg::getKey('/core/noIE8') && preg_match('/msie/i', $_SERVER['HTTP_USER_AGENT']) && !preg_match('/opera/i', $_SERVER['HTTP_USER_AGENT'])) { $val = explode(" ", stristr($_SERVER['HTTP_USER_AGENT'], 'msie')); if ($val[1] == '8.0;') { page::parseIt('/ieDie.tpl', false, true); system::stop(); } } // Оффлайн сообщение if (!domains::curDomain()->online() && !user::isAdmin() && !(self::issetUrl(0) && self::url(0) == 'mpanel')) { page::globalVar('content', domains::curDomain()->getOfflineMsg()); page::parseIt('/offline.tpl', false, true); system::stop(); } // Генерация файлов robots.txt и sitemap.xml ormPages::getContentFileRobots(); ormPages::getContentFileSiteMap(); // Проверяем, есть ли текущая страница в кэше page::checkCache(); // Вызов макроса через Ajax page::callAjaxMacros(); // Парсим мето-информацию "по умолчанию" page::globalVar('keywords', reg::getKey(ormPages::getPrefix() . '/keywords')); page::globalVar('description', reg::getKey(ormPages::getPrefix() . '/description')); // Загрузка необходимого функционала в зависимости от адреса $content = ''; // Пытаемся загрузить МОДУЛЬ if (self::issetUrl(0)) { $content = self::loadController('controller'); } // Пытаемся загрузить СТРАНИЦУ if (!self::issetUrl(0) || $content === false) { $content = self::loadController('controller', 1, 'structure'); } // Отображение сообщения "Страница не найдена" if (empty($content)) { $content = ormPages::get404(); } // Парсим контент на страницу page::fParse('content', $content); // Версия для печати $print_file = '/structure/_' . self::getCurrentNavVal() . '.tpl'; if (self::getCurrentNavVal() != '' && file_exists(TEMPL_DIR . $print_file)) { self::$defTemplate = $print_file; } if (!self::$isAdmin) { $title = str_replace('%text%', page::getGlobalVar('title'), reg::getKey(ormPages::getPrefix() . '/title_prefix')); page::globalVar('title', $title); if (file_exists(MODUL_DIR . '/core/template/minitext.tpl')) { include MODUL_DIR . '/core/template/minitext.tpl'; } // Мини-тексты, если есть $list = reg::getList(ormPages::getPrefix() . '/minitext'); while (list($id, $val) = each($list)) { //инлайн редактирование if (user::isAdmin() && user::issetRight('minitext_edit', 'structure')) { $val = str_replace('%val%', $val, str_replace('%id%', $id, $TEMPLATE['frame'])); } page::globalVar('text_' . $id, $val); } } // Выводим содержимое на экран page::parseIt(self::$defTemplate); // Завершение работы self::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 change_passwordAction() { page::globalVar('h1', lang::get('USERS_CHANGE_PSW_H1')); page::globalVar('title', lang::get('USERS_CHANGE_PSW_H1')); return page::macros('users')->changePassword(); }
public function okAction() { page::globalVar('h1', lang::get('SUBSCRIPTION_TITLE')); page::globalVar('title', lang::get('SUBSCRIPTION_TITLE')); return lang::get('SUBSCRIPTION_MSG'); }
public function order_listAction() { page::globalVar('title', lang::get('ESHOP_TITLE', 8)); page::globalVar('h1', lang::get('ESHOP_TITLE', 8)); return page::macros('eshop')->orderList(); }
static function getMainHTML($content) { if (file_exists(MODUL_DIR . '/mpanel/template/config.tpl')) { include MODUL_DIR . '/mpanel/template/config.tpl'; } if (isset($TEMPLATE)) { self::getConfig($TEMPLATE); } // Основное содержимое страницы page::assign('bottom_control', self::$bottomControl); page::assign('top_control', self::$topControl); self::getButtonsHTML(); // Заголовок и Титл страницы page::assign('header', substr(self::$pageHeader, 0, 100)); $title = !empty(self::$pageHeader) ? self::$pageHeader . ' | ' : ''; page::globalVar("title", $title . 'Bagira.CMS'); // Вывод всплывающего сообщения self::getMessageBoxHTML(); if (!empty($_SESSION['SelectField'])) { page::assign('select_field', $_SESSION['SelectField']['select']); page::assign('focus_field', $_SESSION['SelectField']['focus']); $_SESSION['SelectField'] = ''; } else { page::assign('select_field', ''); page::assign('focus_field', ''); } // Панель слева с кнопками $left_buttons = ''; if (!empty(self::$left_buttons)) { while (list($num, $button) = each(self::$left_buttons)) { page::assign('link', system::au() . '/' . system::url(0) . '/' . $button['link']); page::assign('title', $button['title']); $act = $button['link'] == system::url(1) ? '_active' : ''; $left_buttons .= page::parse($TEMPLATE['bt_item' . $act]); } } if (!empty($left_buttons)) { // Панель слева с кнопками page::assign('left_buttons', $left_buttons); page::assign('content', $content); return page::parse($TEMPLATE['left_buttons']); } else { if (empty(self::$leftBlocks)) { // Обычная страница page::assign('content', $content); return page::parse($TEMPLATE['content']); } else { // Панель слева с деревом page::assign('left_column', self::$leftBlocks); page::assign('content', $content); return page::parse($TEMPLATE['left_column']); } } }