|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* AVE.cms - Модуль Рейтинг документов
|
|
|
|
*
|
|
|
|
* @package AVE.cms
|
|
|
|
* @subpackage mod_rating
|
|
|
|
* @filesource
|
|
|
|
*/
|
|
|
|
|
|
|
|
if(!defined('BASE_DIR')) exit;
|
|
|
|
|
|
|
|
//Функция вывода модуля
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|