module-rating/rating/module.php

104 lines
3.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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;
}
}
?>