View file panel/news.php

File size: 3.27Kb
<?php
// by mides, 1da.su

require_once '../system/sys.php';
require_once '../system/auth_a.php';
require_once '../system/header.php';

if ($u['access'] < 1) header('location: ../');

switch ($_GET['act']) {
	case 'add':
		tp('Добавить новость');
		echo '<form action="?act=add_do" method="post" name="form">
		Заголовок(max50):<br/><input name="title" type="text" maxlength="50" /><br />
		Текст:<br /><textarea name="text" rows="5"></textarea><br />
		<input name="submit" type="submit" value="Добавить" /></form>
		</div>';
		nav('?');
	break;
	
	case 'add_do':
		if ($_POST['title'] && $_POST['text']) {
			$title = check($_POST['title']);
			$text = check($_POST['text']);
			mysql_query("INSERT INTO `news`(`title`,`text`,`time`) VALUES('$title', '$text', '".time()."')");
			header('location: ?');
		} else {
			error('Вы не заполнили поля!');
			nav('?act=add');
		}
	break;
	
	case 'edit':
		$id = intval($_REQUEST['id']);
		$news = mysql_fetch_assoc(mysql_query("SELECT `title`, `text` FROM `news` WHERE `id` = '$id'"));
		tp('Редактировать новость');
		echo '<form action="?act=edit_do&amp;id='.$id.'" method="post" name="form">
		Заголовок(max50):<br /><input name="title" type="text" maxlength="50" value="'.$news['title'].'" /><br />
		Текст:<br /><textarea name="text" rows="5">'.$news['text'].'</textarea><br />
		<input name="del" type="checkbox" value="1" />Удалить новость<br />
		<input name="submit" type="submit" value="Сохранить" /></form>';
		nav('?');
	break;
	
	case 'edit_do':
		$id = intval($_REQUEST['id']);
		if (empty($_POST['del'])) {
			if ($_POST['title'] && $_POST['text']) {
				$title = check($_POST['title']);
				$text = check($_POST['text']);
				mysql_query("UPDATE `news` SET `title` = '$title', `text` = '$text' WHERE `id` = '$id'");
				info('Новость успешно отредактирована.');
				nav('?');
			} else {
				error('Вы не заполнили поля!');
				nav('?act=edit&amp;id='.$id.'');
			}
		} else {
			mysql_query("DELETE FROM `news` WHERE `id` = '$id'");
			mysql_query("DELETE FROM `news_comm` WHERE `id_news` = '$id'");
			info('Новость успешно удалена.');
			nav('?');
		}
	break;
	
    default:
		tp('Управление новостями');
		$total = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `news`"), 0);
		if ($total > 0) {
			$pages = ceil($total / $config['onpage']);
			$page = intval($_GET['p']) ? abs($_GET['p']) : 1;
			if ($page > $pages or $page == 0) {
				$page = 1;
			}
			$begin = ($page - 1) * $config['onpage'];
			
			$news_r = mysql_query("SELECT * FROM `news` ORDER BY `time` DESC LIMIT $begin, $config[onpage]");
			while ($news = mysql_fetch_assoc($news_r)) {
				echo '<a href="../news.php?act=view&amp;id='.$news['id'].'">'.$news['title'].'</a> ('.date('d.m.Y, H:i', $news['time']).' [<a href="?act=edit&amp;id='.$news['id'].'">ред</a>]<br />';
			}
		} else {
			echo 'Новостей еще нет<br />';
		}
		
		navig($page, '?', $pages);
		
		echo '<br /><a href="?act=add" class="button">Добавить</a></div>';
		nav('./');
	break;

}

require_once '../system/tail_p.php';
?>