Размер файла: 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');
?>