Файл: forum.php
Строк: 232
<?php
include 'inc/config.php';
include 'inc/func.php';
include 'inc/conn.php';
include 'inc/header.php';
include 'inc/ent.php';
include 'inc/zapros.php';
include 'inc/ban.php';
If (!isset($_GET['mode']) || !ereg("^[a-z0-9_-]{1,15}$",$_GET['mode'])) $mode=false; else $mode=htmlspecialchars($_GET['mode']);
@mysql_query("UPDATE `".prefix."users` SET `mesto`='В форуме' WHERE `id` = '".$_USER['id']."'");
echo '<div class="menu3"><b>Форум</b></div><div class="menu2"><a href="infa.php'.$_zapros.'mode=bb">BB Код</a> | <a href="infa.php'.$_zapros.'mode=sm">Смайлы</a></div>';
switch($mode){
case false:
default:
$forums = mysql_query("SELECT * FROM `".prefix."forums` ORDER BY `position`");
while($forum=mysql_fetch_array($forums)){
$num_theme = mysql_query("SELECT * FROM `".prefix."themes` WHERE `id_forum`='".$forum['id']."'");
$num_themes = mysql_num_rows($num_theme);
$num_post = mysql_query("SELECT * FROM `".prefix."posts` WHERE `id_forum`='".$forum['id']."'");
$num_posts = mysql_num_rows($num_post);
echo '<div class="menu3"><a href="forum.php'.$_zapros.'mode=themes&id='.$forum['id'].'">'.$forum['name'].'</a> <b>('.$num_themes.'/'.$num_posts.')</b>';
If ($_USER['admin'] || $_USER['moder'])
{
echo '[<a href="forum.php'.$_zapros.'mode=cat_niz&id='.$forum['id'].'">низ</a>] [<a href="forum.php'.$_zapros.'mode=cat_verh&id='.$forum['id'].'">вверх</a>] [<a href="forum.php'.$_zapros.'mode=del&type=1&id='.$forum['id'].'">уд</a>] [<a href="forum.php'.$_zapros.'mode=del&type=8&id='.$forum['id'].'">ред</a>]<br/>';
}
echo '</div>';
}
$frs = mysql_num_rows($forums);
$th = mysql_query("SELECT * FROM `".prefix."themes`");
$ths = mysql_num_rows($th);
$pt = mysql_query("SELECT * FROM `".prefix."posts`");
$pts = mysql_num_rows($pt);
echo '<div class="menu3">Разделов: (<b>'.$frs.'</b>) Тем: (<b>'.$ths.'</b>) Постов: (<b>'.$pts.'</b>)</div>';
If ($_USER['admin'] || $_USER['moder']){
echo '<a href="forum.php'.$_zapros.'mode=add_kat">Добавить категорию</a><br/>';
}
break;
case 'cat_verh':
If ($_USER['admin'] || $_USER['moder'])
{
$id=intval($_GET['id']);
$niz=mysql_fetch_assoc(mysql_query("SELECT * FROM `".prefix."forums` WHERE `id`='$id'"));
if($niz['position']>0){
mysql_query("UPDATE `".prefix."forums` SET `position`=`position`-'1' WHERE `id`='$id'");
}
}
header('Location: forum.php');
break;
case 'cat_niz':
If ($_USER['admin'] || $_USER['moder'])
{
$id=intval($_GET['id']);
$niz=mysql_fetch_assoc(mysql_query("SELECT * FROM `".prefix."forums` WHERE `id`='$id'"));
if($niz['position']>0){
mysql_query("UPDATE `".prefix."forums` SET `position`=`position`+'1' WHERE `id`='$id'");
}
}
header('Location: forum.php');
break;
case 'themes':
$id = mysql_real_escape_string(htmlspecialchars($_GET['id']));
$result2 = mysql_query("SELECT * FROM `".prefix."themes` WHERE `id_forum`='".$id."' and `type`=1 ORDER by `last_time` DESC");
while($zak=mysql_fetch_array($result2)){
//Закреплённые темы
$ida = $zak['id'];
$num_post = mysql_query("SELECT * FROM `".prefix."posts` WHERE `id_theme`='".$ida."'");
$num_posts = mysql_num_rows($num_post);
echo '<div class="menu3"><a href="forum.php'.$_zapros.'&mode=posts&id='.$id.'&ida='.$ida.'">'.$zak['name'].'</a> <b>['.$num_posts.']</b> <b>'.$zak['login'].'</b> '.$zak['time'].'';
If ($_USER['admin'] || $_USER['moder']){
echo ' [<a href="forum.php'.$_zapros.'mode=del&type=2&id='.$zak['id'].'">уд</a>] [<a href="forum.php'.$_zapros.'mode=del&type=5&id='.$zak['id'].'">антоп</a>]<br/>';
}
echo'</div>';
}
If (!isset($_GET['page']) || !is_numeric($_GET['page'])) $page=1; else { $page=$_GET['page']; (int)$page;}
$result = mysql_query("SELECT * FROM `".prefix."themes` WHERE `id_forum`='".$id."' AND NOT `type`='1' ORDER by `last_time` DESC LIMIT ".(($page-1)*10).",".(10+1));
$next = false;
$num = mysql_num_rows($result);
If ($num>0){
If ($num<=10) $read=$num; else {
$read = 10;
$next = true;
}
for ($i=0;$i<$read;$i++){
$ida = mysql_result($result,$i,'id');
$num_post = mysql_query("SELECT * FROM `".prefix."posts` WHERE `id_theme`='".$ida."'");
$num_posts = mysql_num_rows($num_post);
$type = mysql_result($result,$i,'type');
if(!$type==0){
//Закрытые темы
echo '<div class="menu3"><img src="images/dot2.gif" alt=""/> <a href="forum.php'.$_zapros.'&mode=posts&id='.$id.'&ida='.$ida.'">'.mysql_result($result,$i,'name').'</a> <b>['.$num_posts.']</b> <b>'.mysql_result($result,$i,'login').'</b> '.mysql_result($result,$i,'time').'';
If ($_USER['admin'] || $_USER['moder']){
echo ' [<a href="forum.php'.$_zapros.'mode=del&type=2&id='.mysql_result($result,$i,'id').'">уд</a>] [<a href="forum.php'.$_zapros.'mode=del&type=4&id='.mysql_result($result,$i,'id').'">топ</a>] [<a href="forum.php'.$_zapros.'mode=del&type=7&id='.mysql_result($result,$i,'id').'">отк</a>]<br/>';
}
echo'</div>';
}else{
//Открытые темы
echo '<div class="menu3"><img src="images/dot.gif" alt=""/> <a href="forum.php'.$_zapros.'&mode=posts&id='.$id.'&ida='.$ida.'">'.mysql_result($result,$i,'name').'</a> <b>['.$num_posts.']</b> <b>'.mysql_result($result,$i,'login').'</b> '.mysql_result($result,$i,'time');
If ($_USER['admin'] || $_USER['moder']){
echo ' [<a href="forum.php'.$_zapros.'mode=del&type=2&id='.mysql_result($result,$i,'id').'">уд</a>] [<a href="forum.php'.$_zapros.'mode=del&type=4&id='.mysql_result($result,$i,'id').'">топ</a>] [<a href="forum.php'.$_zapros.'mode=del&type=6&id='.mysql_result($result,$i,'id').'">закр</a>]<br/>';
}
echo'</div>';
}
}
$counttem = mysql_num_rows(mysql_query("SELECT * FROM `".prefix."themes` WHERE `id_forum`='".$id."' AND NOT `type`='1'"));
echo 'Всего тем в разделе: <b>'.$counttem.'</b><br/>';
} else echo 'Нет тем!<br/>';
If ($page>1) echo '<a href="'.$_zapros.'mode=themes&page='.($page-1).'&id='.$id.'">Назад</a> ';
If ($next) echo '<a href="'.$_zapros.'mode=themes&page='.($page+1).'&id='.$id.'">Вперед</a>';
if($_enter){
echo '<a href="forum.php'.$_zapros.'mode=add&id='.$id.'">Создать тему</a><br/>';
}
break;
case 'posts':
$id = mysql_real_escape_string(htmlspecialchars($_GET['id']));
$ida = mysql_real_escape_string(htmlspecialchars($_GET['ida']));
If (!isset($_GET['page']) || !is_numeric($_GET['page'])) $page=1; else { $page=$_GET['page']; (int)$page;}
$result = mysql_query("SELECT * FROM `".prefix."posts` WHERE `id_theme`='".$ida."' and `id_forum`='".$id."' ORDER BY `id` DESC LIMIT ".(($page-1)*10).",".(10+1));
$next = false;
$num = mysql_num_rows($result);
If ($num>0){
If ($num<=10) $read=$num; else {
$read = 10;
$next = true;
}
$result666 = mysql_query("SELECT * FROM `".prefix."themes` WHERE `id`='".$ida."'");
$res666 = mysql_fetch_array($result666);
echo '<div class="menu3">В теме: <b>'.$res666['name'].'</b></div>';
if($res666['type']==2){
echo 'Эта тема закрыта, вы не можете писать сообщения.<br/><br/>';
}else{
if($_enter){
echo '<a href="forum.php'.$_zapros.'mode=add_post&id='.$id.'&ida='.$ida.'">Написать</a>';
}
}
$post = mysql_query("SELECT * FROM `".prefix."posts` WHERE `id_theme`='".$ida."' and `id_forum`='".$id."' ORDER BY `id` asc LIMIT 1");
$post = mysql_fetch_array($post);
if ($next){
echo '<div class="rek">
<a href="info.php'.$_zapros.'&user='.$post['login'].'"><font color="black"><b>'.$post['login'].'</b></font></a> '.$post['time'].'<br/>
'.$post['text'].'</div>';
}
for ($i=0;$i<$read;$i++){
echo '<div class="menu3">';
$text = mysql_result($result,$i,'text');
$text = bbcode($text);
$text = smiles($text);
$text = stripslashes($text);
$logsg = mysql_result($result,$i,'login');
$izmts = mysql_result($result,$i,'izmts');
$izmkol = mysql_result($result,$i,'izmkol');
$izmkto = mysql_result($result,$i,'izmwho');
$nif = mysql_query("SELECT `admin`, `moder` FROM `".prefix."users` WHERE `login`='".$logsg."'");
$zak = mysql_fetch_array($nif);
echo '<font color="white"><hr></font>
<a href="info.php'.$_zapros.'&user='.$logsg.'"><font color="';
if ($zak['admin'] == 1) echo 'red';
if ($zak['moder'] == 1) echo 'blue';
if ($zak['admin'] == 0 && $zak['moder'] == 0) echo 'black';
echo '"><b>'.$logsg.'</b></font></a> '.mysql_result($result,$i,'time');
If ($_USER['login'] == $logsg){
echo ' [<a href="forum.php'.$_zapros.'mode=red&id='.mysql_result($result,$i,'id').'&ida='.$ida.'">изм</a>]';
}
If ($_USER['admin'] || $_USER['moder']){
echo ' [<a href="forum.php'.$_zapros.'mode=del&type=3&id='.mysql_result($result,$i,'id').'">уд</a>]';
}
echo '<br/>'.$text.'<br/>';
If (!is_NULL($izmkto) && $izmkto!=''){
echo '---<br/>
Изм. : <b>'.$izmkol.'</b> раз. Последний раз: <b>'.date("H:i d.m.Y",$izmts).'</b> ник <b>'.$izmkto.'</b><br/>';
}
echo '</div>';
}
echo '<font color="white"></font>';
$countpost = mysql_num_rows(mysql_query("SELECT * FROM `".prefix."posts` WHERE `id_theme`='".$ida."' and `id_forum`='".$id."'"));
echo ' постов в теме: <b>'.$countpost.'</b><br/>';
} else echo 'Сообщений нет! <br/>';
If ($page>1) echo '<a href="forum.php'.$_zapros.'mode=posts&page='.($page-1).'&id='.$id.'&ida='.$ida.'">Назад</a> ';
If ($next) echo '<a href="forum.php'.$_zapros.'mode=posts&page='.($page+1).'&id='.$id.'&ida='.$ida.'">Вперед</a>';
break;
case 'red':
$id = mysql_real_escape_string(htmlspecialchars($_GET['id']));
$ida = mysql_real_escape_string(htmlspecialchars($_GET['ida']));
$result = mysql_query("SELECT * FROM `".prefix."posts` WHERE `id`='".$id."' && `login`='".$_USER['login']."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
If (mysql_num_rows($result)!=1){
echo 'Сообщение не найдено';
break;
}
$ans=mysql_result($result,0,'text');
echo 'Текст:<br/>
<form method="post" action="'.$_zapros.'mode=redok&id='.$id.'&ida='.$ida.'">
<textarea cols="30" rows="5" name="text" maxlength="'.lenght_text.'">'.$ans.'</textarea><br/>
<input value="OK" type="submit"/></form>';
break;
case 'redok':
$id = mysql_real_escape_string(htmlspecialchars($_GET['id']));
$ida = mysql_real_escape_string(htmlspecialchars($_GET['ida']));
If (!isset($_POST['text'])) {
echo 'Сообщения не введено!';
break;
}
$text = htmlspecialchars(trim(mysql_real_escape_string($_POST['text'])));
$strlen=strlen($text);
If ($strlen<min_text || $strlen>lenght_text){
echo 'Сообщение слишком длинное/короткое';
break;
}
$result = mysql_query("UPDATE `".prefix."posts` SET `text`='".$text."', `izmts`='".time()."', `izmkol`=`izmkol`+1, `izmwho`='".$_USER['login']."' WHERE `id`='".$id."' && `login`='".$_USER['login']."'");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
@mysql_query("UPDATE `".prefix."themes` SET `last_time`='".time()."' WHERE `id`='".$ida."'");
echo '<b>Пост изменен!</b>';
break;
case 'add_post':
if($_enter){
$id = mysql_real_escape_string(htmlspecialchars($_GET['id']));
$ida = mysql_real_escape_string(htmlspecialchars($_GET['ida']));
echo'<form action="forum.php'.$_zapros.'mode=add_postok&id='.$id.'&ida='.$ida.'" method="POST"/>
<b>Пишем сообщение:</b><br/>
<textarea cols="30" rows="5" name="text"></textarea><br/>
<input type="Submit" value="Отправить"/></form>';
}
break;
case 'add_postok':
$id = mysql_real_escape_string(htmlspecialchars($_GET['id']));
$ida = mysql_real_escape_string(htmlspecialchars($_GET['ida']));
$text = htmlspecialchars(trim(mysql_real_escape_string($_POST['text'])));
$time = date("d.m.y - H:i:s");
if($text){
@mysql_query("INSERT INTO `".prefix."posts` (`id_theme`,`id_forum`,`login`,`text`,`time`) VALUES ('".$ida."','".$id."','".$_USER['login']."','".$text."','".$time."')");
@mysql_query("UPDATE `".prefix."themes` SET `last_time`='".time()."' WHERE `id`='".$ida."'");
header("Location: forum.php".$_zapros."&mode=posts&id=".$id."&ida=".$ida);
}else echo 'Ошибка!!!';
break;
case 'bbkod':
include "bbcode.txt";
break;
case 'smiles':
include "smile.txt";
break;
case 'add':
$id = mysql_real_escape_string(htmlspecialchars($_GET['id']));
echo'<form action="forum.php'.$_zapros.'mode=addok&id='.$id.'" method="POST"/>
Тема:<br/>
<input type="text" name="name" maxlength="30"/><br/>
Сообщение:<br/>
<textarea cols="30" rows="5" name="text" maxlength="5000"></textarea><br/>
<input type="Submit" value="Отправить"/>';
break;
case 'addok':
$id=mysql_real_escape_string(htmlspecialchars($_GET['id']));
$time = date("d.m.y - H:i:s");
$name = htmlspecialchars($_POST['name']);
$text = htmlspecialchars($_POST['text']);
if($name){
if($text){
mysql_query("INSERT INTO `".prefix."themes` (`id_forum`,`name`,`login`,`time`,`last_time`,`type`) VALUES ('".$id."','".$name."','".$_USER['login']."','".$time."','".time()."','0');");
$pik=mysql_query("SELECT * FROM `".prefix."themes` WHERE `id_forum`='".$id."' and `name`='".$name."'");
$pika=mysql_fetch_array($pik);
$idi=$pika['id'];
mysql_query("INSERT INTO `".prefix."posts` (`id_theme`,`id_forum`,`login`,`text`,`time`) VALUES ('".$idi."','".$id."','".$_USER['login']."','".$text."','".$time."');");
header("Location: forum.php".$_zapros."&mode=posts&id=".$id."&ida=".$idi);
}else echo'Сообщение введено не верно!';
}else echo'Название темы введено не верно!';
break;
case 'del':
$type=mysql_real_escape_string(htmlspecialchars($_GET['type']));
$id=mysql_real_escape_string(htmlspecialchars($_GET['id']));
If ($_USER['admin'] || $_USER['moder']){
if($type==1)
{
mysql_query("DELETE FROM `".prefix."forums` WHERE `id`='".$id."'");
echo 'Категория удалена!';
}
if($type==2)
{
mysql_query("DELETE FROM `".prefix."themes` WHERE `id`='".$id."'");
mysql_query("DELETE FROM `".prefix."posts` WHERE `id_theme`='".$id."'");
echo 'Тема удалена!';
}
if($type==3)
{
mysql_query("DELETE FROM `".prefix."posts` WHERE `id`='".$id."'");
echo 'Пост удален!';
}
if($type==4)
{
mysql_query("UPDATE `".prefix."themes` SET `type`='1' WHERE `id`='".$id."'");
echo 'Тема закреплена!';
}
if($type==5)
{
mysql_query("UPDATE `".prefix."themes` SET `type`='0' WHERE `id`='".$id."'");
echo 'Тема откреплена!';
}
if($type==6)
{
mysql_query("UPDATE `".prefix."themes` SET `type`='2' WHERE `id`='".$id."'");
echo 'Тема закрыта!';
}
if($type==7)
{
mysql_query("UPDATE `".prefix."themes` SET `type`='0' WHERE `id`='".$id."'");
echo'Тема открыта!';
}
if($type==8)
{
echo'<form action="forum.php'.$_zapros.'mode=del&type=9&id='.$id.'" method="POST"/>
Новое название:<br/>
<input type="text" name="name"/><br/>
<input type="Submit" value="Изменить"/></font>';
}
if($type==9)
{
mysql_query("UPDATE `".prefix."forums` SET `name`='".mysql_real_escape_string(htmlspecialchars($_POST['name']))."' WHERE `id`='".mysql_real_escape_string(htmlspecialchars($_GET['id']))."'");
echo'Категория изменена';
}
}else echo'Ошибка!!! Вы не администратор!';
break;
case 'add_kat':
If ($_USER['admin']){
echo'
<form action="forum.php'.$_zapros.'mode=add_katok" method="POST"/>
Название:<br/>
<input type="text" name="name"/><br/>
<input type="Submit" value="Добавить"/>';
}
break;
case 'add_katok':
$name=mysql_real_escape_string(htmlspecialchars($_POST['name']));
mysql_query("INSERT INTO `".prefix."forums` (`name`) VALUES ('".$name."')");
echo'Категория добавлена!';
break;
}
include 'inc/foot.php';
?>