<?php /** * AVE.cms - Модуль Рейтинг документов * * @package AVE.cms * @subpackage mod_rating * @filesource */ if(!defined('BASE_DIR')) exit; if (defined('ACP')) { $modul['ModuleName'] = "Рейтинг документов"; $modul['ModuleSysName'] = "rating"; $modul['ModuleVersion'] = "1.1"; $modul['ModuleDescription'] = "Звездный рейтинг документов"; $modul['ModuleAutor'] = 'AVE.CMS Team'; $modul['ModuleCopyright'] = '© 2007-2016 AVE.CMS'; $modul['ModuleIsFunction'] = 1; $modul['ModuleAdminEdit'] = 1; $modul['ModuleFunction'] = "mod_rating"; $modul['ModuleTag'] = "[mod_rating]"; $modul['ModuleTagLink'] = null; $modul['ModuleAveTag'] = '#\\\[mod_rating(:[\\\d]+)?]#'; $modul['ModulePHPTag'] = "<?php mod_rating(''$1''); ?>"; } //Функция вывода модуля function mod_rating($doc_id = false) { global $AVE_DB, $AVE_Template; $doc_id = preg_replace('/\D/', '', $doc_id); // определяем id документа if ($doc_id != "") { $type = 'request'; } else { $type = 'document'; $doc_id = (int)$_REQUEST['id']; } // подключаем класс require_once(BASE_DIR . '/modules/rating/class.rating.php'); $rating = new docRating; // папка с шаблонами $rating->tpl_dir = BASE_DIR . '/modules/rating/templates/'; // ланги $lang_file = BASE_DIR . '/modules/rating/lang/' . $_SESSION['user_language'] . '.txt'; $AVE_Template->config_load($lang_file, 'public'); $config_vars = $AVE_Template->get_config_vars(); $AVE_Template->assign('config_vars', $config_vars); // выводим рейтинг $rating->show($doc_id, $type); } //Публичные функции модуля if (!defined('ACP') && !empty($_REQUEST['action']) && $_REQUEST['module'] == 'rating') { // подключаем класс require_once(BASE_DIR . '/modules/rating/class.rating.php'); $rating = new docRating; // ланги $lang_file = BASE_DIR . '/modules/rating/lang/' . $_SESSION['user_language'] . '.txt'; $AVE_Template->config_load($lang_file, 'public'); switch($_REQUEST['action']) { case 'vote': // Учет голоса $percent = $rating->vote((int)$_REQUEST['doc_id'],(int)$_REQUEST['mark']); $rating->vote((int)$_REQUEST['doc_id'], (int)$_REQUEST['mark']); break; } } //Административные функции if (defined('ACP') && !empty($_REQUEST['moduleaction'])) { // Подключаем основной класс и создаем объект require_once(BASE_DIR . '/modules/rating/class.rating.php'); $rating = new docRating; $adm_dir = BASE_DIR . '/modules/rating/admin/'; $tpl_dir = BASE_DIR . '/modules/rating/templates/'; // Определяем директори, где хранятся файлы с шаблонами модуля и подключаем языковые переменные $lang_file = BASE_DIR . '/modules/rating/lang/' . $_SESSION['user_language'] . '.txt'; $AVE_Template->config_load($lang_file, 'admin'); $config_vars = $AVE_Template->get_config_vars(); $AVE_Template->assign('config_vars', $config_vars); // Определяем, какой параметр пришел из строки запроса браузера switch ($_REQUEST['moduleaction']) { // Если 1, тогда отображаем список всех голосов case '1': $rating->ratingAdminListShow($adm_dir); break; // Если settings, тогда открываем страницу с настройками данного модуля case 'settings': // Подключаем файл класса для работы с пользователями, создаем объект и получаем список // всех групп пользователей, имеющихся в системе. require_once(BASE_DIR . '/class/class.user.php'); $AVE_User = new AVE_User; $AVE_Template->assign('groups', $AVE_User->userGroupListGet()); $rating->ratingAdminSettingsEdit($adm_dir); break; } } ?>