Модуль Вопрос/ответ v1.26.1
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
2.2 KiB

<?php
/**
* AVE.cms - Модуль Вопрос-Ответ
*
* @package AVE.cms
* @subpackage module_FAQ
* @since 2.0
* @filesource
*/
if (!defined('BASE_DIR')) exit;
/**
* Обработка тега модуля
*
* @param int $id идентификатор рубрики вопросов и ответов
*/
function mod_faq($id)
{
global $AVE_Template;
$AVE_Template->caching = 1; // Включаем кеширование
$AVE_Template->cache_lifetime = -1; // Неограниченное время жизни кэша
// $AVE_Template->cache_dir .= '/faq'; // Папка для кеша модуля
$tpl_dir = BASE_DIR . '/modules/faq/templates/'; // Путь к шаблону модуля
// Если нету в кеше, то начинаем обрабатывать
if (!$AVE_Template->is_cached($tpl_dir . 'show_faq.tpl', $id))
{
// Проверяем, есть ли папка для кеша, если нет (первый раз) — создаем
if (!is_dir($AVE_Template->cache_dir))
{
$oldumask = umask(0);
@mkdir($AVE_Template->cache_dir, 0777);
umask($oldumask);
}
require_once(BASE_DIR . '/modules/faq/class/faq.php');
Faq::faqShow($id);
}
echo rewrite_link($AVE_Template->fetch($tpl_dir . 'show_faq.tpl', $id));
$AVE_Template->caching = false; // Отключаем кеширование
}
/**
* Администрирование
*/
if (defined('ACP') && !empty($_REQUEST['moduleaction']))
{
require_once(BASE_DIR . '/modules/faq/class/faq.php');
$tpl_dir = BASE_DIR . '/modules/faq/templates/';
$lang_file = BASE_DIR . '/modules/faq/lang/' . $_SESSION['user_language'] . '.txt';
$AVE_Template->config_load($lang_file, 'module');
switch ($_REQUEST['moduleaction'])
{
case '1':
Faq::faqList($tpl_dir);
break;
case 'new':
Faq::faqNew();
break;
case 'del':
Faq::faqDelete($tpl_dir);
break;
case 'save':
Faq::faqListSave($tpl_dir);
break;
case 'questlist':
Faq::faqQuestionList($tpl_dir);
break;
case 'questedit':
Faq::faqQuestionEdit($tpl_dir);
break;
case 'questsave':
Faq::faqQuestionSave($tpl_dir);
break;
case 'questdel':
Faq::faqQuestionDelete($tpl_dir);
break;
}
}
?>