Файл: masteram_us/forum/admin.php
Строк: 174
<?
require'../shaxty.php'; // waphp.ru - закрытый клуб вап мастеров!
$align='left';
check_login();
$title='Управление форумом';
include_once (H.'shaxty/head.php');
levels(5);
switch($mod){
case 'addf':
levels(8);
if (empty($act)){
echo '<form action="?act=act&'.SID.'" method="post">';
echo 'Форум:<br/>';
echo '<input type="text" name="name" maxlength="50" title="Форум"/><br/>';
echo 'Положение:<br/>';
echo '<input type="text" name="pos" maxlength="50" title="Положение"/><br/>';
if($level>=9){
echo 'Уровень >=:<br/>';
echo '<input type="text" name="lev" maxlength="50" value="0" title="Уровень"/><br/>';
}
echo '<br /><input type="submit" class="ibutton" value="Добавить"/></form><br /><br />';
}else{
$name = check($_POST['name']);
if ($user['translit']==1)$name = translit($name);
$pos = check(intval($_POST['pos']));
$lev = check(intval($_POST['lev']));
if (strlen2($name)<3)$err = $err.'Короткое имя форума!<br />';
if (empty($pos)||strlen2($pos)<=0)$err = $err.'Положение указанно неверно!<br />';
if (empty($err)){
if (mysql_query ("INSERT INTO forum_f (name,pos,levels) VALUES ('$name','$pos','$lev')")){header ('Location: '.F.'index.php'); exit;
}else echo 'Ошибка!<br />';
}else echo $err;
}
break;
case 'editf':
levels(8);
if (empty($act)){
if (isset($_GET['del'])){
danger('?del='.$_GET['del'].'');
$q = mysql_query("SELECT * FROM `forum_msg` where f_id = '".$id."';");
while($d = mysql_fetch_array($q)){
$fil = mysql_query("select * from `forum_file` where `m_id`='".$d['id']."' limit 5;");
if (mysql_affected_rows() != 0){
while($file = mysql_fetch_array($fil)){
if(unlink ('../files/forum/'.$file['file'])){
mysql_query("DELETE FROM `forum_file` where id = '".$file['id']."'");
}
}
}
}
mysql_query("DELETE FROM `forum_msg` where f_id = '".$id."'");
mysql_query("DELETE FROM `forum_r` where f_id = '".$id."'");
mysql_query("DELETE FROM `forum_t` where f_id = '".$id."'");
mysql_query("DELETE FROM `forum_f` where id = '".$id."'");
header ('Location: '.F.'index.php');
}
/* Проверка существованиея форума*/
$for = DB :: $dbh -> queryFetch("SELECT * FROM `forum_f` WHERE `id`=? LIMIT 1;", array($id));
if (!isset($for['id']))errors('<b>Такого форума не существует!</b>');
echo '<form action="?act=act&'.SID.'" method="post">';
echo 'Форум:<br/>';
echo '<input type="text" name="name" value="'.$for[name].'" maxlength="50" title="Форум"/><br/>';
echo 'Положение:<br/>';
echo '<input type="text" name="pos" value="'.$for['pos'].'" maxlength="50" title="Положение"/><br/>';
if($level>=9){
echo 'Уровень >=:<br/>';
echo '<input type="text" name="lev" maxlength="50" value="'.$for['levels'].'" title="Уровень"/><br/>';
}
echo '<br /><input type="submit" class="ibutton" value="Изменить"/></form><br />';
echo '<br /><a href="?del">Удалить</a><br />';
}else{
$name = check($_POST['name']);
if ($user['translit']==1)$name = translit($name);
$pos = check(intval($_POST['pos']));
$lev = check(intval($_POST['lev']));
if (strlen2($name)<3)$err = 'Короткое имя форума!';
if (empty($pos)||strlen2($pos)<=0)$err = 'Положение указанно неверно!';
if (empty($err)){
if (mysql_query ("UPDATE `forum_f` SET `name` = '$name', `pos` = '$pos', `levels` = '$lev' where `id`='".$id."' LIMIT 1")){header ('Location: '.F.'index.php'); exit;
}else echo 'Ошибка!<br />';
}else echo $err;
}
break;
//////// Разделы //////////////////////////////////////////////////////////
case 'addr':
levels(8);
if (empty($act)){
if ($ver!='wml')echo '<form action="?act=act&'.SID.'" method="post">';
echo 'Раздел:<br/>';
echo '<input type="text" name="name" maxlength="50" title="Форум"/><br/>';
echo 'Положение:<br/>';
echo '<input type="text" name="pos" maxlength="50" title="Положение"/><br/>';
if ($ver=='wml'){
echo '<br /><anchor title="go">Добавить<go href="?act=add&'.SID.'" method="post">';
echo '<postfield name="name" value="$name"/>
<postfield name="pos" value="$pos"/>
</go></anchor><br />';
}else{
echo '<br /><input type="submit" class="ibutton" value="Добавить"/></form><br /><br />';
}
}else{
$name = check($_POST['name']);
if ($user['translit']==1)$name = translit($name);
$pos = check(intval($_POST['pos']));
if (strlen2($name)<3)$err = 'Короткое имя раздела!';
if (empty($pos)||strlen2($pos)<=0)$err = 'Положение указанно неверно!';
if (empty($err)){
if (mysql_query ("INSERT INTO forum_r (f_id,name,pos) VALUES ('$id','$name','$pos')")){header ('Location: '.F.'razdel/'.$id.'?'.SID); exit;
}else echo 'Ошибка!<br />';
}else echo $err;
}
break;
case 'editr':
levels(8);
$for = DB :: $dbh -> queryFetch("SELECT * FROM `forum_r` WHERE `id`=? LIMIT 1;", array($id));
if (!isset($for['id']))errors('<b>Такого раздела не существует!</b>');
if (empty($act)){
if (isset($_GET['del'])){
danger('?del='.$_GET['del'].'');
$q = @mysql_query("SELECT * FROM `forum_msg` where r_id = '".$id."';");
while($d = mysql_fetch_array($q)){
$fil = mysql_query("select * from `forum_file` where `m_id`='".$d['id']."' limit 5;");
if (mysql_affected_rows() != 0){
while($file = mysql_fetch_array($fil)){
if(unlink ('../files/forum/'.$file['file'])){
mysql_query("DELETE FROM `forum_file` where id = '".$file['id']."'");
}
}
}
}
mysql_query("DELETE FROM `forum_msg` where r_id = '".$id."'");
mysql_query("DELETE FROM `forum_t` where r_id = '".$id."'");
mysql_query("DELETE FROM `forum_r` where id = '".$id."'");
header ('Location: '.F.'razdel/'.$for['f_id'].'?'.SID); exit;
}
echo '<form action="?act=act&'.SID.'" method="post">';
echo 'Раздел:<br/>';
echo '<input type="text" name="name" value="'.$for[name].'" maxlength="50" title="Форум"/><br/>';
echo 'Положение:<br/>';
echo '<input type="text" name="pos" value="'.$for['pos'].'" maxlength="50" title="Положение"/><br/>';
echo '<br /><input type="submit" class="ibutton" value="Изменить"/></form><br />';
echo '<br /><a href="?del">Удалить</a><br />';
}else{
$name = check($_POST['name']);
if ($user['translit']==1)$name = translit($name);
$pos = check(intval($_POST['pos']));
//$wmid = check(intval($_POST['wmid']));
if (strlen2($name)<3)$err = 'Короткое имя раздела!';
if (empty($pos)||strlen2($pos)<=0)$err = 'Положение указанно неверно!';
if (empty($err)){
if (mysql_query ("UPDATE `forum_r` SET `name` = '$name',`pos` = '$pos' where `id`='".$id."' LIMIT 1")){header ('Location: '.F.'razdel/'.$id.'?'.SID); exit;
}else echo 'Ошибка!<br />';
}else echo $err;
}
break;
// Редактируем тему
case 'editt':
levels(6);
/* Проверка существованиея темы*/
$tem = DB :: $dbh -> queryFetch("SELECT * FROM `forum_t` WHERE `id`=? LIMIT 1;", array($id));
if (!isset($tem['id']))errors('<b>Такой темы не существует! Возможно она была удалена модератором.</b>');
if (empty($act)){
echo '<dl><dt></dt></dl>';
echo '<form action="?act=name&'.SID.'" method="post">';
echo 'Тема:<br/>';
echo '<input type="text" name="name" value="'.$tem[name].'" maxlength="50" title="Форум"/><br/>';
echo '<br /><input type="submit" class="ibutton" value="Изменить"/></form><dt></dt>';
echo '<form action="?act=razd&'.SID.'" method="post">';
echo 'Переместить в:<br/>';
echo "<select name="razdel">";
$q = DB::$dbh->query("SELECT * FROM `forum_r` ORDER BY `pos` ASC");
while ($r = $q -> fetch())
{
$f = DB :: $dbh -> queryFetch("SELECT * FROM `forum_f` WHERE `id`=? LIMIT 1;", array($r['f_id']));
echo "<option value="$r[id]">$f[name]/$r[name]</option>";
}
echo "</select><br/>";
echo '<br /><input type="submit" class="ibutton" value="Переместить"/></form><br />';
}else if($act=='name'){
$name = check($_POST['name']);
if ($user['translit']==1)$name = translit($name);
if (strlen2($name)<3)errors('<b>Короткое имя</b>');
if (DB :: $dbh -> query("UPDATE `forum_t` SET `name`=? WHERE `id`=? LIMIT 1",array($name,$id))){
header ('Location: '.F.'temes/'.$tem[r_id].'?'.SID); exit;
}else errors('<b>Ошибка БД</b>');
}else if($act=='razd'){
$razdel = check(intval($_POST['razdel']));
$tem = DB :: $dbh -> queryFetch("SELECT * FROM `forum_t` WHERE `id`=? LIMIT 1;", array($id));
$post = DB :: $dbh -> querySingle("select COUNT(*) from `forum_msg` WHERE `t_id` = '".$tem['id']."';");
$razd = DB :: $dbh -> queryFetch("SELECT * FROM `forum_r` WHERE `id`=? LIMIT 1;", array($tem['r_id']));
$for = DB :: $dbh -> queryFetch("SELECT * FROM `forum_f` WHERE `id`=? LIMIT 1;", array($tem['f_id']));
$razd1 = DB :: $dbh -> queryFetch("SELECT * FROM `forum_r` WHERE `id`=? LIMIT 1;", array($razdel));
$for1 = DB :: $dbh -> queryFetch("SELECT * FROM `forum_f` WHERE `id`=? LIMIT 1;", array($razd1['f_id']));
if (DB :: $dbh -> query("UPDATE `forum_t` SET `r_id`=?, `f_id`=?, `name`=? WHERE `id`=? LIMIT 1",array($razd1['id'],$for1['id'],$tem['name'].'(Перенесено)',$tem['id']))){
/*изменяем данные форумов и разделов*/
/* откуда переносим*/
/* определяем последнюю тему*/
$last_tem = DB::$dbh->queryFetch("select * from `forum_t` WHERE f_id = ? order by time desc limit 1",array($for['id']));
/* удаляем данные из таблиц форумов и разделов*/
DB :: $dbh -> query("UPDATE `forum_r` SET `last_time` = '".$last_tem['time']."', `topics`=`topics`-1, `posts`=`posts`-".$post.", `last_id_t` = '".$last_tem['id']."', `last_name_t` = '".$last_tem['name']."', `last_id_us` = '".$last_tem['last_id_us']."' WHERE `id`=? ", array($razd['id']));
DB :: $dbh -> query("UPDATE `forum_f` SET `last_time` = '".$last_tem['time']."', `topics`=`topics`-1, `posts`=`posts`-".$post.", `last_id_t` = '".$last_tem['id']."', `last_name_t` = '".$last_tem['name']."', `last_id_us` = '".$last_tem['last_id_us']."', `last_id_r` = '".$razd['id']."', `last_name_r` = '".$razd['name']."' WHERE `id`=? ", array($for['id']));
/* куда переносим*/
/* заносим данные в таблици форумов и разделов*/
DB :: $dbh -> query("UPDATE `forum_r` SET `last_time` = '".$realtime."', `topics`=`topics`+1, `posts`=`posts`+".$post.", `last_id_t` = '".$tem['id']."', `last_name_t` = '".$tem['name']."(Перенесено)', `last_id_us` = '".$tem['last_id_us']."' WHERE `id`=? ", array($razd1['id']));
DB :: $dbh -> query("UPDATE `forum_f` SET `last_time` = '".$realtime."', `topics`=`topics`+1, `posts`=`posts`+".$post.", `last_id_t` = '".$tem['id']."', `last_name_t` = '".$tem['name']."(Перенесено)', `last_id_us` = '".$tem['last_id_us']."', `last_id_r` = '".$razd1['id']."', `last_name_r` = '".$razd1['name']."' WHERE `id`=? ", array($for1['id']));
/*переносим сообщения и файлы*/
DB :: $dbh -> query("UPDATE `forum_msg` SET `r_id`=?, `f_id`=? WHERE `t_id`=? LIMIT 1",array($razd1['id'],$for1['id'],$tem['id']));
DB :: $dbh -> query("UPDATE `forum_file` SET `r_id`=?, `f_id`=? WHERE `t_id`=? LIMIT 1",array($razd1['id'],$for1['id'],$tem['id']));
header ('Location: '.F.'temes/'.$razdel.'?'.SID); exit;
}else echo 'Ошибка!<br />';
}
break;
}
echo "<br />$div1<a href="".F."index.php">Форум</a>$div9";
include_once (H.'shaxty/foot.php');
?>