Example #1
0
 /**
  * Получение списка данных
  */
 private function showList()
 {
     //	Идентификатор группы.
     $gid = isset($this->params['gid']) && (int) $this->params['gid'] > 0 ? (int) $this->params['gid'] : 1;
     // Количество альбомов на странице
     $albom_limit = isset($this->params['albom_limit']) && (int) $this->params['albom_limit'] > 0 ? (int) $this->params['albom_limit'] : System_Settings::getLimit();
     // Количество изображений на странице
     $image_limit = isset($this->params['image_limit']) && (int) $this->params['image_limit'] > 0 ? (int) $this->params['image_limit'] : System_Settings::getLimit();
     // Получение номера страницы
     $page_num = $this->getPageNum();
     // Получение информации о текущем альбоме
     $album = $this->object_group->getRow('gallery', $gid);
     // Получение списка альбомов
     $albums = $this->object_group->getAdminList('gallery', $gid, 1, 'position', 'ASC');
     for ($i = 0; $i < count($albums); $i++) {
         $tmp = $this->object_group->getRows('gallery_photos', 'group_id', $albums[$i]['id']);
         $albums[$i]['image'] = $tmp[0]['image'];
     }
     //Получение списка изображений
     $images = array();
     if (empty($albums)) {
         $images = $this->object->getRows('gallery_photos', 'group_id', $gid, '', '', $page_num);
     }
     // Вывод информации о постраничной навигации
     $this->smarty->assign('pagination', $this->object->getPagination($page_num));
     $this->smarty->assign('current_link', $this->getUrl());
     // Вывод информации в шаблон
     $this->smarty->assign('page', $this->page_info);
     $this->smarty->assign('album', $album);
     $this->smarty->assign('albums', $albums);
     $this->smarty->assign('images', $images);
 }
Example #2
0
 /**
  * @param $root
  * @param $lang
  * @param $pref
  */
 public function __construct($root, $lang, $pref)
 {
     // Определяем корневыю директорию
     $this->setRoot($root);
     // Определяем текущий язык сайта
     $this->setLang($lang);
     // Определение префикса таблиц
     $this->setPref($pref);
     $this->setLimit(System_Settings::getLimit());
 }
Example #3
0
 /**
  * Вывод шаблона
  * @param $template
  */
 public function displayAndCach($template)
 {
     $cache_id = null;
     $current_data = System_Settings::getCurrentData();
     if (isset($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] != '') {
         $query = 'CALL insert_cach_id(:link, :template, :table_name, :table_id)';
         $params = array(':link' => $_SERVER['REQUEST_URI'], ':template' => $template, ':table_name' => isset($current_data['table']) ? $current_data['table'] : NULL, ':table_id' => isset($current_data['id']) ? $current_data['id'] : NULL);
         $cache_id = PdoWrap::selectCell($query, $params);
     }
     parent::display($template, $cache_id);
 }
Example #4
0
 private function showList()
 {
     //	Лимит записей на страницу.
     $limit = isset($this->params['limit']) && (int) $this->params['limit'] > 0 ? (int) $this->params['limit'] : System_Settings::getLimit();
     // Получение номера страницы
     $page_num = $this->getPageNum();
     $data = $this->object->getAllRows('editor', 'date_post', 'DESC', $page_num, $limit);
     // Вывод информации о постраничной навигации
     $this->smarty->assign('pagination', $this->object->getPagination($page_num));
     $this->smarty->assign('current_link', $this->getUrl());
     // Вывод информации в шаблон
     $this->smarty->assign('data', $data);
 }
