diff --git a/rating/module.php b/rating/module.php new file mode 100644 index 0000000..cf44e0b --- /dev/null +++ b/rating/module.php @@ -0,0 +1,121 @@ +"; +} + +//Функция вывода модуля +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; + } +} + +?> \ No newline at end of file