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

Размер файла: 43.97Kb
<?
include('../core/core.php');
include(BASEDIR.INC.'func.php');
include(BASEDIR.INC.'session.php');
include(BASEDIR.INC.'session_user.php');
$mode = htmlspecialchars($_GET['mode']);
include(BASEDIR.INC.'head.php');
$id = abs(htmlspecialchars($_GET['id']));
$themes = abs(htmlspecialchars($_GET['themes']));
include(BASEDIR.INC.'session_forum.php');
if(check($_GET['end']) == 'end'){

$qz=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_topic` WHERE topic = '".$id."'"),0);  
$totale = intval(($qz - 1) / 10) + 1;  
header("Location: /forum/?mode=topic&themes=".$themes."&id=".$id."&page=".$totale."");

}
/*
------------------------------------------------------
Начало работы, инклудим главные данные
------------------------------------------------------
*/
echo'<style>#txt {border-left: 8px solid #e2e2e2; padding-left: 4px; margin-left: 4px; text-indent: 2mm; font-size:  0.9em; color: #272727;}
.hide {
	color : #465584;
	background : #eef2f7;
	border: 1px dotted #81bef7;
	font-size: x-small;
	padding: 3px; 
}
.d { 
	background-color : #f1f2f1; 
	border-style : dotted; 
	border-width : 1px; 
	border-color : #b8c1b7; 
	padding : 10px; 
	padding-left : 30px; 
	background-repeat : repeat-y; 
	font-size : 11px; 
	display : block; 
	overflow : auto; 
}</style>';
$menu = 'Новые: <a href="/forum/?mode=new_themes">темы</a> | <a href="/forum/?mode=new_topic">сообщения</a> <br />
Мои: <a href="/forum/?mode=my_themes">темы</a> | <a href="/forum/?mode=my_topic">сообщения</a>';
$t_menu = '<a href="?mode=index">Форум</a> / <a href="?mode='.$mode.'&id='.$id.'">Обновить</a> / <a href="?mode=themes_add&id='.$id.'">Создать тему</a>';
$g_menu = '<a href="?mode=index">Форум</a> / <a href="?mode='.$mode.'&themes='.$themes.'&id='.$id.'&page='.$page.'">Обновить</a>';
echo '<div class="razdel">Форум</div>';
switch ($mode):
/*
------------------------------------------------------
Выбор гланой темы
------------------------------------------------------
*/
case 'index':
show_title('Форум');
echo'<div class="menu">';
echo $menu;
echo'</div>';
$sql = mysql_query('SELECT * FROM `forum` ORDER BY `id` DESC');
while($row = mysql_fetch_assoc($sql))
{ 
echo'<div class="menu"><img src="/images/Forum.gif" alt=""> <a href="/forum/?mode=themes&id='.$row['id'].'">'.$row['themes'].'</a> ['.index_to('forum_themes','forum',$row['id']).'/'.index_to('forum_topic','themes',$row['id']).']<hr>';
echo'Тема: ';if($row['pod_themes'] == NULL){echo'Темы ещё не созданы';} else {echo $row['pod_themes'];}echo'<br />
Сообщение: ';if($row['login'] == NULL){echo'Нет';} else {echo '<a href="/users/profile.php?user='.$row['login'].'">'.$row['login'].'</a> ('.$row['data'].')';}
echo'</div>';
}
echo'<div class="menu">';
echo'Всего сообщений ('.index('forum_topic').')<br />
Всего тем ('.index('forum_themes').')';
if(is_admin(array(101))){echo'<br /><a href="/forum/?mode=forum">Управление</a>';}
echo'</div>';
break;
/*
------------------------------------------------------
Выбор темы
------------------------------------------------------
*/
case 'themes': 
if($id == NULL){echo'Тема не выбрана!</div>';} else {
echo $t_menu;
$t = mysql_query("select * from `forum` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
if($t['id'] == !NULL){
echo'<div class="menu"><strong>'.$t['themes'].'</strong></div>';
show_title($t['themes']);
define('TOPAGE',10);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_themes` WHERE forum = '$id'"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT * FROM `forum_themes` WHERE forum = '$id' ORDER BY `id` DESC LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){ 

$t=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_topic` WHERE topic = '".$u['id']."'"),0);  
$tot = intval(($t - 1) / 10) + 1;  
if($u['krep'] == 1){ $img = '<img src="/images/forum/lock.gif" alt="">'; } else {if($u['status'] == 'on'){$img = '<img src="/images/forum/topics.gif" alt="">';} else {$img = '<img src="/images/forum/closed.gif" alt="">';}}
if($u['krep'] == 1){
echo'<div class="menu"> '.$img.' <a href="/forum/?mode=topic&themes='.$id.'&id='.$u['id'].'&page='.$tot.'">'.$u['themes'].'</a> ['.index_to('forum_topic','topic',$u['id']).'] </div>';
echo'<div class="menu">';
echo''.$u['pod_themes'].'<br />
Посл. соб: <a href="/users/profile.php?user='.$u['login'].'"><strong>'.$u['login'].'</strong></a>';

echo'</div>';}
if($u['krep'] == 0){
echo'<div class="menu"> '.$img.' <a href="/forum/?mode=topic&themes='.$id.'&id='.$u['id'].'&page='.$tot.'">'.$u['themes'].'</a> ['.index_to('forum_topic','topic',$u['id']).']</div>
<div class="menu">';
echo''.$u['pod_themes'].'<br />
Посл. соб: <a href="/users/profile.php?user='.$u['login'].'"><strong>'.$u['login'].'</strong></a>';
echo'</div>';}
}  
      if ($page != $total) $nextpage = ' <a href="/forum/?mode=themes&id='.$id.'&page='. ($page + 1) .'">Далее</a>';  
      if($page - 1 > 0) $pageback = '<a href="/forum/?mode=themes&id='.$id.'&page='. ($page - 1) .'">Назад</a> ';  
        
echo'</div>'.$pageback.' '.$nextpage.'';
} else {echo'<div class="menu">Темы не существует!</div>'; }
}
break;
/*
------------------------------------------------------
Вывод всех постов,написание нового поста
------------------------------------------------------
*/
case 'topic': 
$t = mysql_query("select * from `forum_themes` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
$z = mysql_query("select * from `forum` where `id` = '".$themes."'");
$z = mysql_fetch_assoc($z);
if($t['id'] == !NULL){
echo $g_menu;
show_title($t['themes']);
echo'<div class="menu"><img src="/images/menu.gif" alt=""><strong>'.$z['themes'].'</strong> / <strong>'.$t['themes'].'</strong>'; 
if(is_admin()){echo'<a href="/forum/?mode=menu_themes&id='.$id.'"> [i]</a>';} 
if($t['mail_login'] == $_COOKIE['login'] && $t['status'] == 'on'){ echo' <a href="/forum/?mode=closed&id='.$id.'">Закрыть тему</a>'; }        
if(is_admin()){if($t['status'] == 'off'){echo' <a href="/forum/?mode=open&id='.$id.'">Открыть тему</a>';}}
echo'</div>';
define('TOPAGE',10);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_topic` WHERE topic = '$id'"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT * FROM `forum_topic` WHERE topic = '$id' ORDER BY `id`  LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){
echo'<div class="menu">';
$p = mysql_query('SELECT * FROM session_user WHERE user = "'.$u['login'].'"');
if(mysql_num_rows($p) != 0){ $on ='[<font color="green">On</font>]'; } else { $on ='[<font color="red">Off</font>]'; }
$li =mysql_query("SELECT * FROM users WHERE `login`='".$u['login']."';");
$li = mysql_fetch_assoc($li);
if($li['avatar_mini'] == NULL){ $avatar ='/images/noavatar.gif'; } else {$avatar = ''.$li['avatar_mini'].'';}  
echo'<div style="overflow: hidden"><div style="float: left"><img src="'.$avatar.'"></div> <a href="/users/profile.php?user='.$u['login'].'">'.$u['login'].'</a><br />
'.$u['data'].' '.$on.'</div><hr>';
if($u['privat'] == !NULL){
if($_COOKIE['login'] == $u['privat'] || $_COOKIE['login'] == $u['login']){
echo''.$u['message'].'';
if(!empty($u['edit'])){echo $u['edit'];}
 } else { echo'Приватное сообщение, видит только адресат...'; }
 } else {
 echo''.$u['message'].'';
 if(!empty($u['edit'])){echo $u['edit'];}
 }
echo'<div align="right">';
if(is_user()) {
if($u['login'] == $_COOKIE['login']){} else { echo'[<a href="/pages/spam.php?mode=forum&id='.$u['id'].'">Спам</a>]';
if($t['status'] == 'on'){echo'[<a href="/forum/?mode=otvet_topic&id='.$u['id'].'">отв</a>][<a href="/forum/?mode=c_topic&id='.$u['id'].'">цит</a>]'; } }
if(is_admin() || $u['time'] >= time() && $u['login'] == $_COOKIE['login']){ echo'[<a href="/forum/?mode=edit_topic&id='.$u['id'].'">изм</a>]'; }
if(is_admin()){echo'[<a href="/forum/?mode=topic_dell&id='.$u['id'].'">удал</a>]';}
}
echo'</div></div>';
}  
       if ($page != $total) $nextpage = ' <a href="/forum/?mode=topic&themes='.$themes.'&id='.$id.'&page='. ($page + 1) .'">Далее</a>';  
      if($page - 1 > 0) $pageback = '<a href="/forum/?mode=topic&themes='.$themes.'&id='.$id.'&page='. ($page - 1) .'">Назад</a> ';  
