|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* AVE.cms - Модуль Комментарии
|
|
|
|
*
|
|
|
|
* @package AVE.cms
|
|
|
|
* @subpackage module_Comment
|
|
|
|
* @filesource
|
|
|
|
*/
|
|
|
|
|
|
|
|
if(!defined('BASE_DIR')) exit;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Функция, предназначенная для вывода списка комментариев к данному документу.
|
|
|
|
* Она будет выполнена при парсинге шаблона вместо системного тега [mod_comment].
|
|
|
|
*/
|
|
|
|
function mod_comment()
|
|
|
|
{
|
|
|
|
global $AVE_Template;
|
|
|
|
|
|
|
|
// Подключаем класс и создаем объект дял работы
|
|
|
|
require_once(BASE_DIR . '/modules/comment/class/comment.php');
|
|
|
|
$comment = new Comment;
|
|
|
|
|
|
|
|
// Подключаем языковые файлы
|
|
|
|
$tpl_dir = BASE_DIR . '/modules/comment/templates/';
|
|
|
|
$lang_file = BASE_DIR . '/modules/comment/lang/' . $_SESSION['user_language'] . '.txt';
|
|
|
|
$AVE_Template->config_load($lang_file, 'module');
|
|
|
|
|
|
|
|
// Обращаемся к методу commentListShow() и отображаем список комментариев
|
|
|
|
$comment->commentListShow($tpl_dir);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Следующий раздел описывает правила поведения модуля и его функциональные возможности
|
|
|
|
* только при работе в Публичной части сайта.
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
// Определяем, что мы не находимся в Панели управления и в строке запроса происходит обращение именно к данному модулю
|
|
|
|
if (!defined('ACP') && isset($_REQUEST['module']) && $_REQUEST['module'] == 'comment' && isset($_REQUEST['action']))
|
|
|
|
{
|
|
|
|
// Подключаем основной класс и создаем объект
|
|
|
|
require_once(BASE_DIR . '/modules/comment/class/comment.php');
|
|
|
|
$comment = new Comment;
|
|
|
|
|
|
|
|
// Определяем директори, где хранятся файлы с шаблонами модуля и подключаем языковые переменные
|
|
|
|
$tpl_dir = BASE_DIR . '/modules/comment/templates/';
|
|
|
|
$lang_file = BASE_DIR . '/modules/comment/lang/' . $_SESSION['user_language'] . '.txt';
|
|
|
|
$AVE_Template->config_load($lang_file, 'module');
|
|
|
|
|
|
|
|
// Определяем, какой параметр пришел из строки запроса браузера
|
|
|
|
switch($_REQUEST['action'])
|
|
|
|
{
|
|
|
|
// Если form, тогда отображаем форму для добавления нового комментария
|
|
|
|
case 'form':
|
|
|
|
$comment->commentPostFormShow($tpl_dir);
|
|
|
|
break;
|
|
|
|
|
|
|
|
// Если comment, тогда производим запись нового комментария в БД
|
|
|
|
case 'comment':
|
|
|
|
$comment->commentPostNew($tpl_dir);
|
|
|
|
break;
|
|
|
|
|
|
|
|
// Если edit, тогда открываем форму для редактирования текста комментария
|
|
|
|
case 'edit':
|
|
|
|
$comment->commentPostEdit((int)$_REQUEST['Id']);
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
// Если delete, тогда удаляем комментарий
|
|
|
|
case 'delete':
|
|
|
|
if (UGROUP==1)
|
|
|
|
{
|
|
|
|
$comment->commentPostDelete((int)$_REQUEST['Id']);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
// Если postinfo, тогда отображаем окно с информацией об авторе комментария
|
|
|
|
case 'postinfo':
|
|
|
|
$comment->commentPostInfoShow($tpl_dir);
|
|
|
|
break;
|
|
|
|
|
|
|
|
// Если lock или unlock, тогда запрещаем или разрешаем оставлять ответы для имеющихся комментариев
|
|
|
|
case 'lock':
|
|
|
|
case 'unlock':
|
|
|
|
if (UGROUP==1)
|
|
|
|
{
|
|
|
|
$comment->commentReplyStatusSet((int)$_REQUEST['Id'], $_REQUEST['action']);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
// Если open или close, тогда разрешаем или запрещаем полное комментирование документа
|
|
|
|
case 'open':
|
|
|
|
case 'close':
|
|
|
|
if (UGROUP==1)
|
|
|
|
{
|
|
|
|
$comment->commentStatusSet((int)$_REQUEST['docid'], $_REQUEST['action']);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Следующий раздел описывает правила поведения модуля и его функциональные возможности
|
|
|
|
* только при работе в Административной части сайта.
|
|
|
|
*/
|
|
|
|
if (defined('ACP') && !empty($_REQUEST['moduleaction']))
|
|
|
|
{
|
|
|
|
// Подключаем основной класс и создаем объект
|
|
|
|
require_once(BASE_DIR . '/modules/comment/class/comment.php');
|
|
|
|
$comment = new Comment;
|
|
|
|
|
|
|
|
// Определяем директори, где хранятся файлы с шаблонами модуля и подключаем языковые переменные
|
|
|
|
$tpl_dir = BASE_DIR . '/modules/comment/templates/';
|
|
|
|
$lang_file = BASE_DIR . '/modules/comment/lang/' . $_SESSION['admin_language'] . '.txt';
|
|
|
|
$AVE_Template->config_load($lang_file, 'admin');
|
|
|
|
|
|
|
|
|
|
|
|
// Определяем, какой параметр пришел из строки запроса браузера
|
|
|
|
switch ($_REQUEST['moduleaction'])
|
|
|
|
{
|
|
|
|
|
|
|
|
// Если 1, тогда отображаем список всех комментариев с постраничной навигацией
|
|
|
|
case '1':
|
|
|
|
$comment->commentAdminListShow($tpl_dir);
|
|
|
|
break;
|
|
|
|
|
|
|
|
// Если admin_edit, тогда открываем форму для редактирования выбранного комментария
|
|
|
|
case 'admin_edit':
|
|
|
|
$comment->commentAdminPostEdit($tpl_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());
|
|
|
|
|
|
|
|
$comment->commentAdminSettingsEdit($tpl_dir);
|
|
|
|
break;
|
|
|
|
case 'admin_del':
|
|
|
|
$comment->commentAdminDelete((int)$_REQUEST['Id']);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|