Файл: forum/func.php
Строк: 351
<?php
define('ROOT','../');
define('GCMS',true);
require_once (ROOT.'system/power.php');
//Бан на форуме
$ban = $db -> query("SELECT * FROM `ban` WHERE `iduser` = '".$ya['id']."' and `serius` = 'forum' LIMIT 1");
if ($ban -> num_rows > 0) {
header('location: '.ROOT.'ban.php?mode=forum');
}
switch($mode) {
///Прикрепление опроса
case 'opros':
if ((int)$id) {
$type = $db -> query("SELECT * FROM `forum_tems` WHERE `id` = '".$id."'");
if ($type -> num_rows > 0) $the = $type -> fetch_assoc(); else $the = false;
} else $the = false;
$gol = $db -> query("SELECT * FROM `golos` WHERE `id_w` = '".$id."' and `where` = 'forum' LIMIT 1");
if ($gol -> num_rows < 1) {
if ((int)$the['user']==(int)$ya['id']){
if($aut==true){
$diz -> head('Форум');
$diz -> title("<a href='tema$id'>Тема</a>/<b>Добавление голосования</b>");
if (!isset($_POST['name']) && !isset($_POST['1']) && !isset($_POST['2']))
{
echo '<div class="fon"><form method="post" action="?mode=opros&page='.$page.'&id='.$id.'">';
echo '<b>Название:</b><br /><input name="name" type="text"><br/>';
echo '1) <b>Ответ: </b><br/><input name="1" type="text"><br/>';
echo '2) <b>Ответ: </b><br/><input name="2" type="text"><br/>';
echo '3) Ответ:<br /><input name="3" type="text"><br/>';
echo '4) Ответ:<br /><input name="4" type="text"><br/>';
echo '5) Ответ:<br /><input name="5" type="text"><br/>';
echo '6) Ответ:<br /><input name="6" type="text"><br/>';
echo '7) Ответ:<br /><input name="7" type="text"><br/>';
echo '8) Ответ:<br /><input name="8" type="text"><br/>';
echo '<input value="Добавить" class="form" type="submit" /></form></div>';
}else{
if(mb_strlen($func->delprobel($_POST['name']))>2){
$name = shit($_POST['name']);
if(mb_strlen($func->delprobel($_POST['1']))>2){
if(mb_strlen($func->delprobel($_POST['2']))>2){
for ($i=1;$i<=8;$i++){if(mb_strlen($func->delprobel($_POST[$i]))>2){$g[$i]=shit($_POST[$i]);}else{$g[$i]=null;}}
$db -> query("INSERT INTO `golos` (`time`,`where`,`id_w`, `name`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`)
values('".time()."','forum', '$id', '$name', '$g1', '$g2', '$g3', '$g4', '$g5', '$g6', '$g7', '$g8');");
header("Location: tema$id&page$page");
}else echo '<div class="fon"/>Слишком короткое название</div>';
}else echo '<div class="fon"/>Слишком короткий ответ #1</div>';
}else echo '<div class="fon"/>Слишком короткий ответ #2</div>';
}
}else{header('location: tema'.$id.'&page'.$page.'');}
echo '<div class="levo"><a href="tema.php?id='.$id.'&page='.$page.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
require_once ('foot.php');
}else{header('location: tema'.$id.'&page'.$page.'');}
}else{header('location: tema'.$id.'&page'.$page.'');}
break;
//Удаление прикрепленного файла
case 'delfile':
if ($aut == true and $id != false) {
$sql = $db -> query("SELECT `file`,`tema`,`user`,`size` FROM `forum_posts` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if($ass['user']==$ya['id'] or $ya['level']>1){
if($ass['size']!=null){
if (!isset($_GET['true'])) {
$diz -> head('Форум');
$diz -> title('Удаление файла');
echo'<div class="fon">
<span>'.$ass['file'].'</span><br/>Вы точно хотите удалить прикреплённый файл?<br/>
<a href="./func.php?mode=delfile&id='.$id.'&true">Да</a> | <a href="tema.php?id='.$ass['tema'].'&page='.$page.'">Нет</a></div>';
echo '<div class="levo"><a href="tema.php?id='.$id.'&page='.$page.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}else{
$diz -> head('Форум');
$diz -> title('Удаление файла');
echo '<div class="fon">Прикреплённый файл был успешно удалён!</div>';
unlink('./files/'.$ass['file']);
$db -> query("UPDATE `forum_posts` SET `file`='delete',`size`='0' WHERE `id` = '".(int)$id."'");
header('refresh: 2; url=tema?id='.$ass['tema'].'&page='.$page.'');
echo '<div class="levo"><a href="tema.php?id='.$ass['tema'].'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}
} else header('location: tema.php?id='.$ass['tema'].'&page='.$page.'');
} else header('location: tema.php?id='.$ass['tema'].'&page='.$page.'');
} else header('location: index.php/forum/');
} else header('location: index.php');
break;
///Изменение поста
case 'edpost':
if ($aut == true and $id != false) {
$sql = $db -> query("SELECT `tema`,`user`,`text` FROM `forum_posts` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
$f_t = $db -> query("SELECT `status` FROM `forum_tems` WHERE `id` = '".(int)$ass['tema']."'")-> fetch_assoc();
if($f_t['status']==0){
if ((int)$ya['id'] == (int)$ass['user'] or (int)$ya['level'] > 3) {
if (empty($_POST['text'])) {
$diz -> head('Форум');
$diz -> title('Изменяем сообщение');
$t = $func -> br($ass['text']);
echo '<div class="fon">
<form action="func.php?mode=edpost&id='.$id.'" method="post">
Сообщение:<br/><textarea name="text" cols="25" rows="4">'.$t.'</textarea><br/>
<input type="submit" value="Изменить"/></form></div>';
echo '<div class="levo"><a href="tema.php?id='.$id.'&page='.$page.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
if($_POST['text']!=$ass['text']){
$text = shit($_POST['text']);
$db -> query("UPDATE `forum_posts` SET `text` = '".$text."', `edit` = '".$ya['login']."', `timeedit` = '".time()."' WHERE `id` = '".(int)$id."' LIMIT 1");}
header('location: tema.php?id='.$ass['tema'].'');
}
} else header('location: tema.php?id='.$ass['tema'].'');
} else header('location: tema.php?id='.$ass['tema'].'');
} else header('location: index.php');
} else header('location: index.php');
break;
///Переименование темы
case 'name':
if ($aut == true and (int)$id != false and (int)$ya['level']>1) {
$sql = $db -> query("SELECT * FROM `forum_tems` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if (empty($_POST['name'])) {
$diz -> head('Смена имени');
$diz -> title('Смена имени');
echo '<div class="fon">
Введите/Измените название темы:
<form action="./func.php?mode=name&id='.$id.'" method="post">
<textarea name="name" rows="1" cols="15">'.$func -> br($ass['name']).'</textarea><br/>
<input type="submit" value="Изменить"/></form></div>';
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
$name = shit($_POST['name']);
$sql = $db -> query("SELECT * FROM `forum_tems` WHERE `name`='".$name."' and `id` = '".(int)$id."' LIMIT 1");
if ($sql -> num_rows == 0) {
$db -> query("UPDATE `forum_tems` SET `name`='".$name."' WHERE `id` = '".$id."'");
if(mb_strlen($func -> delprobel($nastr['messfo4'])) > 2){
$db -> query("INSERT INTO `forum_posts` SET `razdel`='".(int)$ass['razdel']."', `user` = '".(int)$ya['id']."', `text` = '$nastr[messfo4]',
`ip` = '".$ip."', `browser` = '".$browser."',`time` = '".time()."',`tema`='".$id."'");
$db -> query("UPDATE `forum_tems` SET `uptime` = '".time()."' WHERE `id` = '".$id."'");
}
header('location: tema'.$id.'');
} else header('location: tema'.$id.'');
}
} else header('location: ./razdel.php?id='.$ass['razdel'].'');
} else header('location: ./tema.php?id='.$id.'');
break;
///Открытие темы
case 'otkript':
$vs = $db -> query("Select * FROM `forum_tems` WHERE `id` = '".$id."' ")-> fetch_assoc();
if ($aut == true and (int)$id != false and (int)$ya['level']>1) {
$sql = $db -> query("SELECT * FROM `forum_tems` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if($ass['status']==1){
if (!isset($_GET['true'])) {
$diz -> head('Форум');
$diz -> title('Открытие темы');
$msg.='<div class="fon"><span>'.$ass['name'].'</span><br/>Вы точно хотите открыть данную тему?<br/>
<a href="./func.php?mode=otkript&id='.$id.'&true">Да</a> | <a href="tema.php?id='.$id.'">Нет</a></div>';
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
$diz -> head('Открытие темы');
$diz -> title('Открытие темы');
$db -> query("UPDATE `forum_tems` SET `status`=0 WHERE `id` = '".(int)$id."'");
echo '<div class="fon">Тема была успешно открыта!</div>';
if(mb_strlen($func -> delprobel($nastr['messfo2'])) > 2){
$db -> query("INSERT INTO `forum_posts` set `user` = '".$ya['id']."', `text` = '$nastr[messfo2]',
`ip` = '".$ip."', `browser` = '".$browser."',`time` = '".time()."',`tema`='".$id."'");
$db -> query("UPDATE `forum_tems` SET `uptime` = '".time()."' WHERE `id` = '".$id."'");
}
header('refresh: 2; url=tema?id='.$id.'');
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
echo '<div class="fon">Данная тема уже открыта!</div>';
header('refresh: 1; url=tema.php?id='.$id.'');
}
} else header('location: index.php?id='.$vs['razdel'].'');
} else header('location: tema.php?id='.$id.'');
break;
///Открепление темы
case 'otkripl':
if ($aut == true and (int)$id != false and (int)$ya['level']>3) {
$sql = $db -> query("SELECT * FROM `forum_tems` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if($ass['var']==1){
if (!isset($_GET['true'])) {
$diz -> head('Форум');
$diz -> title('Открепление темы');
echo '<div class="fon"><span>'.$ass['name'].'</span><br/>Вы точно хотите откепить данную тему?<br/>
<a href="./func.php?mode=otkripl&id='.$id.'&true">Да</a> | <a href="tema.php?id='.$id.'">Нет</a></div>';
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
$diz -> head('Открепление темы');
$diz -> title('Открепление темы');
$db -> query("UPDATE `forum_tems` SET `var`=0 WHERE `id` = '".(int)$id."'");
echo '<div class="fon">Тема была успешно откреплена!</div>';
if(mb_strlen($func -> delprobel($nastr['messfo7'])) > 2){
$db -> query("INSERT INTO `forum_posts` set `user` = '".$ya['id']."', `text` = '$nastr[messfo7]',
`ip` = '".$ip."', `browser` = '".$browser."',`time` = '".time()."',`tema`='".$id."'");
$db -> query("UPDATE `forum_tems` SET `uptime` = '".time()."' WHERE `id` = '".$id."'");
}
header('refresh: 2; url=tema?id='.$id.'');
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
echo '<div class="fon">Данная тема не была закреплена!</div>';
header('refresh: 1; url=tema.php?id='.$id.'');
}
} else header('location: index.php?id='.$vs['razdel'].'');
} else header('location: tema.php?id='.$id.'');
break;
///Перенос темы
case 'perenos':
if ($aut == true and (int)$id != false and (int)$ya['level']>2) {
$sql = $db -> query("SELECT * FROM `forum_tems` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if (empty($_POST['razdel'])) {
$diz -> head('Форум');
$diz -> title('Перенос темы');
$for = $db -> query("SELECT `id`,`name`,`forum` FROM `forum_razdel` where `id`<>'$ass[razdel]'");
while ($assoc = $for -> fetch_assoc()) {
$f = $db -> query("SELECT * FROM `forums` where `id`='$assoc[forum]'")-> fetch_assoc();
$opt .= '<option value="'.$assoc['id'].'">'.$f['name'].'/'.$assoc['name'].'</option>';
}
echo '<div class="fon"/>Выберите форум:<br/>
<form action="func.php?id='.$id.'&mode=perenos" method="post">
<select name="razdel">'.$opt.'</select><br/>
<input type="submit" value="Перенести"/></form></div>';
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
$razdel = abs(intval(htmlentities($db -> real_escape_string($_POST['razdel']))));
$db -> query("UPDATE `forum_posts` SET `razdel`=$razdel WHERE `tema` = '".(int)$id."'");
$db -> query("UPDATE `forum_tems` SET `razdel`=$razdel WHERE `id` = '".(int)$id."'");
$diz -> head('Перенос темы');
$diz -> title('Перенос темы');
echo '<div class="fon">Тема была успешно перенесена!</div>';
if(mb_strlen($func -> delprobel($nastr['messfo3'])) > 2){
$db -> query("INSERT INTO `forum_posts` SET `user` = '".$ya['id']."', `text` = '$nastr[messfo3]',
`ip` = '".$ip."', `browser` = '".$browser."',
`time` = '".time()."',`tema`='".$id."'");
}
header('refresh: 2; url=tema?id='.$id.'');
}
} else header('location: index.php');
} else header('location: tema.php?id='.$id.'');
break;
///Закрепление
case 'zakript':
if ($aut == true and (int)$id != false and (int)$ya['level']>3) {
$sql = $db -> query("SELECT * FROM `forum_tems` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if($ass['var']==0){
if (!isset($_GET['true'])) {
$diz -> head('Форум');
$diz -> title('Закрепление темы');
echo '<div class="fon">Тема: <span>'.$ass['name'].'</span><br/>Вы точно хотите закрепить данную тему?<br/>
<a href="./func.php?mode=zakript&id='.$id.'&true">Да</a> | <a href="tema.php?id='.$id.'">Нет</a></div>';
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
$diz -> head('Форум');
$diz -> title('Закрепление темы');
$db -> query("UPDATE `forum_tems` SET `var`=1 WHERE `id` = '".(int)$id."'");
echo '<div class="fon">Тема была закреплена!</div>';
if(mb_strlen($func -> delprobel($nastr['messfo6'])) > 2){
$db -> multi_query("INSERT INTO `forum_posts` SET `user` = '".$ya['id']."', `text` = '$nastr[messfo6]',
`ip` = '".$ip."', `browser` = '".$browser."',
`time` = '".time()."',`tema`='".$id."'");
}
header('refresh: 2; url=tema?id='.$id.'');
}
}else{ $diz -> head('Ошибка');
$diz -> head('Ошибка');
$diz -> title('Ошибка');
echo '<div class="fon">Данная тема уже закреплена!</div>';
header('refresh: 1; url=tema.php?id='.$id.'');
}
} else header('location: index.php');
} else header('location: tema.php?id='.$id.'');
break;
///Закрытие
case 'kript':
$vs2 = $db -> query("Select * FROM `forum_tems` WHERE `id` = '".$id."' ")-> fetch_assoc();
if ($aut == true and (int)$id != false and (int)$ya['id'] == (int)$vs2['user'] or (int)$ya['level']>1) {
$sql = $db -> query("SELECT * FROM `forum_tems` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if($ass['status']==0){
if (!isset($_GET['true'])) {
$diz -> head('Форум');
$diz -> title('Закрытие темы');
echo '<div class="fon"><span>'.$ass['name'].'</span><br/>Вы точно хотите закрыть данную тему?<br/>
<a href="./func.php?mode=kript&id='.$id.'&true">Да</a> | <a href="tema.php?id='.$id.'">Нет</a></div>';
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
$db -> query("UPDATE `forum_tems` SET `status`=1 WHERE `id` = '".(int)$id."'");
$diz -> head('Закрытие темы');
$diz -> title('Закрытие темы');
echo '<div class="fon">Тема была успешно закрыта!</div>';
if(mb_strlen($func -> delprobel($nastr['messfo1'])) > 2){
$db -> query("INSERT INTO `forum_posts` SET `user` = '".$ya['id']."', `text` = '$nastr[messfo1]',
`ip` = '".$ip."', `browser` = '".$browser."',
`time` = '".time()."',`tema`='".$id."'");
$db -> query("UPDATE `forum_tems` SET `uptime` = '".time()."' WHERE `id` = '".$id."'");
}
header('refresh: 2; url=tema?id='.$id.'');
}
}else{ $diz -> head('Ошибка');
$diz -> head('Ошибка');
$diz -> title('Ошибка');
echo '<div class="fon">Данная тема уже закрыта!</div>';
header('refresh: 1; url=tema.php?id='.$id.'');
}
} else header('location: index.php');
} else header('location: tema.php?id='.$id.'');
break;
///СОхранение в закладки
case 'nuts':
$nuts = $db -> dbcount('count(`id`)','nuts',"`idwh` = '".$id."' and `where`='forum'");
$vs = $db -> query("Select * FROM `nuts` WHERE `idwh` = '".$id."' and `where`='forum'")-> fetch_assoc();
if ($aut==true and $nuts==0) {
$sql = $db -> query("SELECT * FROM `forum_tems` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if (!isset($_GET['true'])) {
$diz -> head('Форум');
$diz -> title('Добавление в закладки');
echo '<div class="fon">Тема: <span>'.$ass['name'].'</span><br/>Вы точно хотите сохранить в закладки данную тему?<br/>
<a href="./func.php?mode=nuts&id='.$id.'&true">Да</a> | <a href="tema.php?id='.$id.'">Нет</a></div>';
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
$diz -> head('Добавление в закладки');
$diz -> title('Добавление в закладки');
echo '<div class="fon">Тема была успешно сохранена в закладках!</div>';
$db -> query("INSERT INTO `nuts` set `user` = '".$ya['id']."', `idwh` = '$id',
`where` = 'forum',`time` = '".time()."'");
header('refresh: 2; url=tema?id='.$id.'');
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}
} else header('location: index.php?id='.$vs['razdel'].'');
} else header('location: tema.php?id='.$id.'');
break;
///Изменение голосования
case 'golos':
$f_t = $db -> query("SELECT `status` FROM `forum_tems` WHERE `id` = '".$id."'")-> fetch_assoc();
if($f_t['status']==0){
if ($aut == true and $id != false and $ya['level']>3) {
$sql = $db -> query("SELECT * FROM `golos` WHERE `where` = 'forum' and `id_w` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$ass = $sql -> fetch_assoc();
if (empty($_POST['text']) and empty($_POST['1']) and empty($_POST['2'])) {
$diz -> head('Форум');
$diz -> title('Изменение голосования');
echo '<div class="fon">
<form action="func.php?id='.$id.'&mode=golos" method="post">';
echo "<b>Название:</b><br />n<input name="name" class="form" type="text" value="".$func -> br($ass['name']).""/><br />n";
echo "1) <b>Ответ: </b><br />n<input name="1" class="form" type="text" value="".$func -> br($ass[1])."" /><br />n";
echo "2) <b>Ответ: </b><br />n<input name="2" class="form" type="text" value="".$func -> br($ass[2])."" /><br />n";
echo "3) Ответ:<br />n<input name="3" class="form" type="text" value="".$func -> br($ass[3])."" /><br />n";
echo "4) Ответ:<br />n<input name="4" class="form" type="text" value="".$func -> br($ass[4])."" /><br />n";
echo "5) Ответ:<br />n<input name="5" class="form" type="text" value="".$func -> br($ass[5])."" /><br />n";
echo "6) Ответ:<br />n<input name="6" class="form" type="text" value="".$func -> br($ass[6])."" /><br />n";
echo "7) Ответ:<br />n<input name="7" class="form" type="text" value="".$func -> br($ass[7])."" /><br />n";
echo "8) Ответ:<br />n<input name="8" class="form" type="text" value="".$func -> br($ass[8])."" /><br />n";
echo '<input type="submit" value="Изменить"/></div>';
echo '<div class="levo"><a href="tema'.$id.'" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
$name = shit($_POST['name']);
$g1 = shit($_POST[1]);
$g2 = shit($_POST[2]);
$g3 = shit($_POST[3]);
$g4 = shit($_POST[4]);
$g5 = shit($_POST[5]);
$g6 = shit($_POST[6]);
$g7 = shit($_POST[7]);
$g8 = shit($_POST[8]);
$db -> query("UPDATE `golos` SET `name`='".$name."',`1`='".$g1."',`2`='".$g2."',`3`='".$g3."',`4`='".$g4."'
,`5`='".$g5."',`6`='".$g6."',`7`='".$g7."',`8`='".$g8."' WHERE `id` = '".$ass['id']."'");
$diz -> head('Изменение голосования');
$diz -> title('Изменение голосования');
echo '<div class="fon">Голосование было изменено!</div>';
header('refresh: 2; url=tema'.$id.'');
}
} else header('location: tema'.$id.'');
} else header('location: tema.php?id='.$id.'');
} else header('location: tema.php?id='.$id.'');
break;
//переадресация в случае пустой функции
default:
header('location: tema.php?id='.$id.'');
}
echo '<div class="levo"><a href="/" class="levo_tuch">'.$diz -> img('home.png').' На главную</a></div>';
#####Копирайт#######
$diz -> out($msg);
?>