Файл: php-zona.ru/modules/admin/forum.php
Строк: 212
<?php
$title = 'Управление форумом';
include_once($_SERVER["DOCUMENT_ROOT"].'/style/head.php');
mode('user');
switch($_GET['act']){
default:
?>
<div class="nvg">
<a href="/admin/forum/new_section">Создание раздела</a><br/>
<a href="/admin/forum/new_psection">Создание подраздела</a><br/>
<a href="/admin/forum/edit_kat">Редактирование разделов</a><br/>
<a href="/admin/forum/del_cat">Удаление разделов</a><br/>
<a href="/admin/forum/complaint">Жалобы</a>
</div>
<?
break;
case 'new_section':
level(3);
?>
<div class="title">Создание раздела</div>
<?
if(isset($_POST['ok'])){
$_POST['name'] = guard($db->real_escape_string($_POST['name']));
if(empty($_POST['name'])){
error('Введите название!');
}elseif(mb_strlen($_POST['name'])<3 or mb_strlen($_POST['name'])>255){
error('Название не должно быть менее 3-х и не более 255 символов!');
}elseif($db->query("SELECT `id` FROM `forum_kat` WHERE `name`='".$_POST['name']."'")->num_rows!=0){
error('Раздел с таким названием уже существует!');
}
$db->query("INSERT INTO `forum_kat` SET `name`='".$_POST['name']."'");
$idk = $db->insert_id;
success('Раздел успешно создан!');
?>
<div class="nvg">
<a href="/forum/kat/<?=$idk?>">Перейти в раздел</a><br/>
<a href="/forum">Перейти в форум</a><br/>
<a href="/admin/forum">Админка форума</a>
</div>
<?
include_once($_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
exit();
}
?>
<div class="text">
<form action="" method="POST">
Название:<br/>
<input type="text" name="name"><br/>
<input type="submit" name="ok" value="Создать">
</form>
</div>
<?
break;
case 'new_psection':
level(3);
?>
<div class="title">Создание подраздела</div>
<?
if(isset($_GET['id'])){
$_GET['id'] = abs(intval($_GET['id']));
if($db->query("SELECT `id` FROM `forum_kat` WHERE `id`='".$_GET['id']."'")->num_rows==0){
error('Раздела с переданным ID не существует!');
}
if(isset($_POST['ok'])){
$_POST['name'] = guard($db->real_escape_string($_POST['name']));
if(empty($_POST['name'])){
error('Введите название!');
}elseif(mb_strlen($_POST['name'])<3 or mb_strlen($_POST['name'])>255){
error('Название подраздело должно быть не менее 3-х и неболеее 255 символов!');
}elseif($db->query("SELECT `id` FROM `forum_pkat` WHERE `kat`='".$_GET['id']."' AND `name`='".$_POST['name']."'")->num_rows!=0){
error('В данном разделе уже существует подраздел с таким названием!');
}
$db->query("INSERT INTO `forum_pkat` SET `kat`='".$_GET['id']."', `name`='".$_POST['name']."'");
$idpk = $db->insert_id;
success('Подраздел успешно создан!');
?>
<div class="nvg">
<a href="/forum/pkat/<?=$idpk?>">В подраздел</a><br/>
<a href="/forum/kat/<?=$_GET['id']?>">В раздел</a><br/>
<a href="/forum">Перейти в форум</a><br/>
<a href="/admin/forum">Админка форума</a>
</div>
<?
include_once($_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
exit();
}
?>
<div class="text">
<form action="" method="POST">
Навзание:<br/>
<input type="text" name="name"><br/>
<input type="submit" name="ok" value="Создать">
</form>
</div>
<?
}
?>
<div class="text">
<form action="" method="GET">
ID раздела:<br/>
<input type="text" name="id"><br/>
<input type="submit" name="ok" value="Ввести">
</form>
</div>
<?
break;
case 'edit_kat':
level(3);
?>
<div class="title">Редактирование раздела</div>
<?
if(isset($_GET['id'])){
$_GET['id'] = abs(intval($_GET['id']));
if($db->query("SELECT `id` FROM `forum_kat` WHERE `id`='".$_GET['id']."'")->num_rows==0){
error('Раздела не существует!');
}
if(isset($_POST['ok'])){
$_POST['name'] = guard($db->real_escape_string($_POST['name']));
if(empty($_POST['name'])){
error('Введите название!');
}elseif(mb_strlen($_POST['name'])<3 or mb_strlen($_POST['name'])>255){
error('Название раздела должно быть не менее 3-х и не более 255 символов!');
}elseif($db->query("SELECT `id` FROM `forum_kat` WHERE `name`='".$_POST['name']."'")->num_rows!=0){
error('Раздел с таким названием уже существует!');
}
$db->query("UPDATE `forum_kat` SET `name`='".$_POST['name']."' WHERE `id`='".$_GET['id']."'");
success('Раздел успешно изменен!');
}
$r = $db->query("SELECT `name` FROM `forum_kat` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
?>
<div class="text">
<form action="" method="POST">
Название:<br/>
<input type="text" name="name" value="<?=$r['name']?>"><br/>
<input type="submit" name="ok" value="Изменить">
</form>
</div>
<?
include_once($_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
exit();
}
?>
<div class="text">
<form action="" method="GET">
<input type="number" name="id"><br/>
<input typr="submit" name="ok" value="Ввести">
</form>
</div>
<?
break;
case 'edit_pkat':
level(3);
?>
<div class="title">Редактирование подраздела</div>
<?
if(isset($_GET['id'])){
$_GET['id'] = abs(intval($_GET['id']));
if($db->query("SELECT `id` FROM `forum_pkat` WHERE `id`='".$_GET['id']."'")->num_rows==0){
error('Подраздела не существует!');
}
$prr=$db->query("SELECT `kat` FROM `forum_pkat` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
if(isset($_POST['ok'])){
$_POST['name'] = guard($db->real_escape_string($_POST['name']));
if(empty($_POST['name'])){
error('Введите название подраздела!');
}elseif(mb_strlen($_POST['name'])<3 or mb_strlen($_POST['name'])>255){
error('Название должно в себе содержать не менее 3 и не более 255 символов!');
}elseif($db->query("SELECT `id` FROM `forum_pkat` WHERE `name`='".$_POST['name']."' AND `kat`='".$prr['kat']."'")->num_rows!=0){
error('Подраздел с таким названием в данном разделе уже существует!');
}
$db->query("UPDATE `forum_pkat` SET `name`='".$_POST['name']."' WHERE `id`='".$_GET['id']."'");
success('Подраздел успешно обновлен!');
}
$pr = $db->query("SELECT `name` FROM `forum_pkat` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
?>
<div class="text">
<form action="" method="POST">
Название:<br/>
<input type="text" name="name" value="<?=$pr['name']?>"><br/>
<input type="submit" name="ok" value="Изменить">
</form>
</div>
<?
}
?>
<div class="text">
<form action="" method="GET">
Введите ID подраздела:<br/>
<input type="number" name="id"><br/>
<input type="submit" name="ok" value="Ввести">
</form>
</div>
<?
break;
case 'del_kat':
level(3);
?>
<div class="title">Удаление раздела</div>
<?
if(isset($_GET['id'])){
$_GET['id'] = abs(intval($_GET['id']));
if($db->query("SELECT `id` FROM `forum_kat` WHERE `id`='".$_GET['id']."'")->num_rows==0){
error('Раздела не существует!');
}
$db->query("DELETE FROM `forum_kat` WHERE `id`='".$_GET['id']."'");
$db->query("DELETE FROM `forum_pkat` WHERE `kat`='".$_GET['id']."'");
$db->query("DELETE FROM `forum_topic` WHERE `kat`='".$_GET['id']."'");
success('Раздел успешно удален!');
}
?>
<div class="text">
<form action="" method="GET">
Введите ID раздела:<br/>
<input type="number" name="id"><br/>
<input type="submit" name="ok" value="Ввести">
</form>
</div>
<?
break;
case 'del_pkat':
level(3);
?>
<div class="title">Удаление подраздела</div>
<?
if(isset($_GET['id'])){
$_GET['id'] = abs(intval($_GET['id']));
if($db->query("SELECT `id` FROM `forum_pkat` WHERE `id`='".$_GET['id']."'")->num_rows==0){
error('Подраздела не существует!');
}
$db->query("DELETE FROM `forum_pkat` WHERE `id`='".$_GET['id']."'");
$db->query("DELETE FROM `forum_topic` WHERE `pkat`='".$_GET['id']."'");
success('Подраздел успешно удален');
}
?>
<div class="text">
<form action="" method="GET">
Введите ID подраздела:<br/>
<input type="number" name="id"><br/>
<input type="submit" name="ok" value="Ввести">
</form>
</div>
<?
break;
case 'complaint':
level(1);
?><div class="title">Модерация жалоб</div>
<?
switch ($_GET['mode']) {
case 'ok':
if($db->query("SELECT `id` FROM `forum_complaint` WHERE `id`='".$_GET['id']."' AND `status`='0'")->num_rows==0){
error('Эта жалоба уже промодерирована!');
}
$co = $db->query("SELECT * FROM `forum_complaint` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
$db->query("UPDATE `forum_complaint` SET `status`='1' WHERE `id`='".$_GET['id']."'");
$db->query("UPDATE `users` SET `rating`=`rating`+0.01 WHERE `id`='".$co['id_us']."'");
$db->query("INSERT INTO `notifications` SET `id_us`='".$co['id_us']."', `time`='".time()."', `section`='other', `sender`='".$user['id']."', `text`='одобрил вашу жалобу'");
$db->query("INSERT INTO `notifications` SET `id_us`='".$co['id_us']."', `time`='".time()."', `section`='rating', `sender`='".$user['id']."', `text`='наградил вас за жалобу (+0.01 рейтинга)'");
header('location:/admin/forum/complaint');
break;
case 'no':
if($db->query("SELECT `id` FROM `forum_complaint` WHERE `id`='".$_GET['id']."' AND `status`='0'")->num_rows==0){
error('Эта жалоба уже промодерирована!');
}
$co = $db->query("SELECT * FROM `forum_complaint` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
$db->query("UPDATE `forum_complaint` SET `status`='2' WHERE `id`='".$_GET['id']."'");
$db->query("UPDATE `users` SET `rating`=`rating`-0.01 WHERE `id`='".$co['id_us']."'");
$db->query("INSERT INTO `notifications` SET `id_us`='".$co['id_us']."', `time`='".time()."', `section`='other', `sender`='".$user['id']."', `text`='отклонил вашу жалобу'");
$db->query("INSERT INTO `notifications` SET `id_us`='".$co['id_us']."', `time`='".time()."', `section`='rating', `sender`='".$user['id']."', `text`='наказал вас за жалобу (-0.01 рейтинга)'");
header('location:/admin/forum/complaint');
break;
default:
$nav=new navig("SELECT * FROM `forum_complaint` WHERE `status`='0'");
$complaint=$db->query("SELECT * FROM `forum_complaint` WHERE `status`='0' ORDER BY `id` DESC LIMIT ".$nav->start.", ".$nav->nstr."");
while($c=$complaint->fetch_assoc()){
$p = $db->query("SELECT * FROM `forum_post` WHERE `id`='".$c['id_post']."'")->fetch_assoc();
$kp = $p['id']/10+1;
?>
<div class="section">
Жалобу подал - <?=nick($c['id_us'])?> <?=times($c['time'])?><br/>
Пост:<br/>
<div class="quote">
<?=nick($p['id_us'])?><br/>
<?=times($p['time'])?><br/>
<?=output($p['text'])?>
</div>
<a href="/forum/topic/<?=$c['id_topic']?>?&page=<?=$kp?>">Перейти к теме</a><br/>
<a href="/admin/forum/complaint/ok/<?=$c['id']?>">Одобрить</a> <a href="/admin/forum/complaint/no/<?=$c['id']?>">Отклонить</a>
</div>
<?
}
?>
<div class="nvgstr">
<?
$nav->panel();
?>
</div>
<?
if($db->query("SELECT `id` FROM `forum_complaint` WHERE `status`='0'")->num_rows==0){
?>
<div class="error">Жалоб нет!</div>
<?
}
break;
}
break;
}
include_once($_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
?>