Просмотр файла panel/blog.php

Размер файла: 11.01Kb
<?php
// by mides, wmclub.mobi

$title = 'Админка';
require('../config.php');
require('../includes/sys.php');
require('../includes/start.php');
require('../includes/auth.php');
require('../includes/header.php');

switch($_GET['act']){

###############################################################################
##                           Главная страница                                ##
###############################################################################
default:

tp('Админка &gt; Блоги');

$r_cats = mysql_query("SELECT * FROM `blog_cats` ORDER BY `name`");
if(mysql_num_rows($r_cats)){
	while($cat = mysql_fetch_assoc($r_cats)){
		$articles = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `blog_articles` WHERE `id_cat` = '$cat[id]' and `ok` = 1"), 0);
		echo '<a href="?act=cat&amp;id='.$cat['id'].'">'.$cat['name'].'</a> [<a href="?act=cat_edit&amp;id='.$cat['id'].'">ред</a>] ('.$articles.')<br />';
	}
		
	echo '<br /><a href="?act=article_add" class="button">Добавить статью</a><br />
		 <a href="../blog/moder.php" class="button">Модерировать</a>
		 <br />';
}else{
	echo 'Разделы еще не созданы!<br />';
}
echo '<br />
	 <form action="?act=cat_add" method="post" name="form">
	 Добавить раздел(max50):<br /><input name="name" type="text" maxlength="50"><br />
	 <input name="submit" type="submit" value="Ok" /></form>';
nav('./');

break;

###############################################################################
##                            Добавление раздела                             ##
###############################################################################
case 'cat_add':

if(!empty($_POST['name'])){
	$name = check($_POST['name']);
	mysql_query("INSERT INTO `blog_cats` SET `name` = '$name'");
	info('Раздел успешно добавлен!');
}else{
	error('Вы не заполнили поле!');
}
nav('?');

break;

###############################################################################
##                        Форма редактирования раздела                       ##
###############################################################################
case 'cat_edit':

$id = intval($_REQUEST['id']);
$cat = mysql_fetch_assoc(mysql_query("SELECT * FROM `blog_cats` WHERE `id` = '$id'"));
if($cat['id']){
	tp('Редактирование раздела');
	echo '<form action="?act=cat_edit_do&amp;id='.$id.'" method="post" name="form">
		 Название(max50):<br /><input name="name" type="text" maxlength="50" value="'.$cat['name'].'" /><br />
		 <input name="del" type="checkbox" value="1" /> Удалить<br />
		 <input name="submit" type="submit" value="Ok" />
		 </form>';
}else{
	error('Раздел не существует!');
}
nav('?');

break;

###############################################################################
##                          Редактирование раздела                           ##
###############################################################################
case 'cat_edit_do':

$id = intval($_REQUEST['id']);
$r_cat = mysql_query("SELECT `id` FROM `blog_cats` WHERE `id` = '$id'");
if(mysql_num_rows($r_cat)){
	if(!empty($_POST['del'])){
		mysql_query("DELETE FROM `blog_cats` WHERE `id` = '$id'");
		info('Раздел успешно удален!');
		nav('?');
	}else{
		if(!empty($_POST['name'])){
			$name = check($_POST['name']);
			mysql_query("UPDATE `blog_cats` SET `name` = '$name' WHERE `id` = '$id'");
			info('Раздел успешно отредактирован!');
			nav('?');
		}else{
			error('Вы не заполнили поле!');
			nav('?act=cat_edit&amp;id='.$id);
		}
	}
}else{
	error('Раздел не сущесвует!');
	nav('?');
}

break;

###############################################################################
##                        Просмотр выбранного раздела                        ##
###############################################################################
case 'cat':

$id = intval($_REQUEST['id']);
$cat = mysql_fetch_assoc(mysql_query("SELECT * FROM `blog_cats` WHERE `id` = '$id'"));
if($cat['id']){
	tp($cat['name']);
	$all_articles = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `blog_articles` WHERE `id_cat` = '$cat[id]' and `ok` = 1"), 0);
	if($all_articles > 0){
		$pages = ceil($all_articles/$config['onpage']);
		if(intval($_REQUEST['page'])){
			$page = intval($_REQUEST['page']);
		}else{
			$page = 1;
		}
		$from = ($page-1)*$config['onpage'];
		
		$r_articles = mysql_query("SELECT `id`, `title`, `time` FROM `blog_articles` WHERE `id_cat` = '$cat[id]' and `ok` = 1 ORDER BY `time` DESC LIMIT $from, $config[onpage]");
		while($article = mysql_fetch_assoc($r_articles)){
			echo '<a href="../blog/index.php?act=view&amp;id='.$article['id'].'">'.$article['title'].'</a> (<a href="?act=article_edit&amp;id='.$article['id'].'">ред</a>/<a href="?act=article_del&amp;id='.$article['id'].'">уд</a>) '.date('d.m.y, H:i', $article['time']).'<br />';
		}
	}else{
		echo 'Статей пока нет :(';
	}
	
	echo '<hr />';
	
	navig($page, '?act=cat&amp;id='.$cat['id'].'&amp;', $pages);
	echo '<a href="?">Назад</a><br />';
	echo '</div>';
}else{
	error('Выбранный раздел не существует!');
	nav('?');
}

break;

###############################################################################
##                         Форма добавления статьи                           ##
###############################################################################
case 'article_add':

tp('Блоги &gt; Добавить статью');
echo '<form action="?act=article_add_do" method="post" name="form">
	 Раздел:<br /><select name="cat">';
$r_cats = mysql_query("SELECT * FROM `blog_cats` ORDER BY `name`");
while($cat = mysql_fetch_assoc($r_cats)){
	echo '<option value="'.$cat['id'].'">'.$cat['name'].'</option>';
}
echo '</select><br />
	 Заголовок(max50):<br /><input name="title" type="text" maxlength="50" /><br />
	 Текст:<br /><textarea name="text" cols="" rows="5"></textarea><br />
	 Метки(max50)*:<br /><input name="tags" type="text" maxlength="50" /><br />
	 <input name="submit" type="submit" value="Ok" />
	 </form>
	 * Через запятую';
nav('?');

break;

###############################################################################
##                            Добавление статьи                              ##
###############################################################################
case 'article_add_do':

if(!empty($_POST['cat']) and !empty($_POST['title']) and !empty($_POST['tags'])){
	$cat = intval($_POST['cat']);
	$title = check($_POST['title']);
	$text = check($_POST['text']);
	$tags = check($_POST['tags']);
	mysql_query("INSERT INTO `blog_articles` SET `id_cat` = '$cat', `title` = '$title', `text` = '$text', `tags` = '$tags', `time` = '".time()."', `ok` = 1");
	info('Статья успешно добавлена.');
	nav('?');
}else{
	error('Вы не заполнили поля!');
	nav('?act=article_add');
}

break;

###############################################################################
##                       Форма редактирования статьи                         ##
###############################################################################
case 'article_edit':

$id = intval($_REQUEST['id']);
$article = mysql_fetch_assoc(mysql_query("SELECT * FROM `blog_articles` WHERE `id` = '$id'"));
if($article['id']){
	tp('Редактировать');
	echo '<form action="?act=article_edit_do&amp;id='.$id.'" method="post" name="form">
		 Раздел:<br />
		 <select name="cat">';
		 // articles' cat
		 $ar_cat = mysql_fetch_assoc(mysql_query("SELECT * FROM `blog_cats` WHERE `id` = '$article[id_cat]'"));
		 echo '<option value="'.$ar_cat['id'].'">'.$ar_cat['name'].'</option>';
		  // new cat
		 $cats = mysql_query("SELECT * FROM `blog_cats` WHERE `id` != '$article[id_cat]'");
		 while($cat = mysql_fetch_assoc($cats)){
		 	echo '<option value="'.$cat['id'].'">'.$cat['name'].'</option>';
		}
	echo '</select><br />
		 Заголовок(max50):<br /><input name="title" type="text" maxlength="50" value="'.$article['title'].'" /><br />
		 Текст:<br /><textarea name="text" cols="" rows="5">'.$article['text'].'</textarea><br />
		 Метки(max50):<br /><input name="tags" type="text" maxlength="50" value="'.$article['tags'].'" /><br />
		 <input name="submit" type="submit" value="Ok" />
		 </form>';
	nav('?act=cat&amp;id='.$article['id_cat']);
}else{
	error('Выбранная статья не существует!');
	nav('?');
}

break;

###############################################################################
##                          Редактирование статьи                            ##
###############################################################################
case 'article_edit_do':

$id = intval($_REQUEST['id']);
$article = mysql_fetch_assoc(mysql_query("SELECT `id_cat` FROM `blog_articles` WHERE `id` = '$id'"));
if($article['id_cat']){
	if(!empty($_POST['title']) and !empty($_POST['text']) and !empty($_POST['tags'])){
		$cat = intval($_POST['cat']);
		$title = check($_POST['title']);
		$text = check($_POST['text']);
		$tags = check($_POST['tags']);
		mysql_query("UPDATE `blog_articles` SET `id_cat` = '$cat', `title` = '$title', `text` = '$text', `tags` = '$tags' WHERE `id` = '$id'");
		info('Статья успешно отредактирована!');
		nav('?act=cat&amp;id='.$article['id_cat']);
	}else{
		error('Вы не заполнили поля!');
		nav('?act=article_edit&amp;id='.$id);
	}
}else{
	error('Статья не существует!');
	nav('?');
}

break;

###############################################################################
##                            Удаление статьи                                ##
###############################################################################
case 'article_del':

$id = intval($_REQUEST['id']);
$article = mysql_fetch_assoc(mysql_query("SELECT `id_cat`, `title` FROM `blog_articles` WHERE `id` = '$id'"));
if($article['title']){
	if(!empty($_REQUEST['ok'])){
		mysql_query("DELETE FROM `blog_articles` WHERE `id` = '$id'");
		info('Статья успешно удалена!');
	}else{
		tp('Удаление статьи');
		echo '<form action="?act=article_del&amp;id='.$id.'&amp;ok=1" method="post" name="form">
			 Вы уверены, что хотите удалить статью "'.$article['title'].'"?<br />
			 <input name="submit" type="submit" value="Да" />
			 </form>';
	}
	nav('?act=cat&amp;id='.$article['id_cat']);
}else{
	error('Статья не существует!');
	nav('?');
}

break;

}

require('../includes/tail.php');
?>