Example #5
0
 private function showList()
 {
     //	Лимит записей на страницу.
     $limit = isset($this->params['limit']) && (int) $this->params['limit'] > 0 ? (int) $this->params['limit'] : System_Settings::getLimit();
     //	Группа новостей.
     $group_id = isset($this->params['gid']) && (int) $this->params['gid'] > 0 ? (int) $this->params['gid'] : 0;
     //	Выводить на главной.
     $main_page = isset($this->params['main_page']) && (int) $this->params['main_page'] > 0 ? (int) $this->params['main_page'] : 0;
     // Получение номера страницы
     $page_num = $this->getPageNum();
     $data = $this->getList($group_id, $page_num, $limit);
     if ($main_page == 1) {
         $query = '
             SELECT
                 `i`.*,
                 CONCAT(`c`.`link`, `i`.`alias`, ".html") AS `link`,
                 `c`.`link` AS `group_link`,
                 `c`.`name` AS `group_name`,
                 (SELECT `image` FROM `cms_catalog_images` `im` WHERE `im`.`item_id` = `i`.`id` ORDER BY `im`.`position` DESC LIMIT 1) AS `image`
             FROM
                 `' . PREF . 'catalog_items` `i`
             INNER JOIN
                 `' . PREF . 'catalog_groups` `c` ON `c`.`id` = `i`.`group_id`
             INNER JOIN
                 `' . PREF . 'catalog_groups` `p` ON `c`.`tree_left` >= `p`.`tree_left` AND `c`.`tree_right` <= `p`.`tree_right`
             WHERE
                 `p`.`id` = ?
             AND
                 `i`.`active` = "1"
             AND
                 `i`.`main_page` = "1"
             ORDER BY `i`.`position` ASC
             LIMIT ' . (int) $limit . '
         ';
         $data = PdoWrap::select($query, array($group_id));
     }
     // Вывод информации о постраничной навигации
     $this->smarty->assign('pagination', $this->object->getPagination($page_num));
     $this->smarty->assign('current_link', $this->getUrl());
     // Вывод информации в шаблон
     $this->smarty->assign('data', $data);
     $this->smarty->assign('page', $this->page_info);
 }
Example #6
0
File: index.php Project: klimjr/cms
         }
     }
     //	Проверка языка.
     if ($current_lang != Text::get_get('lang')) {
         header("Location: /admin/?" . makeget(array('lang')) . '&lang=' . $default_lang);
         exit;
     }
 }
 $smarty->assign('current_lang', $current_lang);
 $smarty->assign('langs', $langs);
 if (isset($_SESSION['user'])) {
     $smarty->assign('user', $_SESSION['user']);
 }
 // получение настроек
 $system_options = getSiteOptions();
 System_Settings::setLimit($system_options['admin_table_limit']);
 // Проверка установки системы.
 if (count(PdoWrap::select('CALL get_modules()')) == 0) {
     //	Переадресация на модуль усановки.
     header('Location: /admin/install.php');
     exit;
 }
 // Выход из панели администрирования
 if (Text::get_get('do') == 'logout') {
     session_unset();
     session_destroy();
     header('location: /admin/');
     exit;
 }
 //	Подключение файла локализации.
 $__lang = array();
Example #7
0
 private function checkLang()
 {
     return file_exists(System_Settings::getPathRoot() . '/modules/' . $this->getRequestModule() . '/langs/' . self::getCurrentLang() . '.lang.php') ? true : false;
 }
Example #8
0
if (!defined('ENCODING_CONNECTION')) {
    define('ENCODING_CONNECTION', 'utf8_general_ci');
}
// Директория для пользовательских файлов
if (!defined('USERFILES')) {
    define('USERFILES', DOC . 'userfiles/');
}
// Сохранение оригинального изображения после загрузки
if (!defined('IMG_ORIGINAL')) {
    define('IMG_ORIGINAL', 'original');
}
System_Settings::setLocalDBStr($db_conf);
// Настройки для шаблонизатора
System_Settings::setSmarty_template_dir(DOC . 'templates/');
System_Settings::setSmarty_template('site');
System_Settings::setSmarty_cached_dir('cache');
System_Settings::setSmarty_compile_dir('compile');
System_Settings::setSmarty_caching(true);
System_Settings::setSmarty_compile_check(true);
System_Settings::setSmarty_debugging(false);
System_Settings::setSmarty_cache_lifetime(86400);
//	Название сайта. Для интерфейса адимнистрирования.
$site_name = $_SERVER['SERVER_NAME'];
//	Мультиязычность.
if (!defined('MULTILANG')) {
    define('MULTILANG', 1);
}
//	Шаблон по умолчанию.
$__template = 'site';
//	Язык по умолчанию.
$current_lang = $default_lang = 'ru';
Example #9
0
 /**
  * Получение информации о корневой странице
  * @param array $aStrings
  * @return array
  */
 public function showBasePage($aStrings = array())
 {
     $result = array();
     // Алиас текущей страницы
     $alias = end($aStrings);
     if ($alias == $this->base->getLang()) {
         $data = $this->base->getRow('pages', 'alias', $alias);
         if (isset($data['id']) && (int) $data['id'] > 0) {
             System_Settings::setCurrentData('pages', $data['id']);
         }
         return $data;
     } else {
         $result = $this->base->getRows('pages', 'alias', $alias);
     }
     $data = array();
     // выбираем нужную страницу
     $tmp = $aStrings;
     array_shift($tmp);
     $link = '/' . implode('/', $tmp) . '/';
     $link1 = '/' . implode('/', $tmp) . '.html';
     for ($i = 0; $i < count($result); $i++) {
         if ($result[$i]['link'] == $link || $result[$i]['link'] == $link1) {
             $data = $result[$i];
         }
     }
     if (empty($data)) {
         array_pop($aStrings);
         $data = $this->showBasePage($aStrings);
     }
     if (isset($data['id']) && (int) $data['id'] > 0) {
         System_Settings::setCurrentData('pages', $data['id']);
     }
     return $data;
 }