if($t['status'] == 'on'){
echo'<div class="menu">';
if(is_user()){
echo'<form action="/forum/?mode=add_topic&themes='.$themes.'&id='.$id.'" name="1" method="post">';
echo'Сообщение: (<a href="/pages/smiles.php">смайлы</a> / <a href="/pages/bb.php">теги</a>)<br />
<TEXTAREA NAME="message" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; "></TEXTAREA><br />';
echo'<input type="submit" name="submit" id="submit"  value="Написать">
</form>';
echo'<form method="post" action="/forum/?mode=upload&themes='.$themes.'&id='.$id.'" enctype="multipart/form-data">
Выберите файл :<br>
<input name="filename" type="file"><br>
<input type="submit" name="submit"  value="Загрузить">
</form>';
} else {
echo'Вы не авторизованы, чтобы добавить сообщение, необходимо
<a href="/pages/user.php/forum/?mode=index">Авторизоваться</a> или в начале <a href="/pages/user.php/forum/?mode=reg">Зарегистрироваться</a>'; }
} else {echo'</div><div class="menu"><img src="/images/forum/error.gif"> <strong>Данная тема закрыта для обсуждения!</strong></div>'; }  		
echo'</div>'.$pageback.' '.$nextpage.'';
} else {echo'<div class="menu">Темы не существует!</div>'; }

