Просмотр файла admin/categories.php

Размер файла: 8.02Kb
<?php
include('../inc/core.php');

$pagetitle = 'Управление категориями';

if (empty($_SESSION['autorized'])) { redirect('../index.php'); die(); }
if (empty($_SESSION['access']) || $_SESSION['access']<md_cats) { redirect('../index.php'); die(); }

if (empty($_GET['act'])) $act = 'index';
	else $act = htmlspecialchars($_GET['act']);
	
if ($act=='index') {
	include('../design/'.$_SESSION['design'].'/header.php');
	$count = mysql_fetch_string('SELECT COUNT(*) FROM `'.db_prefix.'categories`');
	echo '<div id="title_a">'.$pagetitle.'</div>';
	echo '<div id="menu"><ul>';
	if ($count==0) {
		echo '<div align="center">Категории блога еще не добавлены</div>';
	} else {
		$res = mysql_query('SELECT * FROM `'.db_prefix.'categories`');
		while ($cat = mysql_fetch_object($res)) {
			echo '<li><a href="../viewcat.php?id='.$cat->id.'"><img src="../images/category.png"> '.$cat->title.' ('.$cat->counter.') </a></li>
			<div class="desc">'.$cat->description.'<div class="order">
			<a href="categories.php?act=edit&id='.$cat->id.'">Редактировать</a> 
			<a href="categories.php?act=del&id='.$cat->id.'">Удалить</a> </div></div>';
		}
	}
	
	echo '<div class="order"><div align="right"><a href="categories.php?act=add">Добавить категорию</a></div></div>';
	echo '
	<li> <a href="index.php"><img src="../images/back.png"> В панель управления</a></li>
	</ul></div>';
}

if ($act=='add') {
	if (empty($_SESSION['cattitle'])) $_SESSION['cattitle'] = '';
	if (empty($_SESSION['catdescription'])) $_SESSION['catdescription'] = '';
	include('../design/'.$_SESSION['design'].'/header.php');
	echo '<div id="title_a">'.$pagetitle.'</div>';
	echo '<div id="menu"><ul>
	
	<form action="categories.php?act=getadd" method="post">
	Название новой категории: (не более 64 символов)<br>
	<input type="text" name="title" value="'.$_SESSION['cattitle'].'"><br>
	Описание категории: (не более 100 символов)<br>
	<input type="text" name="description" value="'.$_SESSION['catdescription'].'"><br>
	<div align="center">
	<input type="submit" value="Добавить">
	</form></div>
	<li><a href="index.php"><img src="../images/back.png"> Назад в админку</a></li>
	</ul></div>';
	$_SESSION['cattitle'] = null;
	$_SESSION['catdescription'] = null;
 }

if ($act=='getadd') {
	if (empty($_POST['title'])) { $_SESSION['error'] = 'Вы не ввели название категории'; redirect('categories.php?act=add'); die(); }
	if (strlen($_POST['title'])>64) {
		$_SESSION['error'] = 'Название категории не должно превышать 64 символа';
		$_SESSION['cattitle'] = htmlspecialchars($_POST['title']);
		redirect('categories.php?act=add');
		die();
	}
	if (strlen($_POST['description'])>100) {
		$_SESSION['error'] = 'Описание категории не должно превышать 100 символов';
		$_SESSION['catdescription'] = htmlspecialchars($_POST['description']);
		redirect('categories.php?act=add');
		die();
	}
	if (mysql_query('INSERT INTO `'.db_prefix.'categories` (title,description,counter) VALUES ("'.htmlspecialchars($_POST['title']).'",
	"'.htmlspecialchars($_POST['description']).'",0)')) {
		$_SESSION['info'] = 'Категория успешно добавлена';
		redirect('categories.php');
		die();
	} else {
		$_SESSION['catdescription'] = htmlspecialchars($_POST['description']);
		$_SESSION['cattitle'] = htmlspecialchars($_POST['title']);
		$_SESSION['error'] = 'Ошибка при записи категории в базу данных';
		redirect('categories.php');
		die();
	}
}