Example #10
0
        exit;
    }
} else {
    //  проверяем содержит ли страница компонент
    $component = components($page['text'], $page, $page['link'], $page_num);
    $page['text'] = $component['content'];
}
//	Получение информации о странице.
if (!is_array($page) or empty($page)) {
    //	Страница не найдена. Попытка ввода url вручную или поломались ключи у дерева (врятли).
    require_once DOC . 'error404.php';
    exit;
}
// получение родительской страницы
$parents = $pages->enumPath('pages', $page['id']);
$parent = $page;
for ($i = 0; $i < count($parents); $i++) {
    if ($parents[$i]['tree_level'] == 1) {
        $parent = $parents[$i];
    }
}
/*		Шаблон страницы.	*/
$tpl = !isset($page['template']) || empty($page['template']) ? 'index' : is_file(System_Settings::getSmarty_template() . $page['template'] . '.tpl') ? $page['template'] : 'index2';
// Выгрузка в AJAX JSON
if ((int) Text::get_get('AjaxShowPage') == 1) {
    $pages->getJsonWrap($page);
}
// Выгрузка переменных в шаблон
$smarty->assign(array('page' => $page, 'parent' => $parent, 'breadcrumbs' => $bread_crumbs, 'page_title' => $pages->getPageTitle($page['head_title'])));
// Шаблон для вывода статических страниц
self::setTpl($tpl);
Example #11
0
 private function showItemById($id)
 {
     $data = $this->object->getRow('news_items', $id);
     $page_title = $data['head_title'] != '' ? $data['head_title'] : $data['name'];
     $this->setPageTitle($page_title);
     $this->setH1($data['name']);
     $this->setMetaDescription($data['meta_description']);
     $this->setMetaKeywords($data['meta_keywords']);
     System_Settings::setCurrentData('news_items', $data['id']);
     $this->tpl = 'item';
     $this->smarty->assign('data', $data);
 }
Example #12
0
File: .desc.php Project: klimjr/cms
<?php

//	Запрет на обращение к файлу.
if (realpath($_SERVER['SCRIPT_FILENAME']) == realpath(__FILE__)) {
    header('Location: /admin/');
    exit;
}
/**
 * Описание компонента.
 */
$__cname = 'Колонка редактора';
$__cdesc = '<strong>Дополнительные параметры:</strong><br />
id - Идентификатор записи (число).<br />
limit - Количество записей на страницу (число). По умолчанию равно ' . System_Settings::getLimit() . '.<br />
tpl - Название подключаемого шаблона. По умолчанию "template"<br />
';
Example #13
0
File: .desc.php Project: klimjr/cms
<?php

//	Запрет на обращение к файлу.
if (realpath($_SERVER['SCRIPT_FILENAME']) == realpath(__FILE__)) {
    header('Location: /admin/');
    exit;
}
/**
 * Описание компонента.
 */
