Файл: www/forum.php
Строк: 427
<?php
if (isset($_GET['act'])){
switch ($_GET['act']){
case 'adm' :
//Начало админки
include 'inc/mysql.php';//БД
include 'inc/check.php';//Сессии
include 'inc/functions.php'; //Стиль и кодировка
top();
include 'inc/account.php';//Пользовательская переменная account
include 'inc/interface.php';
echo 'Общий форум - Админка<br />';
if (isset($_SESSION['auth']) && $_SESSION['auth']==1){
if ($account['status']=="moder"){
switch($_GET['option']){
case 'msg' :
if (isset($_GET['del']) && !empty($_GET['del']) && is_numeric($_GET['del'])){
@mysql_query("DELETE FROM `forum_mess` WHERE `id`='".$_GET['del']."'");
header("Location: ".$_SERVER['HTTP_REFERER']);
}
if (isset($_GET['ed']) && !empty($_GET['ed']) && is_numeric($_GET['ed'])){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_mess` WHERE `id`='".$_GET['ed']."'"),0)==0){
header("Location: ?act=adm&option=razdel");
}
$ed=mysql_fetch_array(mysql_query("SELECT * FROM `forum_mess` WHERE `id`='".$_GET['ed']."'"));
if(isset($_POST['msg'])){
$_POST['msg'] = trim($_POST['msg']);
if(!empty($_POST['msg'])){
if(strlen($_POST['msg'])>1024) $err[]='Слишком длинное сообщение!';
if(strlen($_POST['msg'])<2) $err[]='Слишком короткое сообщение!';
}else{
$err[]='Пустое сообщение!';
}
if(!$err){
$msg = mysql_real_escape_string($_POST['msg']);
mysql_query("UPDATE `forum_mess` SET `msg`='$msg' WHERE `id`='".$ed['id']."'");
header("Location: ?act=them&id=msg&ed=".$ed['id']);
}else{
foreach($err as $value){
echo "<center><font color='red'>".$value."</font></center>";
}
}
}
echo '
<div class="line"></div>
<form method="post" action="">
Сообщение [2-1024]:
<br>
<textarea class="text" rows="2" cols="30" name="msg">'.htmlspecialchars(stripslashes($ed['msg'])).'</textarea>
<br />
<input type="submit" class="submit" value="Сохранить">
</form>
<br />
<a href="?act=them&id='.$ed['id_theme'].'">В тему</a><div class="line"></div>
';
}
if (isset($_GET['sinhr']) && $_GET['sinhr']==1){
$qs=mysql_query("SELECT * FROM `forum_mess`");
while($resqs=mysql_fetch_array($qs)){
if (mysql_num_rows(mysql_query("SELECT * FROM `forum_theme` WHERE `id`='".$resqs['id_theme']."'"))==0){
mysql_query("DELETE FROM `forum_mess` WHERE `id`='".$resqs['id']."'");
}
}
echo '<div class="line"></div><font color="green">Синхронизация завершена!</font><div class="line"></div>';
}
break;
case 'them' :
if (isset($_GET['ed']) && !empty($_GET['ed']) && is_numeric($_GET['ed'])){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_theme` WHERE `id`='".$_GET['ed']."'"),0)==0){
header("Location: ?act=adm&option=them");
}
$ed=mysql_fetch_array(mysql_query("SELECT * FROM `forum_theme` WHERE `id`='".$_GET['ed']."'"));
if(isset($_POST['msg']) && isset($_POST['name'])){
$_POST['msg'] = trim($_POST['msg']);
if(!empty($_POST['msg'])){
if(strlen($_POST['msg'])>1024) $err[]='Слишком длинное сообщение!';
if(strlen($_POST['msg'])<2) $err[]='Слишком короткое сообщение!';
}else{
$err[]='Пустое сообщение!';
}
$_POST['name'] = trim($_POST['name']);
if(!empty($_POST['name'])){
if(strlen($_POST['name'])>50) $err[]='Слишком длинное название!';
if(strlen($_POST['name'])<2) $err[]='Слишком короткое название!';
}else{
$err[]='Пустое название!';
}
if(!$err){
$name = mysql_real_escape_string($_POST['name']);
$msg = mysql_real_escape_string($_POST['msg']);
$razdel_t=$_POST['razdel'];
mysql_query("UPDATE `forum_theme` SET `name`='$name',`msg`='$msg',`id_razdel`='$razdel_t' WHERE `id`='".$ed['id']."'");
header("Location: ?act=adm&option=them&ed=".$ed['id']);
}else{
foreach($err as $value){
echo "<center><font color='red'>".$value."</font></center>";
}
}
}
echo '
<div class="line"></div>
<form method="post" action="">
Название [2-50]:<br />
<input name="name" value="'.htmlspecialchars(stripslashes($ed['name'])).'"><br />
Сообщение [2-1024]:
<br>
<textarea class="text" rows="2" cols="30" name="msg">'.htmlspecialchars(stripslashes($ed['msg'])).'</textarea>
<br />
Раздел:
<br>';
$qr=mysql_query("SELECT * FROM `forum_razdel`");
while($qry=mysql_fetch_array($qr)){
if ($qry['type']!='razdel_name'){
echo '<input type="radio" name="razdel" value="'.$qry['id'].'"';
if ($qry['id']==$ed['id_razdel']){ echo 'checked="checked"';}
echo '>';
echo $qry['name'].'<br />';
}
}
echo '
<input type="submit" class="submit" value="Сохранить">
<div class="line"></div>
<a href="?act=them&id='.$ed['id'].'">В тему</a><br />
</form>
';
}
if (isset($_GET['del']) && !empty($_GET['del']) && is_numeric($_GET['del'])){
@mysql_query("DELETE FROM `forum_theme` WHERE `id`='".$_GET['del']."'");
@mysql_query("DELETE FROM `forum_mess` WHERE `id_theme`='".$_GET['del']."'");
}
if (isset($_GET['sinhr']) && $_GET['sinhr']==1){
//Синхронизация тем
$qs=mysql_query("SELECT * FROM `forum_theme`");
while($resqs=mysql_fetch_array($qs)){
if (mysql_num_rows(mysql_query("SELECT * FROM `forum_razdel` WHERE `id`='".$resqs['id_razdel']."'"))==0){
mysql_query("DELETE FROM `forum_theme` WHERE `id`='".$resqs['id']."'");
}
}
echo '<div class="line"></div><font color="green">Синхронизация завершена!</font>';
}
echo '<div class="line"></div>';
$cop=5;
$ca=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_theme`"),0);
$cp=ceil($ca/$cop);
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = $_GET['page'];
if($_GET['page']>$cp) $page=$cp;
if($_GET['page']<1)$page=1;
}else{
$page=1;
}
$start=$page*$cop-$cop;
$q=mysql_query("SELECT * FROM `forum_theme` ORDER BY `id` DESC LIMIT $start,$cop");
if (mysql_num_rows($q)==0){
echo 'Тем нет.
<br>';
}
while($result=mysql_fetch_array($q)){
$count=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_mess` WHERE `id_theme`='".$result['id']."'"),0);//Сколько сообщений в теме
@$last_mess=mysql_result(mysql_query("SELECT `account` FROM `forum_mess` WHERE `id_theme`='".$result['id']."' ORDER BY `id` DESC LIMIT 1"),0);//Последнее сообщение
$last_user=mysql_fetch_array(mysql_query("SELECT * FROM `account` WHERE `id`='".$last_mess."'"));//Последний пользователь
$_user=mysql_fetch_array(mysql_query("SELECT * FROM `account` WHERE `id`='".$result['account']."'"));
echo '<a href="/forum.php?act=adm&option=them&del='.$result['id'].'">[x]</a> <a href="/forum.php?act=adm&option=them&ed='.$result['id'].'">[ред]</a> <b><a href="">'.$_user['name'].'</a></b> : <a href="/forum.php?act=them&id='.$result['id'].'">'.bbcode(htmlspecialchars(stripslashes($result['name']))).'</a> ('.$count.')';
if (!empty($last_user)){
echo ' ('.$last_user['name'].')';
}
echo '<br />';
}
echo '
<div class="line"></div>
Страницы
';
if($page-1>0){
echo '<a href="?act=adm&option=them&page='.($page-1).'"><</a> ';
}
if($page-1>0){
echo '<a href="?act=adm&option=them&page='.($page-1).'">'.($page-1).'</a> ';
}
echo '<b>'.$page.'</b>';
if($page+1<=$cp){
echo ' <a href="?act=adm&option=them&page='.($page+1).'">'.($page+1).'</a>';
}
if($page+1<=$cp){
echo ' <a href="?act=adm&option=them&page='.($page+1).'">></a>';
}
echo '<div class="line"></div>';
break;
case 'razdel' :
if (isset($_GET['ed']) && !empty($_GET['ed']) && is_numeric($_GET['ed'])){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_razdel` WHERE `id`='".$_GET['ed']."'"),0)==0){
header("Location: ?act=adm&option=razdel");
}
$ed=mysql_fetch_array(mysql_query("SELECT * FROM `forum_razdel` WHERE `id`='".$_GET['ed']."'"));
if(isset($_POST['about']) && isset($_POST['name'])){
if ($_POST['type']==true){
$type = 'razdel_name';
}else{
$type = '';
}
$_POST['about'] = trim($_POST['about']);
if(!empty($_POST['about'])){
if(strlen($_POST['about'])>1024) $err[]='Слишком длинное сообщение!';
if(strlen($_POST['about'])<2) $err[]='Слишком короткое сообщение!';
}else{
$err[]='Пустое сообщение!';
}
$_POST['name'] = trim($_POST['name']);
if(!empty($_POST['name'])){
if(strlen($_POST['name'])>50) $err[]='Слишком длинное название!';
if(strlen($_POST['name'])<2) $err[]='Слишком короткое название!';
}else{
$err[]='Пустое название!';
}
if(!$err){
$name = mysql_real_escape_string($_POST['name']);
$about = mysql_real_escape_string($_POST['about']);
mysql_query("UPDATE `forum_razdel` SET `name`='$name',`about`='$about',`type`='$type' WHERE `id`='".$ed['id']."' ");
header("Location: ?act=adm&option=razdel&ed=".$ed['id']);
}else{
foreach($err as $value){
echo "<center><font color='red'>".$value."</font></center>";
}
}
}
echo '
<div class="line"></div>
<form method="post" action="">
Название [2-50]:<br />
<input name="name" value="'.htmlspecialchars(stripslashes($ed['name'])).'"><br />
Сообщение [2-1024]:
<br>
<textarea class="text" rows="2" cols="30" name="about">'.htmlspecialchars(stripslashes($ed['about'])).'</textarea>
<br />';
if ($ed['type']=='razdel_name'){
echo '<input type="checkbox" name="type" checked>Раздел маркер';
}else{
echo '<input type="checkbox" name="type">Раздел маркер';
}
echo '<br />
<input type="submit" class="submit" value="Сохранить">
</form>
<div class="line"></div>
';
}
if (isset($_GET['del']) && !empty($_GET['del']) && is_numeric($_GET['del'])){
@mysql_query("DELETE FROM `forum_razdel` WHERE `id`='".$_GET['del']."'");
$q_del_msg=mysql_query("SELECT * FROM `forum_theme` WHERE `id_razdel`='".$_GET['del']."'");
while($res_del=mysql_fetch_assoc($q_del_msg)){
@mysql_query("DELETE FROM `forum_mess` WHERE `id_theme`='".$res_del['id']."'");
@mysql_query("DELETE FROM `forum_theme` WHERE `id`='".$res_del['id']."'");
}
@mysql_query("DELETE * FROM `forum_theme` WHERE `id_razdel`='".$_GET['del']."'");
}
if(isset($_POST['n_about']) && isset($_POST['n_name'])){
//Антиспам
//if (mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_theme` WHERE `user`='".$user['id']."'"),0)>0 AND 300>(time()-mysql_result(mysql_query("SELECT `time` FROM `forum_theme` WHERE `user`='".$user['id']."' ORDER BY `id` DESC LIMIT 1"),0)))$err[]='Нельзя создавать темы так часто!';
if(strlen($_POST['n_about'])>1024) $err[]='Слишком длинное описание!';
if(strlen($_POST['n_about'])<2) $err[]='Слишком короткое описание!';
if(strlen($_POST['n_name'])>50) $err[]='Слишком длинное название!';
if(strlen($_POST['n_name'])<2) $err[]='Слишком короткое название!';
if(!$err){
$name = mysql_real_escape_string($_POST['n_name']);
$about = mysql_real_escape_string($_POST['n_about']);
if ($_POST['n_type']){
$type='razdel_name';
}else{
$type=NULL;
}
mysql_query("INSERT INTO `forum_razdel`(`about`,`name`,`type`) VALUES('$about','$name','$type')");
header("Location: /forum.php?act=adm&option=razdel");
}else{
foreach($err as $value){
echo "<center><font color='red'>".$value."</font></center>";
}
}
}
echo '<div class="line"></div>';
$q=mysql_query("SELECT * FROM `forum_razdel`");//Формируем запрос
while($result=mysql_fetch_array($q)){
//Выводим список
if ($result['type']=='razdel_name'){
//Если это раздел маркер
echo '<div class="line"></div>';
echo '<a href="/forum.php?act=adm&option=razdel&del='.$result['id'].'">[x]</a> <a href="/forum.php?act=adm&option=razdel&ed='.$result['id'].'">[ред]</a> <u><b>'.$result['name'].'</b></u><br />';
}else{
//Иначе если это раздел с темами
$count=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_theme` WHERE `id_razdel`='".$result['id']."'"),0);
echo '<a href="/forum.php?act=adm&option=razdel&del='.$result['id'].'">[x]</a> <a href="/forum.php?act=adm&option=razdel&ed='.$result['id'].'">[ред]</a> <a href="/forum.php?act=razdel&id='.$result['id'].'">'.$result['name'].'</a><font color="gray">('.$count.')</font><br />';
}
}
echo '<div class="line"></div>';
echo '
<form method="post" action="">
Название [2-50]:<br />
<input type="text" class="text" name="n_name"><br />
Описание [2-1024]:<br />
<textarea class="text" rows="2" cols="30" name="n_about"></textarea><br />
<input type="checkbox" name="n_type">Раздел маркер<br />
<input type="submit" class="submit" value="Создать">
</form>
';
break;
}
echo '<a href="/forum.php?act=adm&option=msg&sinhr=1">Синхронизация сообщений</a><br />';
echo '<a href="/forum.php?act=adm&option=them&sinhr=1">Синхронизация тем</a><br />';
echo '<a href="/forum.php?act=adm&option=them">Управление темами</a><br />';
echo '<a href="/forum.php?act=adm&option=razdel">Управление разделами</a><br />';
echo '<a href="/forum.php">Форум</a><br />';
}else{
header("Location: /forum.php");
}
}else{
header("Location: /forum.php");
}
//Конец админки
break;
case 'new':
//Раздел
include 'inc/mysql.php';//БД
include 'inc/check.php';//Сессии
include 'inc/functions.php';
$page['title']='Форум';//Заголовок страницы
top();
include 'inc/account.php';//Пользовательская переменная account
include 'inc/interface.php';
if(isset($_SESSION['auth']) && $_SESSION['auth']==1){
echo '
Общий форум
<div class="line"></div>';
$cop=10;
$ca=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_mess`"),0);
$cp=ceil($ca/$cop);
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = $_GET['page'];
if($_GET['page']>$cp) $page=$cp;
if($_GET['page']<1)$page=1;
}else{
$page=1;
}
$start=$page*$cop-$cop;
$q=mysql_query("SELECT * FROM `forum_mess` WHERE `time`>'".(time()-3600-3600-3600-3600-3600-3600)."' ORDER BY `id` DESC LIMIT $start,$cop");
while ($result=mysql_fetch_assoc($q)){
$_user = mysql_fetch_assoc(mysql_query("SELECT * FROM `account` WHERE `id`='".$result['account']."'"));
$_them = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum_theme` WHERE `id`='".$result['id_theme']."'"));
$result['msg'] = smiles(bbcode(substr(htmlspecialchars(stripslashes($result['msg'])),0,50)));
echo '
<a href="?act=them&id='.$result['id_theme'].'">'.$_them['name'].'</a> > <b>'.$_user['name'].'</b>: ';
echo '
'.$result['msg'].'...
<div class="line"></div>';
}
echo '
Страницы
';
if($page-1>0){
echo '<a href="?act=new&page='.($page-1).'"><</a> ';
}
if($page-1>0){
echo '<a href="?act=new&page='.($page-1).'">'.($page-1).'</a> ';
}
echo '<b>'.$page.'</b>';
if($page+1<=$cp){
echo ' <a href="?act=new&page='.($page+1).'">'.($page+1).'</a>';
}
if($page+1<=$cp){
echo ' <a href="?act=new&page='.($page+1).'">></a>';
}
}else{
header("Location: /index.php");
}
break;
case "razdel" :
//Раздел
include 'inc/mysql.php';//БД
include 'inc/check.php';//Сессии
include 'inc/functions.php';
$page['title']='Форум';//Заголовок страницы
top();
include 'inc/account.php';//Пользовательская переменная account
include 'inc/interface.php';
if(isset($_SESSION['auth']) && $_SESSION['auth']==1){
echo '
Общий форум
<div class="line"></div>';
if (isset($_GET['id']) && is_numeric($_GET['id'])){
//Проверка на существование
if (mysql_result(mysql_query("SELECT * FROM `forum_razdel` WHERE `id`='".$_GET['id']."'"),0)>0){
if (mysql_result(mysql_query("SELECT `type` FROM `forum_razdel` WHERE `id`='".$_GET['id']."'"),0)=='razdel_name'){
//Если это раздел маркер
header('Location: /forum.php');
}
$razdel=intval($_GET['id']); //Текущий раздел
//Навигация
$cop=5;
$ca=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_theme` WHERE `id_razdel`='".$razdel."'"),0);
$cp=ceil($ca/$cop);
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = $_GET['page'];
if($_GET['page']>$cp) $page=$cp;
if($_GET['page']<1)$page=1;
}else{
$page=1;
}
$start=$page*$cop-$cop;
$q=mysql_query("SELECT * FROM `forum_theme` WHERE `id_razdel`='".$razdel."' ORDER BY `id` DESC LIMIT $start,$cop");
if (mysql_num_rows($q)==0){
echo 'В этом разделе тем нет.
<br>';
}
while($result=mysql_fetch_assoc($q)){
$count=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_mess` WHERE `id_theme`='".$result['id']."'"),0);//Сколько сообщений в теме
@$last_mess=mysql_result(mysql_query("SELECT `account` FROM `forum_mess` WHERE `id_theme`='".$result['id']."' ORDER BY `id` DESC LIMIT 1"),0);//Последнее сообщение
$last_user=mysql_fetch_array(mysql_query("SELECT * FROM `account` WHERE `id`='".$last_mess."'"));//Последний пользователь
$_user=mysql_fetch_array(mysql_query("SELECT * FROM `account` WHERE `id`='".$result['account']."'"));
if ($account['status']=='moder'){
echo '<a href="?act=adm&option=them&del='.$result['id'].'">[x]</a> ';
echo '<a href="?act=adm&option=them&ed='.$result['id'].'">[ред]</a> ';
}
echo '<b><a href="">'.$_user['name'].'</a></b> : <a href="/forum.php?act=them&id='.$result['id'].'">'.bbcode(htmlspecialchars(stripslashes($result['name']))).'</a> ('.$count.')';
if (!empty($last_user)){
echo ' ('.$last_user['name'].')';
}
echo '<br />';
}
//Навигация
echo '
<div class="line"></div>
Страницы ';
if($page-1>0){
echo '<a href="/forum.php?act=razdel&id='.$razdel.'&page='.($page-1).'"><-</a>';
}
if($page-1>0){
echo '<a href="/forum.php?act=razdel&id='.$razdel.'&page='.($page-1).'">'.($page-1).'</a>';
}
echo '<b>'.$page.'</b>';
if($page+1<=$cp){
echo '<a href="/forum.php?act=razdel&id='.$razdel.'&page='.($page+1).'">'.($page+1).'</a>';
}
if ($page+1<=$cp){
echo '<a href="/forum.php?act=razdel&id='.$razdel.'&page='.($page+1).'">-></a>';
}
echo '<div class="line"></div>
<a href="forum.php?act=newt&id='.$razdel.'">Новая тема</a>
<br>';
}else{
//Если раздела не существует
header('Location: /forum.php');
}
}else{
//Если пустой параметр $_GET[id]
header("Location: /forum.php");
}
}else{
//Если пользователь не авторизирован
header("Location: /?");
}
echo '
-----
<br>
<a href="/forum.php">Форум</a>';
down();
//Конец раздела
break;
case "them" :
//Тема
include 'inc/mysql.php';//БД
include 'inc/check.php';//Сессии
$page['title']='Форум';//Заголовок страницы
include 'inc/functions.php'; //Стиль и кодировка
top();
include 'inc/account.php';//Пользовательская переменная account
include 'inc/interface.php';
if (isset($_SESSION['auth']) && $_SESSION['auth']==1){
echo '
Общий форум
<div class="line"></div>';
if (isset($_GET['id']) && is_numeric($_GET['id'])){
//Проверка на существование
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_theme` WHERE `id`='".$_GET['id']."'"),0)>0){
$them=mysql_fetch_array(mysql_query("SELECT * FROM `forum_theme` WHERE `id`='".$_GET['id']."'"));
if(isset($_POST['msg'])){
$msg = mysql_real_escape_string($_POST['msg']);
$_POST['msg'] = trim($_POST['msg']);
if(!empty($_POST['msg'])){
//Антиспам
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_mess` WHERE `account`='".$account['id']."'"),0)>0 AND 5>(time()-mysql_result(mysql_query("SELECT `time` FROM `forum_mess` WHERE `account`='".$account['id']."' ORDER BY `id` DESC LIMIT 1"),0)))$err[]='Нельзя писать так часто!';
if(strlen($_POST['msg'])>1024) $err[]='Слишком длинное сообщение!';
if(strlen($_POST['msg'])<2) $err[]='Слишком короткое сообщение!';
}else{
$err[]='Пустое сообщение!';
}
if(!$err){
mysql_query("INSERT INTO `forum_mess`(`account`,`msg`,`id_theme`,`time`) VALUES('".$account['id']."','$msg','".$them['id']."','".time()."')");
header("Location: ?act=them&id=$them[id]");
}else{
foreach($err as $value){
echo "<center><font color='red'>".$value."</font></center>";
}
}
}
$autor=mysql_fetch_array(mysql_query("SELECT * FROM `account` WHERE `id`='".$them['account']."'"));
echo '<a href=""><b>'.$autor['name'].'</b></a>: '.bbcode(htmlspecialchars(stripslashes($them['name']))).'<br />';
echo ''.smiles(bbcode(htmlspecialchars(stripslashes($them['msg'])))).'
<div class="line"></div>';
//Вывод сообщений
$cop=5;
$ca=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_mess` WHERE `id_theme`='".$them['id']."'"),0);
$cp=ceil($ca/$cop);
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = $_GET['page'];
if($_GET['page']>$cp) $page=$cp;
if($_GET['page']<1)$page=1;
}else{
$page=1;
}
$start=$page*$cop-$cop;
$q=mysql_query("SELECT * FROM `forum_mess` WHERE `id_theme`='".$them['id']."' ORDER BY `id` DESC LIMIT $start,$cop");
while ($result=mysql_fetch_array($q)){
$_user = mysql_fetch_assoc(mysql_query("SELECT * FROM `account` WHERE `id`='".$result['account']."'"));
if ($account['status']=='moder'){
echo "<a href='?act=adm&option=msg&del=".$result['id']."'>[x]</a>";
echo " <a href='?act=adm&option=msg&ed=".$result['id']."'>[ред]</a> ";
}
echo '
<b><a href="">'.$_user['name'].'</a></b>:
';
echo smiles(bbcode(htmlspecialchars(stripslashes($result['msg']))))."
<br />";
}
echo '
<div class="line"></div>
Страницы ';
if($page-1>0){
echo '<a href="/forum.php?act=them&id='.$them['id'].'&page='.($page-1).'"><-</a>';
}
if($page-1>0){
echo '<a href="/forum.php?act=them&id='.$them['id'].'&page='.($page-1).'">'.($page-1).'</a>';
}
echo '<b>'.$page.'</b>';
if($page+1<=$cp){
echo '<a href="/forum.php?act=them&id='.$them['id'].'&page='.($page+1).'">'.($page+1).'</a>';
}
if ($page+1<=$cp){
echo '<a href="/forum.php?act=them&id='.$them['id'].'&page='.($page+1).'">-></a>';
}
echo '
<div class="line"></div>
<form method="post" action="">
Сообщение [2-1024]:
<br>
<textarea class="text" rows="2" cols="30" name="msg"></textarea>
<br>
<input type="submit" class="submit" value="Отправить">
</form>
';
}else{
//Если раздела не существует
header('Location: /forum.php');
}
}else{
//Если пустой параметр $_GET[id]
header("Location: /forum.php");
}
}else{
//Если пользователь не авторизирован
header("Location: /?");
}
echo ' <div class="line"></div>
<a href="/forum.php">Форум</a>';
down();
//Конец темы
break;
case "newt" :
//Новая тема
include 'inc/mysql.php';//БД
include 'inc/check.php';//Сессии
include 'inc/functions.php';
$page['title']='Форум';//Заголовок страницы
top();
include 'inc/account.php';//Пользовательская переменная account
include 'inc/interface.php';
if (isset($_SESSION['auth']) && $_SESSION['auth']==1){
echo '
Общий форум
<br>
-----
<br>';
if (isset($_GET['id']) && is_numeric($_GET['id'])){
//Проверка на существование
if (mysql_result(mysql_query("SELECT * FROM `forum_razdel` WHERE `id`='".$_GET['id']."'"),0)>0){
if (mysql_result(mysql_query("SELECT `type` FROM `forum_razdel` WHERE `id`='".$_GET['id']."'"),0)=='razdel_name'){
//Если это раздел маркер
header('Location: /forum.php');
}
$razdel=$_GET['id']; //Текущий раздел
if(isset($_POST['msg']) && isset($_POST['name'])){
//Антиспам
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_theme` WHERE `account`='".$account['id']."'"),0)>0 AND 300>(time()-mysql_result(mysql_query("SELECT `time` FROM `forum_theme` WHERE `account`='".$account['id']."' ORDER BY `id` DESC LIMIT 1"),0)))$err[]='Нельзя создавать темы так часто!';
$_POST['msg'] = trim($_POST['msg']);
if(!empty($_POST['msg'])){
if(strlen($_POST['msg'])>1024) $err[]='Слишком длинное сообщение!';
if(strlen($_POST['msg'])<2) $err[]='Слишком короткое сообщение!';
}else{
$err[]='Пустое сообщение!';
}
$_POST['name'] = trim($_POST['name']);
if(!empty($_POST['name'])){
if(strlen($_POST['name'])>50) $err[]='Слишком длинное название!';
if(strlen($_POST['name'])<2) $err[]='Слишком короткое название!';
}else{
$err[]='Пустое название!';
}
if(!$err){
$name = mysql_real_escape_string($_POST['name']);
$msg = mysql_real_escape_string($_POST['msg']);
mysql_query("INSERT INTO `forum_theme`(`msg`,`name`,`time`,`id_razdel`,`account`) VALUES('$msg','$name','".time()."','".$razdel."','".$account['id']."')");
$tema_id2 = mysql_insert_id();
//$tema_id = mysql_result(mysql_query("SELECT count(*) FROM `forum_theme`"), 0);
mysql_query("INSERT INTO `forum_mess`(`account`,`msg`,`id_theme`,`time`) VALUES('".$account['id']."','Тема успешно создана! В теме строго ЗАПРЕЩЕНЫ нецензурные выражения, флейм, флуд(кроме привата)...,создание "пустых", неинформативных сообщений,и пр., что запрещают правила сайта!(всё это не относитса к разделу Общение!)!Нарушители данных правил могут быть лишены доступа на форум.Внимание! Этот пост сгенерирован роботом, и отвечать на него ненужно!','".$tema_id2."','".time()."')");
echo 'Тема успешно создана!
<br>
<a href="?act=them&id='.$tema_id2.'">В тему</a>
<div class="line"></div>
<a href="/forum.php">Форум</a>';
down();
exit;
}else{
foreach($err as $value){
echo "<center><font color='red'>".$value."</font></center>";
}
}
}
echo '
<form method="post" action="">
Название [2-50]:<br />
<input type="text" class="text" name="name"><br />
Сообщение [2-1024]:<br />
<textarea class="text" rows="2" cols="30" name="msg"></textarea><br />
<input type="submit" class="submit" value="Создать">
</form>
';
}else{
//Если раздела не существует
header('Location: /forum.php');
}
}else{
//Если пустой параметр $_GET[id]
header("Location: /forum.php");
}
}else{
//Если пользователь не авторизирован
header("Location: /?");
}
//Начало форума
echo '
<div class="line"></div>
<a href="/forum.php">Форум</a>';
down();
//Конец новой темы
break;
default : header("Location: /?");
}
exit;
}
include 'inc/mysql.php';//БД
include 'inc/check.php';//Сессии
include 'inc/functions.php'; //Стиль и кодировка
top();
include 'inc/account.php';//Пользовательская переменная account
include 'inc/interface.php';
echo '
Общий форум
<div class="line"></div>';
if (isset($_SESSION['auth']) && $_SESSION['auth']==1){
$q=mysql_query("SELECT * FROM `forum_razdel`");//Формируем запрос
while($result=mysql_fetch_array($q)){
//Выводим список
if ($result['type']=='razdel_name'){
//Если это общее название нескольких разделов
echo '<u><b>'.$result['name'].'</b></u><br />';
}else{
//Иначе если это раздел с темами
$count=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_theme` WHERE `id_razdel`='".$result['id']."'"),0);
echo '<a href="/forum.php?act=razdel&id='.$result['id'].'">'.$result['name'].'</a> ('.$count.')<br />';
}
}
$new =mysql_result(mysql_query('SELECT COUNT(*) FROM `forum_mess` WHERE `time`>"'.(time()-3600-3600-3600-3600-3600-3600).'"'),0);
echo '
<div class="line"></div>
<a href="?act=new">Последние сообщения форум <b>('.$new.')</b></a>';
if ($account['status']=='moder'){
echo '<br /><a href="?act=adm">Админка</a>';
}
}else{
header('Location: /?');
}
down();
//Конец форума
?>