- <?
- 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']));
-
- /*
- ------------------------------------------------------
- Начало работы, инклудим главные данные
- ------------------------------------------------------
- */
- echo'<style>#txt {border-left: 8px solid #e2e2e2; padding-left: 4px; margin-left: 4px; text-indent: 2mm; font-size: 0.9em; color: #272727;}</style>';
- $menu = 'Новые: <a href="/forum/?mode=new_themes">темы</a> | <a href="/forum/?mode=new_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.'&id='.$id.'">Обновить</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'';}
- 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'].'';
- } else { echo'Приватное сообщение, видит только адресат...'; }
- } else {
- echo''.$u['message'].'';
- }
- echo'<div align="right">';
- if(is_user()) {
- if($u['login'] == $_COOKIE['login']){} else {
- 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.'" 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.'&page='.$total.'">Назад в тему</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 = antimat($message);
- $message = smiles($message);
- $message = bb($message);
- $message = no_br($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.'" 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."&page=".$total."");
- $_SESSION['antiflood'] = time() + 30;
- 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 = htmlspecialchars($_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 = antimat($message);
- $message = smiles($message);
- $message = bb($message);
- mysql_query('UPDATE `forum` SET `login`="'.$login.'", `pod_themes`="'.$name.'",`data`="'.$data.'" WHERE `id` = "'.$id.'"');
- mysql_query('INSERT INTO `forum_themes`(`forum`, `themes`, `login`, `pod_themes`, `status`, `krep`,`mail_login`) VALUES ("'.$id.'","'.$name.'","'.$login.'","'.$data.'","on","0","'.$login.'")');
- $sql = mysql_query('SELECT * FROM `forum_topic` ORDER BY `topic` DESC LIMIT 1'); $sql = mysql_fetch_assoc($sql); $next = $sql['topic'] + 1;
- $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 = htmlspecialchars($_POST['message']);
- if($message == ''){echo'Вы ничего не ввели!'; } else {
- if(is_user()){
- $message = antimat($message);
- $message = smiles($message);
- $message = bb($message);
- $data = date("d.m.Y / H:i");
- $text = ''.$message.'<br /><small><font color=red>Изменено <strong>'.$_COOKIE['login'].'</strong> '.$data.'</font></small>';
- mysql_query('UPDATE `forum_topic` SET `message`="'.$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']."&page=".$total."");
- } 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 = htmlspecialchars($_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 = antimat($message);
- $message = smiles($message);
- $message = bb($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.'" WHERE `id` = "'.$t['topic'].'"');
- $_SESSION['antiflood'] = time() + 30;
- 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']."&page=".$total."");
- 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['themes']."'");
- $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 ('$i','$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 = htmlspecialchars($_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 = antimat($message);
- $message = smiles($message);
- $message = bb($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.'" WHERE `id` = "'.$t['topic'].'"');
- $_SESSION['antiflood'] = time() + 30;
- 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']."&page=".$total."");
- //оповещаем по привату//
- 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['themes']."'");
- $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 ('$i','$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 '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></div>';
- echo'<div class="menu"><a href="/">На главную</a></div>';
- include(BASEDIR.INC.'foot.php');
- ?>