Repellent
9 years ago
1 changed files with 121 additions and 0 deletions
@ -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'] = '© 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…
Reference in new issue