View file modules/forum/setting.section.php

File size: 8.24Kb
<?
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>&nbsp;<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>&nbsp;&nbsp;
                        <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;






?>