$__cname = 'Галерея';
$__cdesc = '<strong>Дополнительные параметры:</strong><br />
gid - Идентификатор группы альбомов (число). По умолчанию записи выбираются без учета групп.<br />
albom_limit - Количество альбомов на страницу (число). По умолчанию равно ' . System_Settings::getLimit() . '.<br />
image_limit - Количество изображений на страницу (число). По умолчанию равно ' . System_Settings::getLimit() . '.<br />
';
Example #14
0
 /**
  * Получение карточки товара
  * @param string $alias
  * @param string $image_size
  * @param string $icon_size
  * @param string $set_image
  * @return array|bool
  */
 public function getProduct($alias, $image_size = '460x460', $icon_size = '64x64', $set_image = '160x160')
 {
     $query = 'CALL get_catalog_product(:alias)';
     $data = PdoWrap::selectRow($query, array(':alias' => $alias));
     if (!isset($data['id']) || $data['id'] == 0 || $data['group_link'] . $data['alias'] . '.html' != $_SERVER['REQUEST_URI']) {
         return false;
     }
     System_Settings::setCurrentData('catalog_items', $data['id']);
     // Получение title, Meta description, Meta keywords если они отсутствуют у элемента
     if ($data['head_title'] == '' || $data['meta_keywords'] == '' || $data['meta_keywords'] == '') {
         // Получение всех родительских групп товара
         $base = new TreeTable(DOC, $this->base->getLang(), PREF);
         $parent_groups = $base->enumPath('catalog_groups', $data['group_id']);
         $j = 0;
         for ($i = count($parent_groups) - 1; $i >= 0; $i--) {
             if ($j == 0) {
                 $data['type'] = $parent_groups[$i]['name'];
             }
             if ($j == 1 && $parent_groups[$i]['tree_level'] > 1) {
                 $data['brand'] = $parent_groups[$i]['name'];
             }
             $j++;
         }
         if ($data['head_title'] == '') {
             $head_title_template = '';
             for ($i = count($parent_groups) - 1; $i >= 0; $i--) {
                 if ($parent_groups[$i]['meta_title_template'] != '') {
                     $head_title_template = $parent_groups[$i]['meta_title_template'];
                     break;
                 }
             }
             if ($head_title_template != '') {
                 foreach ($data as $key => $value) {
                     $head_title_template = str_replace('{' . $key . '}', $value, $head_title_template);
                 }
                 $data['head_title'] = preg_replace('/{(.+?)}/i', '', $head_title_template);
             }
         }
         if ($data['meta_description'] == '') {
             $meta_description_template = '';
             for ($i = count($parent_groups) - 1; $i >= 0; $i--) {
                 if ($parent_groups[$i]['meta_description_template'] != '') {
                     $meta_description_template = $parent_groups[$i]['meta_description_template'];
                     break;
                 }
             }
             if ($meta_description_template != '') {
                 foreach ($data as $key => $value) {
                     $meta_description_template = str_replace('{' . $key . '}', $value, $meta_description_template);
                 }
                 $data['meta_description'] = preg_replace('/{(.+?)}/i', '', $meta_description_template);
             }
         }
         if ($data['meta_keywords'] == '') {
             $meta_keywords_template = '';
             for ($i = count($parent_groups) - 1; $i >= 0; $i--) {
                 if ($parent_groups[$i]['meta_keywords_template'] != '') {
                     $meta_keywords_template = $parent_groups[$i]['meta_keywords_template'];
                     break;
                 }
             }
             if ($meta_keywords_template != '') {
                 foreach ($data as $key => $value) {
                     $meta_keywords_template = str_replace('{' . $key . '}', $value, $meta_keywords_template);
                 }
                 $data['meta_keywords'] = preg_replace('/{(.+?)}/i', '', $meta_keywords_template);
             }
         }
     }
     /*
     // Получение списка групп зарактеристи
     $query = 'CALL get_catalog_features_groups(:item_id)';
     $data['features_groups'] = PdoWrap::select($query, array(':item_id' => $data['id']));
     // Получение списка характеристик
     $data['features'] = $this->getFeaturesForItemForCard($data['id'], $data['group_id']);
     */
     // Получение изображений
     $data['images'] = $this->__getImages($data['id']);
     $images_count = count($data['images']);
     for ($i = 0; $i < $images_count; $i++) {
         Files::setImageSize($image_size);
         $data['images'][$i]['image_link'] = Files::getImageLink($data['images'][$i]['image']);
         Files::setImageSize($icon_size);
         $data['images'][$i]['icon_link'] = Files::getImageLink($data['images'][$i]['image']);
         Files::setImageSize($set_image);
         $data['images'][$i]['set_link'] = Files::getImageLink($data['images'][$i]['image']);
     }
     /*
     // Получение компллектов
     $data['set'] = $this->getRelationList(PREF.'catalog_set',PREF.'catalog_items', 'item_id1', 'item_id2', $data['id']);
     */
     // Получение данных каталога
     $data['other_products'] = $this->getItems($data['group_id'], 'date_add', 'DESC', 12, 1);
     /*
             // Получение комплектаций
             $data['complects'] = parent::getRelationListWithDefault(PREF.'catalog_complect_relations', PREF.'catalog_complect', 'item_id', 'complect_id', $data['id']);
     
     // Получение списка характеристик для комплекта
             for($i=0;$i<count($data['complects']);$i++) {
                 $data['complects'][$i]['features'] = parent::getRelationList(PREF.'catalog_complect_values', PREF.'catalog_features', 'complect_id', 'feature_id', $data['complects'][$i]['id']);
             }
     */
     return $data;
 }
