Вход Регистрация
Файл: 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'].'&quote='.$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_messagesSET `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_messageswhere `id` = "'.intval($_GET['quote']).'" and `theme_id` = "'.$data['id'].'"') == 1) {
$text_message = DB :: run() -> queryFetch('
select `message`,`user_loginfrom `forum_messageswhere `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_themesSET `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_messagesSET `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'] == && $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'].'&quote='.$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(); // низ сайта
?>
Онлайн: 0
Реклама