File size: 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('Админка > Блоги');
$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&id='.$cat['id'].'">'.$cat['name'].'</a> [<a href="?act=cat_edit&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&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&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&id='.$article['id'].'">'.$article['title'].'</a> (<a href="?act=article_edit&id='.$article['id'].'">ред</a>/<a href="?act=article_del&id='.$article['id'].'">уд</a>) '.date('d.m.y, H:i', $article['time']).'<br />';
}
}else{
echo 'Статей пока нет :(';
}
echo '<hr />';
navig($page, '?act=cat&id='.$cat['id'].'&', $pages);
echo '<a href="?">Назад</a><br />';
echo '</div>';
}else{
error('Выбранный раздел не существует!');
nav('?');
}
break;
###############################################################################
## Форма добавления статьи ##
###############################################################################
case 'article_add':
tp('Блоги > Добавить статью');
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&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&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&id='.$article['id_cat']);
}else{
error('Вы не заполнили поля!');
nav('?act=article_edit&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&id='.$id.'&ok=1" method="post" name="form">
Вы уверены, что хотите удалить статью "'.$article['title'].'"?<br />
<input name="submit" type="submit" value="Да" />
</form>';
}
nav('?act=cat&id='.$article['id_cat']);
}else{
error('Статья не существует!');
nav('?');
}
break;
}
require('../includes/tail.php');
?>