Example #15
0
File: index.php Project: klimjr/cms
                $smarty->assign('__lang', $__lang);
                $smarty->assign('user_id', $user_id);
                $content = $smarty->fetch($tpl);
                $data = array('head' => isset($__lang['add_' . $form]) ? $__lang['add_' . $form] : '', 'content' => $content, 'success' => isset($__lang['add_' . $form . '_success']) ? $__lang['add_' . $form . '_success'] : '', 'error' => isset($__lang['add_' . $form . '_error']) ? $__lang['add_' . $form . '_error'] : '');
                echo json_encode($data);
            }
            exit;
        }
        // Определение мобильного устройства
        require_once DOC . 'system/php-to-detect-mobile-phones.php';
        $mobile = detect_mobile_device() ? 1 : 0;
        if (isset($aStrings[1]) && $aStrings[1] == 'mebel') {
            $smarty->assign(array('body_class' => 'poliform_black'));
        }
        // Выгрузка переменных в шаблон
        $smarty->assign(array('template' => System_Settings::getSmarty_templateName(), 'this_url' => $this_url, 'langs' => $langs, 'current_lang' => $current_lang, 'default_lang' => $default_lang, '__lang' => $router::getLocalize(), 'mobile' => $mobile, 'options' => $options, 'user' => isset($_SESSION['siteuser']) ? $_SESSION['siteuser'] : array()));
        // Вывод страницы с логином для незарегистрированных пользователей
        /*
                if (!isset($_SESSION['siteuser']['id'])) {
                    $router::setTpl('login');
                    $smarty->display($router::getTpl());
                    exit;
                }*/
        // Вывод шаблона
        $smarty->displayAndCach($router::getTpl());
    } else {
        $smarty->displayCached();
    }
} catch (Exception $exc) {
    echo '<pre>Ресурс временно недоступен.</pre>';
    echo '<pre>';
Example #16
0
            $page['meta_description'] = $group['meta_description'];
            $page['meta_keywords'] = $group['meta_keywords'];
            $group_id = $group['id'];
            $component = components($page['text'], $page, $page['link'], $page_num);
            $page['text'] = $component['content'];
            // Данные для автоподгрузки
            if (isset($_GET['ajaxAutoload']) && (int) $_GET['ajaxAutoload'] == 1) {
                $page_num = Text::get_get('page');
                $data = $object->getItems('', 2, $sort, $sort_type, System_Settings::getLimit(), $page_num);
                $smarty->assign(array('data' => $data, '__lang' => $object->getLocalization()));
                $result = $smarty->fetch(DOC . 'templates/site/matches/catalog_items_block.tpl');
                echo $result;
                exit;
            }
            // Получение данных каталога
            $data = $object->getItems($group['id'], $sort, $sort_type, System_Settings::getLimit(), $page_num);
            // Получение хлебных крошек
            //            $bread_crumbs = $object->getFrontEndBreadCrumbs($table);
            $bread_crumbs = $object->getFrontEndBreadCrumbs('catalog_groups', $group['id']);
            if (isset($group['show_children']) && $group['show_children'] == 1) {
                // Вывод для группы немецкие кухни
                $children_groups = $object->getGroupChildren('catalog_groups', $group['id']);
            }
            $parent = $group;
        }
    }
} else {
    // переопределяем данные
    $page['h1'] = $page['h1'] . ' ' . $object->getLocalization(end($module_aString));
    $group_id = 0;
    $data = array();