View file modules/news/setting.news.php

File size: 7.37Kb
<?
define('SHCMS_ENGINE',true);
include_once('../../engine/system/core.php');
$templates->template(Lang::__('Настройка Новостей')); //Название страницы

	//Если у тебя права 15 то ты можешь приступить к работе
    if($groups->setAdmin($user_group) !=  15) {
        echo engine::error('У вас нет прав для доступа');
        header('Refresh: 1; url=index.php');
        exit;
    }
        //Если разделов нет то выведит эту ошибку
        $yes_sec = $db->query('SELECT * FROM `news`');
		if(!$db->num_rows($yes_sec)){
		    header('Refresh: 1; url=index.php');
            engine::error(Lang::__('Произошла ошибка не найдено новость')); //При ошибке
            exit;
		}

    //Делаем облегчение создаем 2разных фукнции в одной станице
    switch($act):

    //Редактируем категорию
    default:

        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 `news` 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'])and isset($_POST['cr_news'])) {
				        //Обрабатываем название
                        $name = engine::proc_name($_POST['name']);
	                    //Обрабатывает описание
                        $text = $_POST['text']; 
						$cr_news = $_POST['cr_news']; 
				    //Если не введена название раздела
					if(!$name) {
				    	echo engine::error(Lang::__('Введите название новости!'));
					}elseif(!$text){
					    echo engine::error(Lang::__('Введите описание'));
					}else {  
					    //Если все выполнена правильно то обновляет название в базе
				   		$db->query("UPDATE `news` SET `title` = '".$db->safesql($name)."',`cr_news` = '".$db->safesql($cr_news)."',`text` = '".$db->safesql($text)."' WHERE `id` = '".$id."'");
				    	echo engine::success(Lang::__('Новость успешно изменена')); //Успешно
						echo '</div>';
				    	echo engine::home(array(Lang::__('Назад'),'setting.news.php?act=editor_sec')); //Переадресация
						exit;
					}
				}
				//Форма редактирования
                $form = new form('?act=editor_sec&id='.$id.'&edit');
                $form->input(Lang::__('Название:'),'name','text',$edit['title']); //Название
				$form->textarea(Lang::__('Краткое описание:'),'cr_news',$edit['cr_news']); //Краткое описание
				$form->textarea(Lang::__('Полное описание:'),'text',$edit['text']); //Полное описание
                $form->submit(Lang::__('Обновить'),'update'); //Обновляем
                $form->display();
                echo '</div>';
        }
        //Загружаем данные с базы
        $section = $db->query("SELECT * FROM `news`");
            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="view.php?id='.$sec['id'].'">'.$sec['title'].'</a>
                        <span class="time">
                        <a href="?act=editor_sec&id='.$sec['id'].'&edit"><img src="/engine/template/icons/edit.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::__('Назад'),'index.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 `news` WHERE `id` = "'.$id.'"');
                //Удаляем комментарии к новости			
                $db->query('DELETE FROM `news_comment` WHERE `id_news` = "'.$id.'"');	
               		
				//Успешное удаление всех выбранных данных
			    echo engine::success('Раздел успешно удален');
				echo engine::home(array('Назад','setting.news.php?act=editor_sec'));
				exit;
			//Если вы нажали на отмену то переадресовывается на пред. страницу
			}elseif(isset($_POST['no_delete'])){
			    header('Location: setting.news.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;






?>