Просмотр файла click_club/forum.php

Размер файла: 13.58Kb
<?php
include "header/config.inc.php";
include "header/function.inc.php";
include "header/header.inc.php";
include "header/connect.inc.php";
include "header/click-club.class.php";
include "header/enter.inc.php";
include "header/ban.php";

If (!isset($_GET['mode']) || !ereg("^[a-z0-9_-]{1,15}$",$_GET['mode'])) $mode=false; else $mode=$_GET['mode'];

@mysql_query("UPDATE `".prefix."users` SET `mesto`='В форуме' WHERE `id` = '".$_USER['id']."'");

echo '<div class="header_rek"><b>Форум</b></div><a href="forum.php'.$_zapros.'mode=bbkod">BB Код</a> | <a href="forum.php'.$_zapros.'mode=smiles">Смайлы</a><br/><br/>';

switch($mode){

case false:
default:

$forums = mysql_query("SELECT * FROM `".prefix."forums` ORDER BY `id` DESC");
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 '<img src="images/dot.gif" alt=""/><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=del&type=1&id='.$forum['id'].'">уд</a>]  [<a href="forum.php'.$_zapros.'mode=del&type=8&id='.$forum['id'].'">ред</a>]<br/>';
}else echo '<br/>';
}

$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 '<br/>Разделов: (<b>'.$frs.'</b>) Тем: (<b>'.$ths.'</b>) Постов: (<b>'.$pts.'</b>)<br/>';

If ($_USER['admin'] || $_USER['moder']){
echo '<a href="forum.php'.$_zapros.'mode=add_kat">Добавить категорию</a><br/>';
}
break;

case 'themes':

$id = $_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 '<img src="images/vip.gif" alt="!"/>  <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/>';
}else echo'<br/>';
}

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)*num_best_on_page).",".(num_best_on_page+1));

$next = false;
$num = mysql_num_rows($result);

If ($num>0){

If ($num<=num_best_on_page) $read=$num; else {
$read = num_best_on_page;
$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 '<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/>';
}else echo'<br/>';

}else{
//Открытые темы
echo '<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/>';
}else echo'<br/>';
}
}

$counttem = mysql_num_rows(mysql_query("SELECT * FROM `".prefix."themes` WHERE `id_forum`='".$id."' AND NOT `type`='1'"));

echo '<br/>Всего тем в разделе: <b>'.$counttem.'</b><br/>';

} else echo 'Нет тем!<br/>';

If ($page>1) echo '<a href="'.$_zapros.'mode=themes&amp;page='.($page-1).'&id='.$id.'">Назад</a> ';
If ($next) echo '<a href="'.$_zapros.'mode=themes&amp;page='.($page+1).'&id='.$id.'">Вперед</a>';

if($_enter){
echo '<br/><img src="images/msg.gif" alt=""/>  <a href="forum.php'.$_zapros.'mode=add&id='.$id.'">Создать тему</a><br/>';
}
break;

case 'posts':

$id = $_GET['id'];
$ida = $_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)*num_best_on_page).",".(num_best_on_page+1));

$next = false;
$num = mysql_num_rows($result);

If ($num>0){

If ($num<=num_best_on_page) $read=$num; else {
$read = num_best_on_page;
$next = true;
}

$result666 = mysql_query("SELECT * FROM `".prefix."themes` WHERE `id`='".$ida."'");
$res666 = mysql_fetch_array($result666);

echo 'В теме: <b>'.$res666['name'].'</b><br/>';

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="contur_rek">
<a href="inf.php'.$_zapros.'&logg='.$post['login'].'"><font color="black"><b>'.$post['login'].'</b></font></a> '.$post['time'].'<br/>
'.$post['text'].'</div>';
}

for ($i=0;$i<$read;$i++){

$text = mysql_result($result,$i,'text');
$text = bbcode($text);
$text = smile($text);
$text = antilink($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="inf.php'.$_zapros.'&logg='.$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 '<font color="white"><hr></font>';
$countpost = mysql_num_rows(mysql_query("SELECT * FROM `".prefix."posts` WHERE `id_theme`='".$ida."' and `id_forum`='".$id."'"));
echo '<br/>Всего постов в теме: <b>'.$countpost.'</b><br/>';
} else echo 'Сообщений нет! <br/>';

If ($page>1) echo '<a href="forum.php'.$_zapros.'mode=posts&amp;page='.($page-1).'&id='.$id.'&ida='.$ida.'">Назад</a> ';
If ($next) echo '<a href="forum.php'.$_zapros.'mode=posts&amp;page='.($page+1).'&id='.$id.'&ida='.$ida.'">Вперед</a>';
break;

case 'red':

$id = $_GET['id'];
$ida = $_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&amp;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 = $_GET['id'];
$ida = $_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 = $_GET['id'];
$ida = $_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 = $_GET['id'];
$ida = $_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 = $_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=$_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=$_GET['type'];
$id=$_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`='".$_POST['name']."' WHERE `id`='".$_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=$_POST['name'];
mysql_query("INSERT INTO `".prefix."forums` (`name`) VALUES ('".$name."')");
echo'Категория добавлена!';
break;
}

include "header/end.inc.php";
?>