121 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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;
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
?>
 |