<?
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:
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 `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 = engine::input_text($_POST['text']);
$cr_news = engine::input_text($_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 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> <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/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.news.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;
?>