Browse Source

Добавлен файл в репозиторий

master
Repellent 8 years ago
parent
commit
7d703f1ee0
  1. 121
      rating/module.php

121
rating/module.php

@ -0,0 +1,121 @@
<?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'] = '&copy; 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;
}
}
?>
Loading…
Cancel
Save