break;
/*
------------------------------------------------------
Закрытие темы пользователем.
------------------------------------------------------
*/
case 'closed': 
show_title('Закрытие темы');
echo'<div class="menu">';
$t = mysql_query("select * from `forum_themes` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
if($t['login'] == $_COOKIE['login']){
if(is_user()){

mysql_query('UPDATE `forum_themes` SET `status`="off" WHERE `id` = "'.$id.'"');
header("Location: /forum/?mode=themes&id=".$t['forum']."");
} else {echo'Вы должны быть авторизованы!';}
} else {echo'Не вы создавали тему, не вам ее закрывать!';}
echo'</div>';
break;
/*
------------------------------------------------------
Открытие темы пользователем.
------------------------------------------------------
*/
case 'open': 
show_title('Открытие темы');
echo'<div class="menu">';
$t = mysql_query("select * from `forum_themes` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
if(is_admin()){
mysql_query('UPDATE `forum_themes` SET `status`="on" WHERE `id` = "'.$id.'"');
header("Location: /forum/?mode=themes&id=".$t['forum']."");
} else {echo'Вы должны быть авторизованы!';}
echo'</div>';
break;

/*
------------------------------------------------------
Загрузка,прикрепление файла
------------------------------------------------------
*/
case 'upload': 
show_title('Прикрепление файлов');
echo'<div class="menu">';
if(is_user()){
$file = basename($_FILES['filename']['name']);
$filename = '../obmen/forum/'.$file.'';
if($file == '.htaccess' || $file == 'index.php'){echo'Ошибка! Файл входит в состав запрещеных!';} else {
if (file_exists($filename)) { echo'Файл уже существует!'; } else {
$siize = basename($_FILES['filename']['size']); 
$a = $siize / 1024;
$otvet = round($a, 2);
if($otvet > 2048){echo ("Размер файла превышает 2 Mб");exit;}
   // Проверяем загружен ли файл
   if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
   {
     // Если файл загружен успешно, перемещаем его
     // из временной директории в конечную
     move_uploaded_file($_FILES["filename"]["tmp_name"], "../obmen/forum/".$_FILES["filename"]["name"]);
$login = $_COOKIE['login'];
$data = date("d.m.Y / H:i");
$message = "<u>Прикрепленый файл</u><br /><a href='/forum/down.php?file=".$file."'>".$file."</a> [".$otvet." kb]";
mysql_query('INSERT INTO `forum_topic`(`themes`, `topic`, `login`, `message`, `data`,`time`) VALUES ("'.$themes.'","'.$id.'","'.$login.'","'.$message.'","'.$data.'","'.$time.'")');
mysql_query('UPDATE `forum_themes` SET `login`="'.$login.'", `pod_themes`="'.$data.'",`time`="'.time().'" WHERE `id` = "'.$id.'"');
$q=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_topic` WHERE topic = '$id'"),0);  
$total = intval(($q - 1) / 10) + 1;  
echo'<div class="menu">Файл успешно загружен!<br /><a href="/forum/?mode=topic&themes='.$themes.'&id='.$id.'&end=end">Назад в тему</a></div>';
} else {echo("Ошибка загрузки файла");}}}
} else {echo'Вы должны быть авторизованы!';}
   echo'</div>';
break;
/*
------------------------------------------------------
Создание нового поста
------------------------------------------------------
*/
case 'add_topic': 
show_title('Новое сообщение');
$message = check($_POST['message']);
if(!empty($message)){
if(is_user()){
$s = $_SESSION['antiflood'] - time();
if($_SESSION['antiflood'] >= time()){echo'Антифлуд! Разрешается отправлять сообщения раз в 30 секунд!<br />
Осталось: >'.formattime($s).'</div>';
}else{
$login = $_COOKIE['login'];
$data = date("d.m.Y / H:i");
$message = no_br($message);
$message = bb($message);
$message = antimat($message);
$message = smiles($message);
$message = str_replace('&amp;amp;','&',$message);
$time = time() + (60 * 15);
mysql_query('INSERT INTO `forum_topic`(`themes`, `topic`, `login`, `message`, `data`,`time`) VALUES ("'.$themes.'","'.$id.'","'.$login.'","'.$message.'","'.$data.'","'.$time.'")');
mysql_query('UPDATE `forum_themes` SET `login`="'.$login.'", `pod_themes`="'.$data.'",`time`="'.time().'" WHERE `id` = "'.$id.'"');
$q=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_topic` WHERE topic = '".$id."'"),0);  
$total = intval(($q - 1) / 10) + 1;  
header("Location: /forum/?mode=topic&themes=".$themes."&id=".$id."&end=end");
$_SESSION['antiflood'] = time() + ANTIFLOOD;
echo activ($_COOKIE['login']);
echo rating_plus($_COOKIE['login'],1);
}
} else {echo'Вы не авторизованы, для создания новой темы, необходимо
<a href="/user/">Авторизоваться</a> или в начале <a href="/user/reg.php">Зарегистрироваться</a>';}
} else {echo'Вы ничего не ввели!</div>'; }  
break;
/*
------------------------------------------------------
Новая тема
------------------------------------------------------
*/
case 'themes_add':
show_title('Новая тема');
echo'<div class="menu">';
if($id == NULL){echo'Тема не выбрана!</div>';} else { 
if(is_user()){
$t = mysql_query("select * from `forum` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
echo'<strong>'.$t['themes'].'</strong><br /><br />';
echo'<form action="/forum/?mode=add_themes&id='.$id.'" method="post">';
echo'<strong>Заполните все поля</strong><br />';
echo'
Название новой темы:<br />
<input type="text" name="name" value="" size="20" maxlength="35" /><br />
Текст первого поста:<br />
<TEXTAREA NAME="message" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; "></TEXTAREA>'; 
echo'<input type="submit" name="submit" id="submit"  value="Создать">
</form>';
echo'</div>';
} else {echo'Вы не авторизованы, для создания новой темы, необходимо
<a href="/pages/user.php/forum/?mode=index">Авторизоваться</a> или в начале <a href="/pages/user.php/forum/?mode=reg">Зарегистрироваться</a></div>';}
}
break;
case 'add_themes':
show_title('Новая тема');
$name = htmlspecialchars($_POST['name']);
$message = check($_POST['message']);
if(!empty($message) && !empty($name)){
if(is_user()){
$login = $_COOKIE['login'];
$data = date("d.m.Y / H:i");
$message = no_br($message);
$message = bb($message);
$message = antimat($message);
$message = smiles($message);
$message = str_replace('&amp;amp;','&',$message);

mysql_query('UPDATE `forum` SET `login`="'.$login.'", `pod_themes`="'.$name.'",`data`="'.$data.'" WHERE `id` = "'.$id.'"');
$sql = mysql_query('SELECT * FROM `forum_themes` ORDER BY `id` DESC LIMIT 1'); $sql = mysql_fetch_assoc($sql); $next = $sql['id'] + 1;
mysql_query('INSERT INTO `forum_themes`(`id`,`forum`, `themes`, `login`, `pod_themes`, `status`, `krep`,`mail_login`,`time`) VALUES ("'.$next.'","'.$id.'","'.$name.'","'.$login.'","'.$data.'","on","0","'.$login.'","'.time().'")');
$time = time() + (60 * 15);
mysql_query('INSERT INTO `forum_topic`(`themes`, `topic`, `login`, `message`, `data`, `time`) VALUES ("'.$id.'","'.$next.'","'.$login.'","'.$message.'","'.$data.'","'.$time.'")');
echo activ($_COOKIE['login']);
echo rating_plus($_COOKIE['login'],1);

header("Location: /forum/?mode=topic&themes=".$id."&id=".$next."");
} else {echo'Вы не авторизованы, для создания новой темы, необходимо
<a href="/pages/user.php/forum/?mode=index">Авторизоваться</a> или в начале <a href="/pages/user.php/forum/?mode=reg">Зарегистрироваться</a></div>';}
} else {echo'Вы ничего не ввели!</div>'; }  
break;
/*
------------------------------------------------------
Настройка темы
------------------------------------------------------
*/
case 'menu_themes':
show_title('Настройки темы');
echo'<div class="menu">';
if(is_admin()){
$t = mysql_query("select * from `forum_themes` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
echo'<strong>'.$t['themes'].'</strong><br /><br />';
echo'<form action="/forum/?mode=edit_1&id='.$id.'" method="post">';
echo'<strong>Изменяем тему</strong><br /><br />
Название темы:<br />
<input type="text" name="name" value="'.$t['themes'].'" size="20" maxlength="35" /><br />
Парамет темы 1<br />
<select name="krep">';
if($t['krep'] == 0){echo'<option value="0">Откреплена</option><option value="1">Закреплена</option>';} else {echo'<option value="1">Закреплена</option><option value="0">Откреплена</option>';}
echo'</select><br />
Парамет темы 2<br />
<select name="open">';
if($t['status'] == 'on'){echo'<option value="on">Открыта</option><option value="off">Закрыта</option>';} else {echo'<option value="off">Закрыта</option><option value="on">Открыта</option>';}
echo'</select><br />';
echo'<input type="submit" name="submit" id="submit"  value="Изменить">
</form>';
echo'<form action="/forum/?mode=edit_2&id='.$id.'" method="post">';
echo'<select name="per">';
$sql = mysql_query('SELECT * FROM `forum`');
while($u=mysql_fetch_array($sql)){  
echo'<option value="'.$u['id'].'">'.$u['themes'].'</option>';
}
echo'</select><br />';
echo'<input type="submit" name="submit_1" id="submit"  value="Переместить">
</form>';
echo'<hr>
<a href="?mode=forum_del_them&id='.$id.'">Удалить тему</a>
';
echo'</div>';
} else {echo'Менять настройки темы можно только админ составу!';}
echo'</div>';
break;
case 'edit_1':
show_title('Настройки темы');
if(is_admin()){
$name = htmlspecialchars($_POST['name']);
$open = htmlspecialchars($_POST['open']);
$krep = htmlspecialchars($_POST['krep']);
mysql_query('UPDATE `forum_themes` SET `themes`="'.$name.'", `status`="'.$open.'",`krep`="'.$krep.'" WHERE `id` = "'.$id.'"');
echo'Данные изменены!</div>';
} else {echo'Менять настройки темы можно только админ составу!';}
break;
case 'edit_2':
show_title('Настройки темы');
if(is_admin()){
$per = htmlspecialchars($_POST['per']);
mysql_query('UPDATE `forum_themes` SET `forum`="'.$per.'" WHERE `id` = "'.$id.'"');
$t = mysql_query("select * from `forum_topic` where `topic` = '".$id."'");
while($u=mysql_fetch_array($t)){  
mysql_query('UPDATE `forum_topic` SET `themes`="'.$per.'" WHERE `id` = "'.$u['id'].'"');
}
echo'Данные изменены!</div>';
} else {echo'Менять настройки темы можно только админ составу!';}
break;
/*
------------------------------------------------------
Удаление поста
------------------------------------------------------
*/
case 'topic_dell':
if(is_admin()){
if($id == !NULL){
mysql_query('DELETE FROM `forum_topic` WHERE `id` = "'.$id.'"');
$ba = $_SERVER['HTTP_REFERER'];
header("Location: ".$ba."");
} else {echo'Сообщение не выбрано!</div>';} 
} else {echo'Удалять темы можно только админ составу!';}
break;
/*
------------------------------------------------------
Редактирование поста
------------------------------------------------------
*/
case 'edit_topic':
show_title('Изменения поста');
echo'<div class="menu">';
$t = mysql_query("select * from `forum_topic` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
if(is_admin() || $t['login'] == $_COOKIE['login'] && $t['time'] >= time()){
if($id == NULL){ echo'Сообщение не выбрано!</div>'; } else {
echo'<strong>Изменяем пост</strong><br />';
echo'<form action="/forum/?mode=topic_edit&id='.$id.'" method="post">';
echo'<TEXTAREA NAME="message" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; ">'.nosmiles($t['message']).'</TEXTAREA>'; 
echo'<input type="submit" name="submit_1" id="submit"  value="Изменить">
</form>';
} 
}else { echo'15 Минут уже прошло! Редактировать сообщение невозможно!'; }
echo'</div>';
break;
case 'topic_edit':
show_title('Изменения поста');
$message = check($_POST['message']);
if($message == ''){echo'Вы ничего не ввели!'; } else {
if(is_user()){
$message = no_br($message);
$message = bb($message);
$message = antimat($message);
$message = smiles($message);
$message = str_replace('&amp;amp;','&',$message);
$data = date("d.m.Y / H:i");
$text = '<br /><small><font color=red>Изменено <strong>'.$_COOKIE['login'].'</strong> '.$data.'</font></small>';
mysql_query('UPDATE `forum_topic` SET `message`="'.$message.'",`edit`="'.$text.'" WHERE `id` = "'.$id.'"');
$t = mysql_query("select * from `forum_topic` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
$q=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_topic` WHERE topic = '$id'"),0);  
$total = intval(($q - 1) / 10) + 1;  
header("Location: /forum/?mode=topic&themes=".$t['themes']."&id=".$t['topic']."&end=end");
} else {echo'Для начало надо зарегистрироватся!';}
}
echo'</div>';
break;
/*
------------------------------------------------------
Цитирование поста
------------------------------------------------------
*/
case 'c_topic':
show_title('Цитирование поста');
echo'<div class="menu">';
if($id == NULL){ echo'Сообщение не выбрано!'; } else {
$t = mysql_query("select * from `forum_topic` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
$z = mysql_query("select * from `forum_themes` where `id` = '".$t['topic']."'");
$z = mysql_fetch_assoc($z);
if($z['status'] == 'on'){
if($t['login'] == $_COOKIE['login']){ echo'Зачем цитировать свои же сообщения?'; } else {
echo'Текст сообщения<br />';
echo'<div id=txt>'.$t['message'].'</div>';
echo'<form action="/forum/?mode=topic_c&id='.$id.'" method="post">';
echo'<TEXTAREA NAME="message" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; "></TEXTAREA><br />'; 
echo'<input type="checkbox" name="ck1"> Оповестить по привату<br />
<input type="checkbox" name="ck2"> Приватно<br />'; 
echo'<input type="submit" name="submit_1" id="submit"  value="Цитировать">
</form>';
}
} else {echo'Тема закрыта!'; }
}
echo'</div>';
break;
case 'topic_c':
show_title('Цитирование поста');
if(is_user()){
$message = check($_POST['message']);if($message == ''){echo'Вы ничего не ввели!'; } else {
$t = mysql_query("select * from `forum_topic` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
$login = $_COOKIE['login'];
$data = date("d.m.Y / H:i");
$message = no_br($message);
$message = bb($message);
$message = antimat($message);
$message = smiles($message);
$message = str_replace('&amp;amp;','&',$message);

$text = '<div id=txt>'.$t['message'].'</div>'.$message.'';
$time = time() + (60 * 15);
if(isset($_POST['ck2'])){$privat = $t['login'];} else { $privat = NULL; }
mysql_query('INSERT INTO `forum_topic`(`themes`, `topic`, `login`, `message`, `data`,`time`,`privat`) VALUES ("'.$t['themes'].'","'.$t['topic'].'","'.$login.'","'.$text.'","'.$data.'","'.$time.'","'.$privat.'")');
mysql_query('UPDATE `forum_themes` SET `login`="'.$login.'", `pod_themes`="'.$data.'",`time`="'.time().'" WHERE `id` = "'.$t['topic'].'"');
$_SESSION['antiflood'] = time() + ANTIFLOOD;
echo activ($_COOKIE['login']);
echo rating_plus($_COOKIE['login'],1);
$q=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_topic` WHERE topic = '$id'"),0);  
$total = intval(($q - 1) / 10) + 1;  
header("Location: /forum/?mode=topic&themes=".$t['themes']."&id=".$t['topic']."&end=end");
if(isset($_POST['ck1'])){
$i = $_COOKIE['login'];
$log = $t['login'];
$data = date("d.m.Y H:i:s");
$y = mysql_query("select * from `forum_themes` where `id` = '".$t['topic']."'");
$y = mysql_fetch_assoc($y);
$msg = 'Пользователь <a href="/users/profile.php&user='.$i.'">'.$i.'</a> ответил на ваше сообщение в теме <a href="/forum/?mode=topic&themes='.$t['themes'].'&id='.$t['topic'].'&page='.$total.'">'.$y['themes'].'</a>';
mysql_query("INSERT INTO `send_mail`(`my_login`, `send_login`, `msg`, `data`) VALUES ('System','$log','$msg','$data')");
mysql_query("UPDATE `users` SET `my_mail`=`my_mail` + 1 WHERE login = '".$log."'");
}
}
} else {echo'Для начало надо зарегистрироватся!';}
break;
/*
------------------------------------------------------
Ответ на пост
------------------------------------------------------
*/
case 'otvet_topic':
show_title('Ответ');
echo'<div class="menu">';
if($id == NULL){ echo'Сообщение не выбрано!'; } else {
$t = mysql_query("select * from `forum_topic` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
$z = mysql_query("select * from `forum_themes` where `id` = '".$t['topic']."'");
$z = mysql_fetch_assoc($z);
if($z['status'] == 'on'){
if($t['login'] == $_COOKIE['login']){ echo'Зачем отвечать на свои же сообщения?'; } else {
echo'Текст сообщения<br />';
echo'<div id=txt>'.$t['message'].'</div>';
echo'<form action="/forum/?mode=topic_otvet&id='.$id.'" method="post">';
echo'<TEXTAREA NAME="message" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; "></TEXTAREA><br />';
echo'<input type="checkbox" name="ck1"> Оповестить по привату<br />
<input type="checkbox" name="ck2"> Приватно<br />'; 
echo'<input type="submit" name="submit_1" id="submit"  value="Ответить">
</form>';
}
} else {echo'Тема закрыта!'; }
}
echo'</div>';
break;
case 'topic_otvet':
show_title('Ответ');
if(is_user()){
$message = check($_POST['message']);if($message == ''){echo'Вы ничего не ввели!'; } else {
$t = mysql_query("select * from `forum_topic` where `id` = '".$id."'");
$t = mysql_fetch_assoc($t);
$login = $_COOKIE['login'];
$data = date("d.m.Y / H:i");
$message = no_br($message);
$message = bb($message);
$message = antimat($message);
$message = smiles($message);
$message = str_replace('&amp;amp;','&',$message);

$text = '<strong>'.$t['login'].'</strong>, '.$message.'';
$time = time() + (60 * 15);
if(isset($_POST['ck2'])){$privat = $t['login'];} else { $privat = NULL; }
mysql_query('INSERT INTO `forum_topic`(`themes`, `topic`, `login`, `message`, `data`,`time`,`privat`) VALUES ("'.$t['themes'].'","'.$t['topic'].'","'.$login.'","'.$text.'","'.$data.'","'.$time.'","'.$privat.'")');
mysql_query('UPDATE `forum_themes` SET `login`="'.$login.'", `pod_themes`="'.$data.'",`time`="'.time().'" WHERE `id` = "'.$t['topic'].'"');
$_SESSION['antiflood'] = time() + ANTIFLOOD;
echo activ($_COOKIE['login']);
echo rating_plus($_COOKIE['login'],1);
$q=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_topic` WHERE topic = '".$id."'"),0);  
$total = intval(($q - 1) / 10) + 1;  
header("Location: /forum/?mode=topic&themes=".$t['themes']."&id=".$t['topic']."&end=end");
//оповещаем по привату//
if(isset($_POST['ck1'])){
$i = $_COOKIE['login'];
$log = $t['login'];
$data = date("d.m.Y H:i:s");
$y = mysql_query("select * from `forum_themes` where `id` = '".$t['topic']."'");
$y = mysql_fetch_assoc($y);
$msg = 'Пользователь <a href="/users/profile.php&user='.$i.'">'.$i.'</a> ответил на ваше сообщение в теме <a href="/forum/?mode=topic&themes='.$t['themes'].'&id='.$t['topic'].'&page='.$total.'">'.$y['themes'].'</a>';
mysql_query("INSERT INTO `send_mail`(`my_login`, `send_login`, `msg`, `data`) VALUES ('System','$log','$msg','$data')");
mysql_query("UPDATE `users` SET `my_mail`=`my_mail` + 1 WHERE login = '".$log."'");
}
}
} else {echo'Для начало надо зарегистрироватся!';}
break;
/*
------------------------------------------------------
Новые посты
------------------------------------------------------
*/
case 'new_topic':
show_title('Новые сообщения');
echo'Список последних сообщений</div>';
$t = mysql_query("select * from `forum_topic` ORDER BY `id` DESC LIMIT 10");
while($u=mysql_fetch_array($t)){  
$z = mysql_query("select * from `forum_themes` where `id` = '".$u['topic']."'");
$z = mysql_fetch_assoc($z);

$q=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_topic` WHERE topic = '".$u['topic']."'"),0);  
$total = intval(($q - 1) / 10) + 1;  
echo'<div class="menu">'; if($z['status'] == 'on'){echo'<img src="/images/forum/topics.gif" alt="">';} else {echo'<img src="/images/forum/closed.gif" alt="">';} 
echo' <a href="/forum/?mode=topic&themes='.$u['themes'].'&id='.$z['id'].'&page='.$total.'">'.$z['themes'].'</a> </div><div class="menu">';

if($u['privat'] == !NULL){
if($_COOKIE['login'] == $u['privat'] || $_COOKIE['login'] == $u['login']){
echo''.$u['message'].'';
 } else { echo'Приватное сообщение, видит только адресат...'; }
 } else {
 echo''.$u['message'].'';
 }
echo'<br />Написал: <a href="/users/profile.php?user='.$u['login'].'">'.$u['login'].'</a> ('.$u['data'].')';
echo'</div>';
}
break;
/*
------------------------------------------------------
Новые темы
------------------------------------------------------
*/
case 'new_themes':
show_title('Новые темы');
echo' Список последних тем</div>';
$t = mysql_query("select * from `forum_themes` ORDER BY `id` DESC LIMIT 10");
while($u=mysql_fetch_array($t)){  
if($u['krep'] == 1){ $img = '<img src="/images/forum/lock.gif" alt="">'; } else {if($u['status'] == 'on'){$img = '<img src="/images/forum/topics.gif" alt="">';} else {$img = '<img src="/images/forum/closed.gif" alt="">';}}
if($u['krep'] == 1){
echo'<div class="menu"> '.$img.' <a href="/forum/?mode=topic&themes='.$id.'&id='.$u['id'].'&page='.$tot.'">'.$u['themes'].'</a> ['.index_to('forum_topic','topic',$u['id']).']</div>
<div class="menu">';
echo''.$u['pod_themes'].'<br />
Посл. соб: <a href="/users/profile.php?user='.$u['login'].'"><strong>'.$u['login'].'</strong></a>';
echo'</div>';}
if($u['krep'] == 0){
echo'<div class="menu"> '.$img.' <a href="/forum/?mode=topic&themes='.$id.'&id='.$u['id'].'&page='.$tot.'">'.$u['themes'].'</a> ['.index_to('forum_topic','topic',$u['id']).']</div>
<div class="menu">';
echo''.$u['pod_themes'].'<br />
Посл. соб: <a href="/users/profile.php?user='.$u['login'].'"><strong>'.$u['login'].'</strong></a>';
echo'</div>';}
}
break;
/*
------------------------------------------------------
Поиск
------------------------------------------------------
*/
case 'search':
show_title('Поиск');
echo'<div class="menu">';
if(is_user()){
echo'<form action="?mode=set" method="post">
Запрос:<br />
<input name="whot" type="text" maxlength="50" /><br />
Искать:<br />
<input name="isc" type="radio" value="message" checked/> В сообщениях<br />
<input name="isc" type="radio" value="themes" /> В темах<br />
<input name="" type="submit" value="Искать" />
</form>';
} else { echo'Вы не авторизованы, чтобы использовать поиск.'; }
echo'</div>';
break;
case 'set':
show_title('Поиск');
echo'<div class="menu">';
if(is_user()){
$whot = htmlspecialchars($_POST['whot']);
$isc = htmlspecialchars($_POST['isc']);
if(!empty($whot)){
if($isc == 'message'){
$q = mysql_query("SELECT * FROM `forum_topic` WHERE message LIKE '%$whot%';");
if(mysql_num_rows($q) != 0){  
while($r = mysql_fetch_assoc($q)){
echo'</div><div class="menu">';
echo '<a href="/users/profile.php?user='.$r['login'].'">'.$r['login'].'</a><hr>'.$r['message'].'';
echo'</div><div class="menu">';
}
} else {echo'Совпадений не найдено!'; }
} else {
$q = mysql_query("SELECT * FROM `forum_themes` WHERE themes LIKE '%$whot%';");
if(mysql_num_rows($q) != 0){  
while($r = mysql_fetch_assoc($q)){
echo'</div><div class="menu">';
echo 'Последние сообщение написал: <a href="/users/profile.php?user='.$r['login'].'">'.$r['login'].'</a><hr>'.$r['themes'].'';
echo'</div><div class="menu">';
}
} else {echo'Совпадений не найдено!'; }
}
} else { echo'Что ищем?...'; }
} else { echo'Вы не авторизованы, чтобы использовать поиск.'; }
echo'</div>';
break;
/*
------------------------------------------------------
Мои темы
------------------------------------------------------
*/
case 'my_themes':
$login = mysql_real_escape_string(htmlspecialchars($_GET['login']));
if($login == NULL){$login =  $_COOKIE['login']; show_title('Мои темы');} else { $login = $login; show_title('Темы '.$login.'');}

if(is_user()){

define('TOPAGE',10);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_themes` WHERE `mail_login`='".$login."'"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT * FROM `forum_themes` WHERE `mail_login`='".$login."' ORDER BY `id` DESC LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){ 
echo'<div class="menu">';
if($u['krep'] == 1){ $img = '<img src="/images/forum/lock.gif" alt="">'; } else {if($u['status'] == 'on'){$img = '<img src="/images/forum/topics.gif" alt="">';} else {$img = '<img src="/images/forum/closed.gif" alt="">';}}
echo $img.' <a href="?mode=topic&themes='.$u['forum'].'&id='.$u['id'].'&page='.$total.'">'.$u['themes'].'</a> ['.index_to('forum_topic','topic',$u['id']).']<br />
<a href="/users/profile.php?user='.$u['mail_login'].'">'.$u['mail_login'].'</a> / <a href="/users/profile.php?user='.$u['login'].'">'.$u['login'].'</a> ('.$u['pod_themes'].')';

echo'</div>';
}
if ($page != $total) $nextpage = ' <a href="?mode=index&page='. ($page + 1) .'">Далее</a>';  
if($page - 1 > 0) $pageback = '<a href="?mode=index&page='. ($page - 1) .'">Назад</a> ';  
if($q == 0){ echo'<div class="menu">Темы еще не созданы!!</div>'; }

echo''.$pageback.'  '.$nextpage.'';
} else { echo'<div class="menu">Вы не авторизованы!</div>'; }
break;
/*
------------------------------------------------------
Мои сообщения
------------------------------------------------------
*/
case 'my_topic':
$login = mysql_real_escape_string(htmlspecialchars($_GET['login']));
if($login == NULL){$login =  $_COOKIE['login']; show_title('Мои сообщения');} else { $login = $login; show_title('Сообщения '.$login.'');}
if(is_user()){

define('TOPAGE',10);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_topic` WHERE `login`='".$login."'"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT * FROM `forum_topic` WHERE `login`='".$login."' ORDER BY `id` DESC LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){ 
echo'<div class="menu">';
$login = $u['login'];
$li =mysql_query("SELECT * FROM users WHERE `login`='$login';");
$li = mysql_fetch_assoc($li);
if($li['status'] == 101){$st ='Администратор';}
if($li['status'] == 102){$st ='Помощник Администратора';}
if($li['status'] == 103){$st ='Модератор';}
if($li['status'] == 104){$st ='Помощник Модератора';}
if($li['status'] == 105){$st ='Пользователь';}
$them =mysql_query("SELECT * FROM forum WHERE `id`='".$u['themes']."';");
$them = mysql_fetch_assoc($them);
$top =mysql_query("SELECT * FROM forum_themes WHERE `id`='".$u['topic']."';");
$top = mysql_fetch_assoc($top);
echo'<a href="/users/profile.php?user='.$u['login'].'">'.$u['login'].'</a><br />
<strong>'.$st.'</strong><br />
<a href="?mode=themes&id='.$u['themes'].'">'.$them['themes'].'</a> > <a href="?mode=topic&themes='.$u['themes'].'&id='.$u['topic'].'">'.$top['themes'].'</a><hr>';
if($u['privat'] == NULL){ echo $u['message'];} else {
if($u['privat'] == $_COOKIE['login']){  echo $u['message'];} else { 
echo'Приватное сообщение, видит только адресат...';
}
}
echo'</div>';
}
if ($page != $total) $nextpage = ' <a href="?mode=index&page='. ($page + 1) .'">Далее</a>';  
if($page - 1 > 0) $pageback = '<a href="?mode=index&page='. ($page - 1) .'">Назад</a> ';  
if($q == 0){ echo'<div class="menu">Темы еще не созданы!!</div>'; }

echo''.$pageback.'  '.$nextpage.'';
} else { echo'<div class="menu">Вы не авторизованы!</div>'; }
break;
/*
------------------------------------------------------
Кто на форуме?
------------------------------------------------------
*/
case 'who':
show_title('Кто на форуме?');
define('TOPAGE',10);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `session_forum`"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT * FROM `session_forum` LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){ 
echo'<div class="menu">';
echo '<a href="/users/profile.php?user='.$u['user'].'">'.$u['user'].'</a>';

echo'</div>';
}
if ($page != $total) $nextpage = ' <a href="?mode='.$mode.'&page='. ($page + 1) .'">Далее</a>';  
if($page - 1 > 0) $pageback = '<a href="?mode='.$mode.'&page='. ($page - 1) .'">Назад</a> ';  
if($q == 0){ echo'<div class="menu">Никого нету(</div>'; }

echo''.$pageback.'  '.$nextpage.'';
break;
/*
------------------------------------------------------
Админка
------------------------------------------------------
*/
case 'forum':
show_title('Админка');
if(is_admin(array(101))){
echo' Список форумов: (<a href="/forum/?mode=forum_add">Добавить</a>)</div>';
$t = mysql_query("select * from `forum`");
while($u=mysql_fetch_array($t)){  
echo'<div class="menu">'.$u['id'].'. '.$u['themes'].' [<a href="/forum/?mode=forum_dell&id='.$u['id'].'">удал</a>][<a href="/forum/?mode=forum_edit&id='.$u['id'].'">изм</a>]</div>';
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
case 'forum_dell':
show_title('Админка');
if(is_admin(array(101))){
if($id == NULL){ echo'Сообщение не выбрано!</div>'; } else {
//----------Удаляем посты-------------//
$z = mysql_query("select * from `forum_topic` where `themes` = '".$id."'");
while($y=mysql_fetch_array($z)){  
mysql_query('DELETE FROM `forum_topic` WHERE `id` = "'.$y['id'].'"');
}
//---------Удаляем под темы ---------//
$t = mysql_query("select * from `forum_themes` where `forum` = '".$id."'");
while($u=mysql_fetch_array($t)){  
mysql_query('DELETE FROM `forum_themes` WHERE `id` = "'.$u['id'].'"');
}
//--------Удаляем основную тему-----//
mysql_query('DELETE FROM `forum` WHERE `id` = "'.$id.'"');// удаление главной темы
header("Location: /forum/?mode=forum");
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
case 'forum_edit':
show_title('Админка');
$name = htmlspecialchars($_POST['name']);
if(is_admin(array(101))){
if($name == ''){
$z = mysql_query("select * from `forum` where `id` = '".$id."'");
$z = mysql_fetch_assoc($z);
echo'<form action="/forum/?mode=forum_edit&id='.$id.'" method="post">';
echo'<input name="name" type="text" value="'.$z['themes'].'" size="30" maxlength="50" />'; 
echo'<input type="submit" name="submit_1" id="submit"  value="Изменить!">
</form>';
echo'</div>';
} else {
mysql_query('UPDATE `forum` SET `themes`="'.$name.'" WHERE `id` = "'.$id.'"');
header("Location: /forum/?mode=forum");
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
case 'forum_add':
show_title('Админка');
if(is_admin(array(101))){
$name = htmlspecialchars($_POST['name']);
if($name == NULL){
echo'<form action="/forum/?mode=forum_add" method="post">';
echo'<input name="name" type="text" value="" size="30" maxlength="50" />'; 
echo'<input type="submit" name="submit_1" id="submit"  value="Добавить!">
</form>';
echo'</div>';
} else {
mysql_query('INSERT INTO `forum`(`themes`) VALUES ("'.$name.'")');
header("Location: /forum/?mode=forum");
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
case 'forum_del_them':
if(is_admin(array())){
mysql_query('DELETE FROM `forum_topic` WHERE `topic` = "'.$id.'"');
mysql_query('DELETE FROM `forum_themes` WHERE `id` = "'.$id.'"');
header ('location: ?mode=index'); 
} else {echo'Вход разрешен только админ составу!</div>';}
break;
default: 
header ('location: ?mode=index'); 
endswitch;
echo'<div class="menu"><a href="/pages/prav.php">Правила</a> | <a href="?mode=search">Поиск</a> | <a href="?mode=who">Кто на форуме?</a> ('.index('session_forum').')</div>';
echo'<div class="menu"><a href="/">На главную</a></div>';
include(BASEDIR.INC.'foot.php');
?>