Файл: modules/forum/setting.section.php
Строк: 133
<?
define('SHCMS_ENGINE',true);
include_once('../../engine/system/core.php');
$templates->template(Lang::__('Настройка Разделов')); //Название страницы
//Отключения форума
//Вывод определенных данных
$off_forum = $db->get_array($db->query("SELECT * FROM `off_modules`"));
if($off_forum['off_forum'] == 1) {
echo engine::error(Lang::__('Форум приостановлен с ').date::make_date($off_forum['time_forum']),$off_forum['text_forum']); //Ошибка об отключении и дополнительный текст
echo engine::home(array('Назад','/index.php'));
exit;
}
//Если у тебя права 15 то ты можешь приступить к работе
if($groups->setAdmin($user_group) != 15) {
echo engine::error('У вас нет прав для доступа');
header('Refresh: 1; url=index.php');
exit;
}
//Если разделов нет то выведит эту ошибку
$yes_sec = $db->query('SELECT * FROM `forum_subsection`');
if(!$db->num_rows($yes_sec)){
header('Refresh: 1; url=index.php');
engine::error(Lang::__('Произошла ошибка не найдено разделов')); //При ошибке
exit;
}
//Делаем облегчение создаем 2разных фукнции в одной станице
switch($act):
//По умолчанию
default:
echo '<div class="mainpost">';
echo '<a href="?act=editor_sec">'.Lang::__('Редактирование и удаление разделов').'</a>';
echo '</div>';
echo engine::home(array(Lang::__('Назад'),'index.php'));
break;
//Редактируем категорию
case 'editor_sec':
if(isset($_GET['edit']) == 'edit') {
//Если вместо id num попытаются вставить текст то выводит ошибку
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
header('Refresh: 1; url=index.php');
engine::error(Lang::__('Произошла ошибка при выборки раздела')); //При ошибке
exit;
}
//из $_GET в обычную переменную
$id = (int) $_GET['id'];
//Выводим категорию по $ID
$category = $db->query("SELECT * FROM `forum_subsection` WHERE `id` = '".$id."'");
echo '<div class="mainname">'.Lang::__('Редактирование раздела').'</div>';
//Через $edit[] начинаем вывод данных с базы
$edit = $db->get_array($category);
echo '<div class="mainpost">';
//Проверяем нажата ли кнопка и если ли в поле input текст
if(isset($_POST['name']) and isset($_POST['update']) and isset($_POST['text'])) {
//Обрабатываем название
$name = engine::proc_name($_POST['name']);
//Обрабатывает описание
$text = engine::input_text($_POST['text']);
//Если не введена название раздела
if(!$name) {
echo engine::error(Lang::__('Введите название раздела!'));
}elseif(!$text){
echo engine::error(Lang::__('Введите текст'));
}else {
//Если все выполнена правильно то обновляет название в базе
$db->query("UPDATE `forum_subsection` SET `name` = '".$db->safesql($name)."',`text` = '".$db->safesql($text)."' WHERE `id` = '".$id."'");
echo engine::success(Lang::__('Раздел успешно изменен')); //Успешно
echo engine::home(array(Lang::__('Назад'),'setting.section.php?act=editor_sec')); //Переадресация
exit;
}
}
//Форма редактирования
$form = new form('?act=editor_sec&id='.$id.'&edit');
$form->input(Lang::__('Название:'),'name','text',$edit['name']); //Название
$form->textarea(Lang::__('Описание:'),'text',$edit['text']); //Название
$form->submit(Lang::__('Обновить'),'update'); //Обновляем
$form->display();
echo '</div>';
}
//Загружаем данные с базы
$section = $db->query("SELECT * FROM `forum_subsection`");
echo '<div class="mainname">'.Lang::__('Список разделов').'</div>';
//Проверяем есть ли раздела
if($db->num_rows($section)) {
echo '<div class="mainpost">';
//Если есть вывводим их всех
while($sec = $db->get_array($section)) {
echo '<div class="sortable"><b>ID:'.$sec['id'].'</b> <a href="section.php?id='.$sec['id'].'">'.$sec['name'].'</a>
<span class="time">
<a href="?act=editor_sec&id='.$sec['id'].'&edit"><img src="/engine/template/icons/notepad.png"/></a>
<a href="?act=delete_sec&id='.$sec['id'].'"><img src="/engine/template/icons/delete.png"/></a>
</span></div>';
}
echo '</div>';
}
//Переадресация на пред. старницу
echo engine::home(array(Lang::__('Назад'),'setting.section.php'));
//Завершаем с редактированием раздела
break;
//Удаляем категорию
case 'delete_sec':
//Если вместо id num попытаются вставить текст то выводит ошибку
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
header('Refresh: 1; url=index.php');
engine::error(Lang::__('Произошла ошибка при удаление раздела')); //При ошибке
exit;
}
//из $_GET в обычную переменную
$id = (int) $_GET['id'];
//Если вы нажали на подтверждение то будет удалена категория со всеми разделами и темами
if(isset($_POST['yes_delete'])) {
//Удаляем разделы в данной раздела
$db->query('DELETE FROM `forum_subsection` WHERE `id` = "'.$id.'"');
//Удаляем темы из раздела
$db->query('DELETE FROM `forum_topics` WHERE `id_sec` = "'.$id.'"');
//Удаляем посты из раздела
$db->query('DELETE FROM `forum_post` WHERE `id_sec` = "'.$id.'"');
//Успешное удаление всех выбранных данных
echo engine::success('Раздел успешно удален');
echo engine::home(array('Назад','setting.section.php?act=editor_sec'));
exit;
//Если вы нажали на отмену то переадресовывается на пред. страницу
}elseif(isset($_POST['no_delete'])){
header('Location: setting.section.php?act=editor_sec'); //Пред. стараница
}
//Подтверждение
echo '<div class="mainname">Подтверждение</div>';
echo '<div class="mainpost">';
echo 'Вы действительно хотите удалить выбранный раздел? Данное действие невозможно будет отменить.<hr/>';
//Форма удаление
echo '<div style="text-align:right;">';
$form = new form('?act=delete_sec&id='.$id.'');
$form->submit('Да','yes_delete');
$form->submit('Нет','no_delete');
$form->display();
echo '</div></div>';
break;
endswitch;
?>