if ($act=='del') {
	if (empty($_GET['id'])) { redirect('categories.php'); die(); }
	include('../design/'.$_SESSION['design'].'/header.php');
	
	echo '<div id="title_a">'.$pagetitle.'</div>
	<div id="menu"><ul>
	Записи, находящиеся в данной категории:<br>
	<form action="categories.php?act=getdel" method="post">
	<input type="hidden" method="post" value="'.htmlspecialchars($_GET['id']).'" name="id">
	<input type="radio" name="del" value="del">Удалить<br>
	<input type="radio" name="del" value="come">Перенести в категорию:';
	echo ' <select name="category">';
	$res = mysql_query('SELECT * FROM `'.db_prefix.'categories`');
	while ($cat = mysql_fetch_object($res)) {
			echo '<option selected value="'.$cat->id.'">'.$cat->title.'</option>'; 
	}
	echo '</select><br>';
	echo '
	<div align="center"><input type="submit" value="Удалить категорию"></div>
	</form>
	<li><a href="categories.php"><img src="../images/back.png"> Назад </a></li>
	</ul></div>';
}

if ($act=='getdel') {
	if (empty($_POST['id']) || empty($_POST['del'])) { redirect('index.php'); die(); }
	if ($_POST['del']=='del') {
		if (mysql_query('DELETE FROM `'.db_prefix.'categories` WHERE id='.htmlspecialchars($_POST['id']).'') && 
		mysql_query('DELETE FROM `'.db_prefix.'posts` WHERE category='.htmlspecialchars($_POST['id']))) {
			$_SESSION['info'] = 'Категория удалена';
			redirect('categories.php');
			die();
		} else {
			$_SESSION['error'] = 'Ошибка при удалении категории';
			redirect('categories.php');
			die();
		}
	} elseif ($_POST['del']=='come') {
		if (isset($_POST['category'])) {
			if (mysql_query('UPDATE `'.db_prefix.'posts` SET category='.htmlspecialchars($_POST['category']).' WHERE category='.htmlspecialchars($_POST['id']).'')) {
				if (mysql_query('DELETE FROM `'.db_prefix.'categories` WHERE id='.htmlspecialchars($_POST['id']).' ')) {
					$_SESSION['info'] = 'Категория удалена';
					redirect('categories.php');
					die();
				} else {
					$_SESSION['error'] = 'Ошибка при удалении категории';
					redirect('categories.php');
					die();
				}
			} else {
				$_SESSION['error'] = 'Ошибка при переносе постов. Категория не удалена';
				redirect('categories.php');
				die();
			}
		} else {
			redirect('categories.php');
			die();
		}
	}
}


if ($act=='edit') {
	if (empty($_GET['id'])) { redirect('categories.php'); die(); }
	include('../design/'.$_SESSION['design'].'/header.php');
	$cat = mysql_fetch_object(mysql_query('SELECT * FROM `'.db_prefix.'categories` WHERE id='.htmlspecialchars($_GET['id']).''));
	echo '<div id="title_a">'.$pagetitle.'</div>
	<div id="menu"><ul><form action="categories.php?act=getedit" method="post">
	<input type="hidden" name="id" value="'.htmlspecialchars($_GET['id']).'"><br>
	Название категории:<br>
	<input type="text" name="title" value="'.$cat->title.'"><br>
	Описание категории:<br>
	<input type="text" name="description" value="'.$cat->description.'"><br>
	<div align="center"><input type="submit" value="Изменить"></div>
	</form>
	<li><a href="categories.php"><img src="../images/back.png"> Назад</a></li>
	</ul></div>';
}

if ($act=='getedit') {
	if (empty($_POST['id'])) { redirect('categories.php'); die(); }
	if (empty($_POST['title'])) { $_SESSION['error'] = 'Вы не ввели название категории'; redirect('categories.php'); die(); }
	if (strlen($_POST['title'])>64) {
		$_SESSION['error'] = 'Название категории не должно превышать 64 символа';
		redirect('categories.php');
		die();
	}
	if (strlen($_POST['description'])>100) {
		$_SESSION['error'] = 'Описание категории не должно превышать 100 символов';
		redirect('categories.php?act=edit');
		die();
	}
	if (mysql_query('UPDATE `'.db_prefix.'categories` SET title="'.htmlspecialchars($_POST['title']).'", description="'.htmlspecialchars($_POST['description']).'" WHERE id='.htmlspecialchars($_POST['id']).'')) {
		$_SESSION['info'] = 'Категория изменена';
		redirect('categories.php');
		die();
	} else {
		$_SESSION['error'] = 'Ошибка при изменении категории';
		redirect('categories.php');
		die();
	}
}





include('../design/'.$_SESSION['design'].'/footer.php');
?>