Файл: clik.online/forum.php
Строк: 448
<?php
/**
* @author: Egor Smolyakov, 2012.
* @e-mail: mr.stelhammer@gmail.com
*/
defined('ROOT') or define('ROOT', str_replace('\', '/', realpath(dirname (__FILE__))));
require_once ROOT . '/system/init.php'; // инициализация ядра
if(!$is_user) redir(HOST.'/login/');
switch ($act) {
default:
page_head('Форум'); // название страницы
if($user['admin']) {
if(isset($_GET['tab'])) {
if(!empty($_POST['name'])) {
$name = protect($_POST['name']);
$desc = protect($_POST['desc']);
$oe = floatval($_POST['out']);
DB :: run() -> query ("INSERT INTO `forum_category` SET `title` = ?, `description` = ?, `open_theme` = ?", array($name, $desc, $oe) );
echo '<div class="menu">Раздел успешно создан.</div>';
}
echo '<div class="menu">
<form action="'.HOST.'/forum/?tab" method="POST">
Название раздела:<br />
<input type="text" name="name"/><br />
Описание раздела:<br />
<textarea name="desc" type="text"></textarea><br />
Создание тем запрещено:<br />
<input type="radio" value="0" name="out" checked="check"/> Нет<br />
<input type="radio" value="1" name="out"/> Да<br />
<input type="submit" value="Создать" /><br />
</form>
</div>';
echo '<div class="menu"><a href="'.HOST.'/forum/">Разделы форума</a></div>';
page_foot();
}else{
echo '<div class="menu"><a href="'.HOST.'/forum/?tab">Создать раздел</a></div>';
}
}
$querypost = DB :: run() -> query("SELECT * FROM `forum_category` ORDER BY `id` DESC;");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `forum_category`;");
if ($total > 0) {
echo '<div class="menu"><a href="'.HOST.'/forum/?act=search">Поиск</a> / Мои: <a href="'.HOST.'/forum/?act=my_themes">темы</a>, <a href="'.HOST.'/forum/?act=my_messages">сообщения</a> / Новые: <a href="'.HOST.'/forum/?act=new_themes">темы</a>, <a href="'.HOST.'/forum/?act=new_messages">сообщения</a></div>';
echo '<div class="menu">Разделы</div>';
while ($for = $querypost -> fetch()) {
echo '<div class="menu"><a href="'.HOST.'/forum/?act=forum&id='.$for['id'].'">'.$for['title'].'</a> ['.$for['count_themes'].'/'.$for['count_messages'].']';
if($user['admin']) echo ' <a href="'.HOST.'/admin/?act=forum&edit='.$for['id'].'">Редактировать</a> / <a href="'.HOST.'/admin/?act=forum&delete='.$for['id'].'">Удалить</a>';
if(!empty($for['description'])) echo '<br />'.$for['description'];
echo '</div>';
}
} else {
echo '<div class="menu">Разделы форума не созданы.</div>';
}
break;
// читаем тему
case 'theme':
if (isset($_GET['id'])) {
$queryread = DB :: run() -> query("SELECT * FROM `forum_themes` WHERE `id`=? LIMIT 1;", array(intval($_GET['id'])));
$data = $queryread -> fetch();
if ($data > 0) {
page_head('Тема - '.$data['title']); // название страницы
echo '<div class="menu">Сообщения</div>';
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/forum/?act=theme&id='.$data['id'].'&',$set['count_pages']);
$querypost = DB :: run() -> query("SELECT * FROM `forum_messages` WHERE `theme_id` = '".$data['id']."' ORDER BY `id` ASC LIMIT ".$nav->start().", ".$nav->pnumber.";");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `forum_messages` WHERE `theme_id` = '".$data['id']."';");
if ($total > 0) {
while ($messages = $querypost -> fetch()) {
echo '<div class="menu">';
echo '<a href="'.HOST.'/mail/?act=send&login='.$messages['user_login'].'"><b>'.$messages['user_login'].'</b></a> ['.view_date($messages['time_post']).']';
if($user['login'] != $messages['user_login']) echo ' <a href="'.HOST.'/forum/?act=message&tid='.$data['id'].'&reply='.$messages['user_login'].'">Ответить</a> / <a href="'.HOST.'/forum/?act=message&tid='.$data['id'].'"e='.$messages['id'].'">Цитировать</a>';
echo '<br />
'.nl2br(bbcode(bblinks($messages['message']))).'<br />
';
if($user['admin']) echo '<a href="'.HOST.'/admin/?act=forum&delmessage='.$messages['id'].'">Удалить</a> / ';
if($user['admin'] || ($user['login'] == $messages['user_login']) && $messages['time_post'] > ( TIME-600)) echo '<a href="'.HOST.'/forum/?act=edit_message&mid='.$messages['id'].'">Редактировать</a><br />';
if(!empty($messages['filename'])) {
$filesize = filesize(ROOT.'/misc/forumfiles/'.$messages['filename']);
echo 'Файл: <a href="'.HOST.'/misc/forumfiles/'.$messages['filename'].'">'.$messages['original_filename'].'</a> ('.size_data($filesize).')';
}
echo '</div>';
}
} else {
echo '<div class="menu">Сообщений в теме нет.</div>';
}
echo $nav->navi($total,0);
echo '<div class="menu">';
if($data['close'] == 0) echo '<a href="'.HOST.'/forum/?act=message&tid='.$data['id'].'">Ответить на тему</a>'; else echo 'Тема закрыта.';
echo '</div>';
if($user['admin']) {
echo '<div class="menu">
<a href="'.HOST.'/admin/?act=forum&edit_theme='.$data['id'].'">Параметры темы</a><br />
<a href="'.HOST.'/admin/?act=forum&deltheme='.$data['id'].'">Удалить тему</a><br />
<a href="'.HOST.'/admin/?act=forum&themeto='.$data['id'].'">Перенести тему</a><br />
</div>';
}
echo '<div class="menu"><a href="'.HOST.'/forum/?act=forum&id='.$data['cat_id'].'">Вернуться</a><br /><a href="'.HOST.'/forum/">Разделы форума</a></div>';
} else {
page_head('Ошибка'); // название страницы
echo '<div class="menu">Тема не найдена.</div>';
}
page_foot(); // низ сайта
}else{
redir (HOST.'/forum/');
}
break;
// редактируем сообщение
case 'edit_message':
if (isset($_GET['mid'])) {
$queryread = DB :: run() -> query("SELECT * FROM `forum_messages` WHERE `id`=? LIMIT 1;", array(intval($_GET['mid'])));
$data = $queryread -> fetch();
if ($data > 0) {
page_head('Редактирование сообщения');
if(!$user['admin']) {
if(($data['user_login'] != $user['login']) && $data['time_post'] < ( TIME-600)) redir (HOST.'/forum/?act=theme&id='.$data['id']);
}
if(!empty($_POST['message'])) {
$message_text = protect($_POST['message']);
DB :: run() -> query ("UPDATE `forum_messages` SET `message` = ? WHERE `id` = ?;", array($message_text, $data['id']) );
if(!empty($_POST['delete_file'])) {
@unlink(ROOT.'/misc/forumfiles/'.$data['filename']);
DB :: run() -> query ("UPDATE `forum_messages` SET `filename` = '',`original_filename` ='' WHERE `id` = ?;", array($data['id']) );
}
echo '<div class="menu">Сообщение отредактировано.</div>';
}
echo '<div class="menu">
<form action="'.HOST.'/forum/?act=edit_message&mid='.$data['id'].'" method="POST">
Текст сообщения:<br />
<textarea name="message" type="text">'.$data['message'].'</textarea><br />';
if(!empty($data['filename'])) echo'<input type="checkbox" value="1" name="delete_file"/>Удалить файл<br />';
echo'<input type="submit" value="Редактировать" /><br />
</form></div>';
echo '<div class="menu"><a href="'.HOST.'/forum/?act=theme&id='.$data['theme_id'].'">Вернуться</a><br /><a href="'.HOST.'/forum/">Разделы форума</a></div>';
} else {
page_head('Ошибка'); // название страницы
echo '<div class="menu">Тема не найдена.</div>';
}
page_foot(); // низ сайта
}else{
redir (HOST.'/forum/');
}
break;
// ответ на тему
case 'message':
if (isset($_GET['tid'])) {
$queryread = DB :: run() -> query("SELECT * FROM `forum_themes` WHERE `id`=? LIMIT 1;", array(intval($_GET['tid'])));
$data = $queryread -> fetch();
if ($data > 0) {
if($data['close'] == 1) redir (HOST.'/forum/?act=theme&id='.$data['id']);
page_head('Написать - '.$data['title']); // название страницы
// создание
if(!empty($_POST['message']))
{
$message = protect($_POST['message']);
if(strlenx($message) < 5 || strlenx($message) > 10000) {
$error = 'Слишком короткое или длинное сообщение. Допустимо от 5 до 10000 символов.';
$_SESSION['message'] = $message; }
else {
$flood = DB :: run() -> queryFetch("SELECT `time_post` FROM `forum_messages` WHERE `theme_id` = ? AND `user_login` = ? ORDER BY `time_post` DESC LIMIT 1", array($data['id'], $user['login']));
if($flood['time_post'] < ( TIME-$set['anti_flood']))
{
DB :: run() -> query("UPDATE `forum_category` SET `count_messages` = `count_messages` + 1 WHERE `id` = ".$data['cat_id']."");
DB :: run() -> query("UPDATE `forum_themes` SET `count_messages` = `count_messages` + 1 WHERE `id` = ".$data['id']."");
DB :: run() -> query ('INSERT INTO `forum_messages` SET `theme_id` = ?, `user_login` = ?, `time_post` = ?, `message` = ?;',
array($data['id'], $user['login'], TIME, $message));
$last = DB :: run() -> queryFetch("SELECT `id` FROM `forum_messages` ORDER BY `id` DESC LIMIT 1;");
unset ($_SESSION['message']);
if(isset($_FILES['mess_file']) && !empty($_FILES['mess_file']))
{
$dir = ROOT.'/misc/forumfiles/';
$file = protect(strtolower(basename($_FILES['mess_file']['name'])));
$ext = array('txt', 'gif', 'jpg', 'jpeg', 'bmp', 'png', 'wbmp', 'pic', 'ani', 'pco',
'3gp', 'mp4', 'avi', 'mpeg', 'rm',
'thm', 'sdt', 'nth', 'mtf', 'col', 'scs', 'utz',
'jar', 'jad', 'sis', 'sys', 'sisx',
'mmf', 'mid', 'amr', 'mp3', 'wav', 'aac', 'seq', 'vox', 'dxm', 'imy', 'emy', 'pmd', 'rng', 'zip', 'rar', 'tar'); //Возможные форматы для загрузки
$rand = rand(500, 1000);
if (!in_array(pathinfo($file, PATHINFO_EXTENSION), $ext))
{
echo '<div class="menu">Локальное название файла должно быть на латынице. Или вы загружаете неверный формат.</div>';
}
else
{
if ($_FILES['mess_file']['size'] > ($set['max_sizefile'] * 1024))
{
echo '<div class="menu">Размер файла слишком большой.</div>';
page_foot();
}
if (move_uploaded_file($_FILES['mess_file']['tmp_name'], $dir.$rand.'_'.$file))
{
DB :: run() -> query("UPDATE `forum_messages` SET `filename` = '".$rand.'_'.$file."',`original_filename` = '".$file."' WHERE `id` = ".$last['id']."");
}
}
}
redir (HOST.'/forum/?act=theme&id='.$data['id']);
}else{
$error = 'Не пишите так часто. Антифлуд '.$set['anti_flood'].' секунд.';
}
}
}
if (!empty($error)) {
echo '<div class="menu">'.$error.'</div>';
}
$ses_mess = isset($_SESSION['message']) ? $_SESSION['message'] : '';
$reply = isset($_GET['reply']) ? '[b]'.protect($_GET['reply']).'[/b], ' : '';
if(isset($_GET['quote']) && DB :: run() -> querySingle('select count(*) from `forum_messages` where `id` = "'.intval($_GET['quote']).'" and `theme_id` = "'.$data['id'].'"') == 1) {
$text_message = DB :: run() -> queryFetch('select `message`,`user_login` from `forum_messages` where `id` = "'.intval($_GET['quote']).'"');
$quote ='[quote][b]'.$text_message['user_login'].'[/b] пишет:
[small]'.$text_message['message'].'[/small][/quote]
';
} else {
$quote = '';
}
echo '<div class="menu">
<form action="'.HOST.'/forum/?act=message&tid='.$data['id'].'" method="POST" enctype="multipart/form-data">
Текст сообщения:<br />
<textarea name="message" type="text" cols="30" rows="5">'.$quote.''.$reply.''.$ses_mess.'</textarea><br />
Прикрепить файл (макс. '.size_data($set['max_sizefile']*1024).'):<br />
<input name="mess_file" type="file" /><br/>
<input type="submit" value="Ответить" /><br />
</form></div>';
echo '<div class="menu"><a href="'.HOST.'/forum/?act=bbcode">ББ-коды</a><br /><a href="'.HOST.'/forum/?act=theme&id='.$data['id'].'">Вернуться</a><br /><a href="'.HOST.'/forum/">Разделы форума</a></div>';
} else {
page_head('Ошибка'); // название страницы
echo '<div class="menu">Тема не найдена.</div>';
}
page_foot(); // низ сайта
}else{
redir (HOST.'/forum/');
}
break;
// --- //
case 'new_theme':
if (isset($_GET['fid'])) {
$queryread = DB :: run() -> query("SELECT * FROM `forum_category` WHERE `id`=? LIMIT 1;", array(intval($_GET['fid'])));
$data = $queryread -> fetch();
if ($data > 0) {
if(($data['open_theme'] == 1 && $user['admin'] == 0)) redir (HOST.'/forum/?act=forum&id='.$data['id']);
page_head('Создание темы - '.$data['title']); // название страницы
// создание
if(!empty($_POST['theme_name']) && !empty($_POST['theme_message']))
{
$name = protect($_POST['theme_name']);
$message = protect($_POST['theme_message']);
if(strlenx($name) < 5 || strlenx($name) > 50) {
$error = 'Слишком короткое или длинное название темы. Допустимо от 5 до 50 символов.';
$_SESSION['nametheme'] = $name;
}
elseif(strlenx($message) < 5 || strlenx($message) > 10000) {
$error = 'Слишком короткое или длинное сообщение. Допустимо от 5 до 10000 символов.';
$_SESSION['messgae'] = $message; }
else {
$flood = DB :: run() -> queryFetch("SELECT `time_add` FROM `forum_themes` WHERE `user_id` = ? ORDER BY `time_add` DESC LIMIT 1", array($user['id']));
if($flood['time_add'] < ( TIME-$set['anti_flood']))
{
DB :: run() -> query("UPDATE `forum_category` SET `count_messages` = `count_messages` + 1, `count_themes` = `count_themes` +1 WHERE `id` = ".$data['id']."");
DB :: run() -> query ('INSERT INTO `forum_themes` SET `title` = ?, `time_add` = ?, `cat_id` = ?, `user_id` = ?;',
array($name, TIME, $data['id'], $user['id']));
$last = DB :: run() -> queryFetch("SELECT `id` FROM `forum_themes` ORDER BY `id` DESC LIMIT 1;");
DB :: run() -> query ('INSERT INTO `forum_messages` SET `theme_id` = ?, `user_login` = ?, `time_post` = ?, `message` = ?;',
array($last['id'], $user['login'], TIME, $message));
unset ($_SESSION['nametheme']);
unset ($_SESSION['messgae']);
if(!empty($_FILES['mess_file']))
{
$dir = ROOT.'/misc/forumfiles/';
$file = protect(strtolower(basename($_FILES['mess_file']['name'])));
$ext = array('gif', 'jpg', 'jpeg', 'bmp', 'png', 'wbmp', 'pic', 'ani', 'pco',
'3gp', 'mp4', 'avi', 'mpeg', 'rm',
'thm', 'sdt', 'nth', 'mtf', 'col', 'scs', 'utz',
'jar', 'jad', 'sis', 'sys', 'sisx',
'mmf', 'mid', 'amr', 'mp3', 'wav', 'aac', 'seq', 'vox', 'dxm', 'imy', 'emy', 'pmd', 'rng', 'zip', 'rar', 'tar'); //Возможные форматы для загрузки
$rand = rand(500, 1000);
if (!in_array(pathinfo($file, PATHINFO_EXTENSION), $ext))
{
echo '<div class="menu">Локальное название файла должно быть на латынице. Или вы загружаете неверный формат.</div>';
}
else
{
if ($_FILES['mess_file']['size'] > ($set['max_sizefile'] * 1024))
{
echo '<div class="menu">Размер файла слишком большой.</div>';
page_foot();
}
if (move_uploaded_file($_FILES['mess_file']['tmp_name'], $dir.$rand.'_'.$file))
{
DB :: run() -> query("UPDATE `forum_messages` SET `filename` = '".$rand.'_'.$file."',`original_filename` = '".$file."' WHERE `theme_id` = ".$last['id']."");
}
}
}
redir (HOST.'/forum/?act=theme&id='.$last['id']);
}else{
$error = 'Не создавайте так часто темы. Антифлуд '.$set['anti_flood'].' секунд.';
}
}
}
if (!empty($error)) {
echo '<div class="menu">'.$error.'</div>';
}
$ses_name = isset($_SESSION['nametheme']) ? $_SESSION['nametheme'] : '';
$ses_mess = isset($_SESSION['messgae']) ? $_SESSION['messgae'] : '';
echo '<div class="menu">
<form action="'.HOST.'/forum/?act=new_theme&fid='.$data['id'].'" method="POST" enctype="multipart/form-data">
Заголовок темы:<br />
<input type="text" name="theme_name" value="'.$ses_name.'"/><br />
Текст сообщения:<br />
<textarea name="theme_message" type="text" cols="30" rows="5">'.$ses_mess.'</textarea><br />
Прикрепить файл (макс. '.size_data($set['max_sizefile']*1024).'):<br />
<input name="mess_file" type="file" /><br/>
<input type="submit" value="Создать" /><br />
</form></div>';
echo '<div class="menu"><a href="'.HOST.'/forum/?act=bbcode">ББ-коды</a><br /><a href="'.HOST.'/forum/?act=forum&id='.$data['id'].'">Вернуться</a><br /><a href="'.HOST.'/forum/">Разделы форума</a></div>';
} else {
page_head('Ошибка'); // название страницы
echo '<div class="menu">Раздел не найден.</div>';
}
page_foot(); // низ сайта
}else{
redir (HOST.'/forum/');
}
break;
case 'forum':
if (isset($_GET['id'])) {
$queryread = DB :: run() -> query("SELECT * FROM `forum_category` WHERE `id`=? LIMIT 1;", array(intval($_GET['id'])));
$data = $queryread -> fetch();
if ($data > 0) {
page_head('Форум - '.$data['title']); // название страницы
// вывод тем
echo '<div class="menu">Темы</div>';
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/forum/?act=forum&id='.$data['id'].'&',$set['count_pages']);
$querypost = DB :: run() -> query("SELECT * FROM `forum_themes` WHERE `cat_id` = '".$data['id']."' ORDER BY `top`, `time_add` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `forum_themes` WHERE `cat_id` = '".$data['id']."';");
if ($total > 0) {
while ($themes = $querypost -> fetch()) {
echo '<div class="menu">';
if($themes['top'] == 1) {echo '<b>!</b>';}elseif($themes['close'] == 1) echo '<b>#</b>';
echo ' <a href="'.HOST.'/forum/?act=theme&id='.$themes['id'].'">'.$themes['title'].'</a> ['.$themes['count_messages'].']';
echo '</div>';
}
} else {
echo '<div class="menu">Созданных тем нет.</div>';
}
echo $nav->navi($total,0);
echo '<div class="menu">';
if( $user['admin'] || ($data['open_theme'] == 0 && $user['admin'] == 0)) echo '<a href="'.HOST.'/forum/?act=new_theme&fid='.$data['id'].'">Создать тему</a><br />';
echo '<a href="'.HOST.'/forum/">Разделы форума</a>';
echo '</div>';
} else {
page_head('Ошибка'); // название страницы
echo '<div class="menu">Раздел не найден.</div>';
}
page_foot(); // низ сайта
}else{
redir (HOST.'/forum/');
}
break;
case 'bbcode':
page_head('ББ-коды'); // название страницы
echo '<div class="menu">Список тегов</div>';
echo '<div class="menu">
[b] <strong>text</strong> [/b]<br />
[i] <i>text</i> [/i]<br />
[u] <span style="text-decoration:underline">text</span> [/u]<br />
[del]<span style="text-decoration: line-through">text</span>[/del]<br />
[big] <big>text</big> [/big]<br />
[small] <small>text</small> [/small]<br />
[color=C2C2C2] <span style="color:#C2C2C2">text</span> [/color]<br />
http://t.tesik.ru - ссылка
</div>';
echo '<div class="menu"><a href="'.HOST.'/forum/">Разделы форума</a></div>';
page_foot(); // низ сайта
break;
case 'my_messages':
page_head('Мои темы'); // название страницы
echo '<div class="menu">Список моих сообщений</div>';
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/forum/?act=my_messages&',$set['count_pages']);
$querypost = DB :: run() -> query("SELECT * FROM `forum_messages` WHERE `user_login` = '".$user['login']."' ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `forum_messages` WHERE `user_login` = '".$user['login']."';");
if ($total > 0) {
while ($messages = $querypost -> fetch()) {
echo '<div class="menu">';
echo '
'.nl2br(bbcode($messages['message'])).'<br />
<a href="'.HOST.'/forum/?act=theme&id='.$messages['theme_id'].'">[Перейти в тему]</a>
';
if(!empty($messages['filename'])) echo 'Файл: <a href="'.HOST.'/misc/forumfiles/'.$messages['filename'].'">'.$messages['original_filename'].'</a>';
echo '</div>';
}
} else {
echo '<div class="menu">Написанных вами сообщений нет.</div>';
}
echo $nav->navi($total,0);
echo '<div class="menu"><a href="'.HOST.'/forum/">Разделы форума</a></div>';
page_foot(); // низ сайта
break;
case 'new_messages':
page_head('Новые темы'); // название страницы
echo '<div class="menu">Список новых сообщений</div>';
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/forum/?act=my_messages&',$set['count_pages']);
$querypost = DB :: run() -> query("SELECT * FROM `forum_messages` ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `forum_messages`;");
if ($total > 0) {
while ($messages = $querypost -> fetch()) {
echo '<div class="menu">';
echo '<a href="'.HOST.'/mail/?act=send&login='.$messages['user_login'].'"><b>'.$messages['user_login'].'</b></a> ['.view_date($messages['time_post']).'] <a href="'.HOST.'/forum/?act=theme&id='.$messages['theme_id'].'">[Перейти в тему]</a>';
if($user['login'] != $messages['user_login']) echo ' <a href="'.HOST.'/forum/?act=message&tid='.$data['id'].'&reply='.$messages['user_login'].'">Ответить</a> / <a href="'.HOST.'/forum/?act=message&tid='.$data['id'].'"e='.$messages['id'].'">Цитировать</a>';
echo '<br />
'.nl2br(bbcode($messages['message'])).'<br />
';
if($user['admin']) echo '<a href="'.HOST.'/admin/?act=forum&delmessage='.$messages['id'].'">Удалить</a> / ';
if($user['admin'] || ($user['login'] == $messages['user_login']) && $messages['time_post'] > ( TIME-600)) echo '<a href="'.HOST.'/forum/?act=edit_message&mid='.$messages['id'].'">Редактировать</a><br />';
if(!empty($messages['filename'])) echo 'Файл: <a href="'.HOST.'/misc/forumfiles/'.$messages['filename'].'">'.$messages['original_filename'].'</a>';
echo '</div>';
}
} else {
echo '<div class="menu">Новых сообщений нет.</div>';
}
echo $nav->navi($total,0);
echo '<div class="menu"><a href="'.HOST.'/forum/">Разделы форума</a></div>';
page_foot(); // низ сайта
break;
case 'new_themes':
page_head('Новые темы'); // название страницы
echo '<div class="menu">Список новых тем</div>';
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/forum/?act=new_themes&',$set['count_pages']);
$querypost = DB :: run() -> query("SELECT * FROM `forum_themes` ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `forum_themes`;");
if ($total > 0) {
while ($themes = $querypost -> fetch()) {
echo '<div class="menu">';
if($themes['top'] == 1) {echo '<b>!</b>';}elseif($themes['close'] == 1) echo '<b>#</b>';
echo ' <a href="'.HOST.'/forum/?act=theme&id='.$themes['id'].'">'.$themes['title'].'</a> ['.$themes['count_messages'].']';
echo '</div>';
}
} else {
echo '<div class="menu">Новых тем нет.</div>';
}
echo $nav->navi($total,0);
echo '<div class="menu"><a href="'.HOST.'/forum/">Разделы форума</a></div>';
page_foot(); // низ сайта
break;
case 'my_themes':
page_head('Мои темы'); // название страницы
echo '<div class="menu">Список моих тем</div>';
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/forum/?act=my_themes&',$set['count_pages']);
$querypost = DB :: run() -> query("SELECT * FROM `forum_themes` WHERE `user_id` = '".$user['id']."' ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `forum_themes` WHERE `user_id` = '".$user['id']."';");
if ($total > 0) {
while ($themes = $querypost -> fetch()) {
echo '<div class="menu">';
if($themes['top'] == 1) {echo '<b>!</b>';}elseif($themes['close'] == 1) echo '<b>#</b>';
echo ' <a href="'.HOST.'/forum/?act=theme&id='.$themes['id'].'">'.$themes['title'].'</a> ['.$themes['count_messages'].']';
echo '</div>';
}
} else {
echo '<div class="menu">Созданных вами тем нет.</div>';
}
echo $nav->navi($total,0);
echo '<div class="menu"><a href="'.HOST.'/forum/">Разделы форума</a></div>';
page_foot(); // низ сайта
break;
case 'search':
page_head('Поиск'); // название страницы
if(isset($_GET['query']) && !empty($_GET['query'])) {
echo '<div class="menu">Результат запроса "'.protect($_GET['query']).'"</div>';
if($_GET['who'] == 2) {
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/forum/search/?query='.protect($_GET['query']).'&who=0&',$set['count_pages']);
$querypost = DB :: run() -> query("SELECT * FROM `forum_messages` WHERE `message` LIKE '%".protect($_GET['query'])."%' ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `forum_messages` WHERE `message` LIKE '%".protect($_GET['query'])."%';");
if ($total > 0) {
while ($messages = $querypost -> fetch()) {
echo '<div class="menu">';
echo '<b>'.$messages['user_login'].'</b> ['.view_date($messages['time_post']).']';
echo '<br />
'.nl2br(bbcode($messages['message'])).'<br />
<a href="'.HOST.'/forum/?act=theme&id='.$messages['theme_id'].'">[Перейти в тему]</a>
';
if(!empty($messages['filename'])) echo 'Файл: <a href="'.HOST.'/misc/forumfiles/'.$messages['filename'].'">'.$messages['original_filename'].'</a>';
echo '</div>';
}
} else {
echo '<div class="menu">Поиск не дал результатов.</div>';
}
echo $nav->navi($total,0);
}else{
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/forum/search/?query='.protect($_GET['query']).'&who=1&',$set['count_pages']);
$querypost = DB :: run() -> query("SELECT * FROM `forum_themes` WHERE `title` LIKE '%".protect($_GET['query'])."%' ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `forum_themes` WHERE `title` LIKE '%".protect($_GET['query'])."%';");
if ($total > 0) {
while ($themes = $querypost -> fetch()) {
echo '<div class="menu">';
if($themes['top'] == 1) {echo '<b>!</b>';}elseif($themes['close'] == 1) echo '<b>#</b>';
echo ' <a href="'.HOST.'/forum/?act=theme&id='.$themes['id'].'">'.$themes['title'].'</a> ['.$themes['count_messages'].']';
echo '</div>';
}
} else {
echo '<div class="menu">Поиск не дал результатов.</div>';
}
echo $nav->navi($total,0);
}
echo '<div class="menu"><a href="'.HOST.'/forum/search/">Новый поиск</a></div>';
page_foot();
}
echo '<div class="menu">
<form action="'.HOST.'/forum/search/" method="GET">
Что искать?:<br />
<input type="text" name="query"/><br />
Где искать:<br />
<input name="who" type="radio" value="2" checked="check"/> В сообщениях<br/>
<input name="who" type="radio" value="0"/> В темах<br/>
<input type="submit" value="Искать" /><br />
</form></div>';
echo '<div class="menu"><a href="'.HOST.'/forum/">Разделы форума</a></div>';
page_foot(); // низ сайта
break;
}
echo '<div class="menu"><a href="'.HOST.'/">Личный кабинет</a></div>';
page_foot(); // низ сайта
?>