<?php
/**
* @author Screamer
*/
include '../engine/includes/start.php';
define('INCDIR', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR);
define('FILESDIR', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'files' . DIRECTORY_SEPARATOR);
define('ICONSDIR', '/lib/files/icons/');
require INCDIR . 'lib' . DIRECTORY_SEPARATOR . 'functions.php';
$do = isset($_GET['do']) ? $_GET['do'] : false;
$libSet = unserialize($sql->query("SELECT `val` FROM `mod_lib_set` WHERE `key` = 'set'")->result());
/* Закрытие доступа */
if (($libSet['mod_close'] == 1 && !$user_id) || ($libSet['mod_close'] == 2 && !$admin)) {
$set['title'] = 'Библиотека';
require H . 'engine/includes/head.php';
echo Core::msg_show('Доступ запрещен');
require H . 'engine/includes/foot.php';
}
/* Список допустимых режимов работы и заголовков страниц для них */
$modes = array(
/* Статьи */
'articles' => array(
'attach' => 'Прикрепить   файл',
'download' => 'Скачать статью',
'edit' => 'Редактировать статью',
'form' => ($do == 'add' ? 'Добавить статью' : 'Редактировать статью'),
'save' => ($do == 'add' ? 'Добавить статью' : 'Редактировать статью'),
'remove' => 'Удалить статью',
'move' => 'Переместить статью',
'upload' => 'Загрузить статью',
'vote' => 'Опрос',
'view' => ''
),
/* Закладки */
'bookmarks' => array(
'add' => 'Добавить в закладки',
'clean' => 'Удаление закладок',
'remove' => 'Удалить из закладок',
'view' => 'Мои закладки',
),
/* Категории */
'category' => array(
'add' => 'Добавить категорию',
'edit' => 'Редактировать категорию',
'remove' => 'Удалить категорию',
'move' => 'Переместить категорию',
'view' => ''
),
/* Комментарии */
'comments' => 'Комментарии',
/* Главная страница */
'mainpage' => array(
'view' => 'Библиотека'
),
/* Панель управления */
'panel' => array(
'garbage' => 'Сборщик мусора',
'view' => 'Панель управления',
'moderation' => 'Статьи на модерации',
'settings' => 'Настройки',
'movdel' => (isset($_REQUEST['move']) ? 'Переместить статьи и категории' : 'Удалить статьи и категории')
),
/* Поиск */
'search' => array(
'view' => 'Настройки'
)
);
/* Если идет обращение к директорию с файлами */
$folders = array('files');
$uri = explode('/', $_SERVER['REQUEST_URI']);
if (!in_array($uri[1], $folders)) {
/* Устанавливаем режим по умолчанию */
$act = !empty($act) ? $act : 'mainpage';
$mod = !empty($_GET['mod']) ? $_GET['mod'] : 'view';
$loading = array_key_exists($act, $modes);
if ($loading) {
if (is_array($modes[$act])) {
$loading = array_key_exists($mod, $modes[$act]);
} else {
$loading = is_string($modes[$act]);
}
}
if ($loading) {
if (is_string($modes[$act])) {
$mode = INCDIR . $act . '.php';
/* Устанавливаем заголовок страницы */
$set['title'] = $modes[$act];
} else {
$mode = INCDIR . $act . DIRECTORY_SEPARATOR . $mod . '.php';
/* Устанавливаем заголовок страницы */
$set['title'] = $modes[$act][$mod];
}
if (file_exists($mode)) {
if (!empty($set['title'])) {
require H . 'engine/includes/head.php';
}
require $mode;
/* Показ ошибок */
if (!empty($error)) {
echo '<div class="fmenu">Библиотека</div>'
. Core::msg_show($error)
. '<div class="fmenu"><a href="index.php">Назад</a></div>';
}
require_once H . 'engine/includes/foot.php';
} else {
$error = TRUE;
}
} else {
$error = TRUE;
}
/* Если запрашиваемый режим не найден, перенаправляем на страницу ошибки */
if (isset($error) && $error === TRUE) {
header('Location: /?err');
exit;
}
}