Модуль Вопрос/ответ 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.
 
 

115 lines
2.9 KiB

<?php
/**
* AVE.cms - Модуль Вопрос-Ответ
*
* @package AVE.cms
* @subpackage module_FAQ
* @since 2.0
* @filesource
*/
if (!defined('BASE_DIR')) exit;
if (defined('ACP'))
{
$modul['ModuleName'] = 'Вопрос/ответ';
$modul['ModuleSysName'] = 'faq';
$modul['ModuleVersion'] = '1.0.1';
$modul['ModuleDescription'] = 'Модуль создания раширенной справочной системы на основе тегов.';
$modul['ModuleAutor'] = 'Freeon';
$modul['ModuleCopyright'] = '&copy; 2007-2008 Overdoze Team';
$modul['ModuleStatus'] = 1;
$modul['ModuleIsFunction'] = 1;
$modul['ModuleAdminEdit'] = 1;
$modul['ModuleFunction'] = 'mod_faq';
$modul['ModuleTag'] = '[mod_faq:XXX]';
$modul['ModuleTagLink'] = null;
$modul['ModuleAveTag'] = '#\\\[mod_faq:(\\\d+)]#';
$modul['ModulePHPTag'] = "<?php mod_faq(''$1''); ?>";
}
/**
* Обработка тега модуля
*
* @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);
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;
}
}
?>