Файл: public_html/forum.php
Строк: 232
<?
include './system/common.php';
include './system/functions.php';
include './system/user.php';
if(!$user) {
header('location: /');
exit;
}
$sub = _string(_num($_GET['sub']));
$topic = _string(_num($_GET['topic']));
if(!$sub && !$topic) {
$title = 'Форум';
include './system/h.php';
?>
<div class='main'>
<?
$count = mysql_result(mysql_query('SELECT COUNT(*) FROM `forum_sub`'),0);
if($count > 0) {
if($_GET['create'] == true && $user['access'] == 2) {
$name = _string($_POST['name']);
$access = _string(_num($_POST['access']));
if($name) {
mysql_query('INSERT INTO `forum_sub` (`name`,
`access`) VALUES ("'.$name.'",
"'.$access.'")');
header('location: /forum/');
}
?>
<div class='block_zero'>
<form action='/forum/?create=true' method='post'>
Название раздела:<br/>
<input name='name' class='text'/><br/>
Создавать топики могут:<br/>
<select name='access'>
<option value='0'>все</option>
<option value='1'>модераторы</option>
<option value='2'>администраторы</option>
</select><br/>
<span class='btn'><span class='end'><input class='label' type='submit' value='Создать'>Создать</span></span>
</form>
</div>
<?
}
$id = _string(_num($_GET['id']));
if($id && $user['access'] == 2) {
$i = mysql_query('SELECT * FROM `forum_sub` WHERE `id` = "'.$id.'"');
$i = mysql_fetch_array($i);
if(!$i) {
header('location: /forum/');
exit;
}
$name = _string($_POST['name']);
if($name) {
mysql_query('UPDATE `forum_sub` SET `name` = "'.$name.'" WHERE `id` = "'.$i['id'].'"');
header('location: /forum/?adm=true');
}
?>
<div class='block_zero'>
<form action='/forum/?adm=true&id=<?=$i['id']?>' method='post'>
Название раздела:<br/>
<input name='name' class='text' value='<?=$i['name']?>'/> <span class='btn'><span class='end'><input class='label' type='submit' value='Сохранить'>Сохранить</span></span>
</form>
</div>
<?
if($_GET['delete'] == true) {
$q = mysql_query('SELECT * FROM `forum_topic` WHERE `sub` = "'.$i['id'].'"');
while($row = mysql_fetch_array($q)) {
mysql_query('DELETE FROM `forum_comments` WHERE `topic` = "'.$row['id'].'"');
}
mysql_query('DELETE FROM `forum_topic` WHERE `sub` = "'.$i['id'].'"');
mysql_query('DELETE FROM `forum_sub` WHERE `id` = "'.$i['id'].'"');
header('location: /forum/?adm=true');
}
}
?>
<div class='menuList'>
<?
$q = mysql_query('SELECT * FROM `forum_sub`');
while($row = mysql_fetch_array($q)) {
$i++;
?>
<li>
<?
if($_GET['adm'] == true && $user['access'] == 2) {
?>
<span style='float: right;'><a href='/forum/?adm=true&id=<?=$row['id']?>&delete=true'>x</a></span>
<?
}
?>
<a href='/forum/sub/<?=$row['id']?>/'><img src='/images/icon/section.png' alt='*'/> <?=$row['name']?></a></li>
<?
}
?>
<li <?=($_GET['adm'] == true ? '':'class='no_b'')?>>
<?
if($user['access'] == 2) {
?>
<a href='/forum/<?=($_GET['adm'] == true ? '':'?adm=true')?>' <?=($_GET['adm'] == true ? 'style='color: #909090;'':'')?>><img src='/images/icon/arrow.png' alt='*'/> Управление форумом</a></a>
<?
if($_GET['adm'] == true) {
?>
<li><a href='/forum/?create=true'><img src='/images/icon/arrow.png' alt='*'/> Создать раздел</a></li>
<?
}
}
?>
</div>
</div>
<?
}
else
{
?>
<div class='block_zero'><font color='#909090'></font></div>
<?
}
include './system/f.php';
}
elseif($sub) {
$sub = mysql_query('SELECT * FROM `forum_sub` WHERE `id` = "'.$sub.'"');
$sub = mysql_fetch_array($sub);
if(!$sub) {
header('location: /forum');
exit;
}
if($_GET['create'] == true && $user['access'] >= $sub['access']) {
$title = 'Новый топик';
include './system/h.php';
echo '<div class="main">';
?>
<?
if($user['save'] == 1) {
$name = _string($_POST['name']);
$text = _string($_POST['text']);
if($name && $text) {
if($user['level'] > 14) {
mysql_query('INSERT INTO `forum_topic` (`sub`,
`name`,
`user`,
`text`,
`time`) VALUES ("'.$sub['id'].'",
"'.$name.'",
"'.$user['id'].'",
"'.$text.'",
"'.time().'")');
$topic_id = mysql_insert_id();
header('location: /forum/topic/'.$topic_id.'/');
}
else
{
?>
<div class='block_zero' align='center'><font color='#909090'>Топики можно создавать с <img src='/images/icon/level.png' alt='*'/> 15 уровня!</font></div>
<?
}
}
?>
<div class='block_zero'>
<form action='/forum/sub/<?=$sub['id']?>/?create=true' method='post'>
Название топика:<br/>
<input name='name' class='text'/><br/>
Оглавление:<br/>
<textarea name='text' style='width: 100%;'></textarea><br/>
<span class='btn'><span class='end'><input class='label' type='submit' value='Создать'>Создать</span></span>
</form>
</div>
<?
}
else
{
?>
<div class='block_zero'><font color='#999'>Для создания топика вам нужно сохранить своего персонажа</font></div>
<?
}
echo '</div>';
include './system/f.php';
}
else
{
$title = $sub['name'];
include './system/h.php';
echo '<div class="main">';
?>
<?
$max = 10;
$count = mysql_result(mysql_query('SELECT COUNT(*) FROM `forum_topic` WHERE `sub` = "'.$sub['id'].'"'),0);
$pages = ceil($count/$max);
$page = _string(_num($_GET['page']));
if($page > $pages) {
$page = $pages;
}
if($page < 1) {
$page = 1;
}
$start = $page * $max - $max;
if($count > 0) {
?>
<div class='menuList'>
<?
$q = mysql_query('SELECT * FROM `forum_topic` WHERE `sub` = "'.$sub['id'].'" ORDER BY `stick` DESC, `id` DESC LIMIT '.$start.', '.$max.'');
while($row = mysql_fetch_array($q)) {
$i++;
?>
<li><a href='/forum/topic/<?=$row['id']?>/' <?=($row['stick'] == 1 ? 'style="font-weight: bold;"':'')?>><img src='/images/icon/forum_<?=($row['close'] == 1 ? 3:2)?>.png' alt='*'/> <?=$row['name']?></a></li>
<?
}
?>
<hr></div><?=pages('/forum/sub/'.$sub['id'].'/?')?>
</div>
<?
}
else
{
?>
<div class='block_zero'><font color='#999'>Форум пуст!</font></div>
<?
}
?>
<?
if($user['access'] >= $sub['access']) {
?>
<div class='menuList'>
<li><a href='/forum/sub/<?=$sub['id']?>/?create=true'><img src='/images/icon/forum_2.png'> Создать новый топик</a></li>
</div>
</div>
<?
}
echo '</div>';
include './system/f.php';
}
}
elseif($topic) {
$topic = mysql_query('SELECT * FROM `forum_topic` WHERE `id` = "'.$topic.'"');
$topic = mysql_fetch_array($topic);
if(!$topic) {
header('location: /forum');
exit;
}
$title = $topic['name'];
include './system/h.php';
echo '<div class="main">';
$topic_user = mysql_query('SELECT * FROM `users` WHERE `id` = "'.$topic['user'].'"');
$topic_user = mysql_fetch_array($topic_user);
?>
<?
if($_GET['adm'] == true && $user['access'] > 0) {
?>
<div class='block_zero'>
<img src='/images/icon/arrow.png' alt='*'/> <a href='/forum/topic/<?=$topic['id']?>/?stick=true'> <?=($topic['stick'] == 0 ? 'Закрепить':'Открепить')?></a> | <a href='/forum/topic/<?=$topic['id']?>/?close=true'> <?=($topic['close'] == 0 ? 'Закрыть':'Открыть')?></a> | <a href='/forum/topic/<?=$topic['id']?>/?delete=true'>Удалить</a>
</div>
<div class='mini-line'></div>
<?
}
?>
<div class='block_zero'>
<img src='/images/icon/race/<?=$topic_user['r'].($topic_user['online'] > time() - 300 ? '':'-off')?>.png' alt='*'/> <a href='/user/<?=$topic_user['id']?>/'><?=$topic_user['login']?></a>, <?=_times(time() - $topic['time'])?><br/>
<?
if($topic_user['access'] == 1) {
?>
<font color='f09060'>
<?
}
if($topic_user['access'] == 2) {
?>
<font color='90c0c0'>
<?
}
?>
<?=bb(smiles($topic['text']))?>
<?
if($topic_user['access'] > 0) {
?>
</font>
<?
}
?>
</div>
<div class='mini-line'></div>
<?
if($user['access'] > 0) {
if($_GET['stick'] == true) {
mysql_query('UPDATE `forum_topic` SET `stick` = "'.($topic['stick'] == 0 ? 1:0).'" WHERE `id` = "'.$topic['id'].'"');
header('location: /forum/topic/'.$topic['id'].'/?adm=true');
}
if($_GET['close'] == true) {
mysql_query('UPDATE `forum_topic` SET `close` = "'.($topic['close'] == 0 ? 1:0).'" WHERE `id` = "'.$topic['id'].'"');
header('location: /forum/topic/'.$topic['id'].'/?adm=true');
}
if($_GET['delete'] == true) {
$q = mysql_query('SELECT * FROM `forum_comments` WHERE `topic` = "'.$topic['id'].'"');
while($row = mysql_fetch_array($q)) {
mysql_query('DELETE FROM `forum_comments` WHERE `id` = "'.$row['id'].'"');
}
header('location: /forum/sub/'.$topic['sub'].'/?adm=true');
mysql_query('DELETE FROM `forum_topic` WHERE `id` = "'.$topic['id'].'"');
}
?>
<div class='menuList'>
<li><a href='/forum/topic/<?=$topic['id']?>/<?=($_GET['adm'] == true ? '':'?adm=true')?>' <?=($_GET['adm'] == true ? 'style='color: #909090;'':'')?>><img src='/images/icon/arrow.png' alt='*'/> Управление топиком</a></li>
</div>
<div class='mini-line'></div>
<?
}
$count = mysql_result(mysql_query('SELECT COUNT(*) FROM `forum_comments` WHERE `topic` = "'.$topic['id'].'"'),0);
?>
<div class='block_zero'>
Комментарии: <b><?=$count?></b>
</div>
<?
if($count > 0) {
?>
<div class='mini-line'></div>
<div class='block_zero'>
<?
$max = 10;
$pages = ceil($count/$max);
$page = _string(_num($_GET['page']));
if($page > $pages) {
$page = $pages;
}
if($page < 1) {
$page = 1;
}
$start = $page * $max - $max;
$q = mysql_query('SELECT * FROM `forum_comments` WHERE `topic` = "'.$topic['id'].'" ORDER BY `id` LIMIT '.$start.', '.$max.'');
while($row = mysql_fetch_array($q)) {
$comment_user = mysql_query('SELECT * FROM `users` WHERE `id` = "'.$row['user'].'"');
$comment_user = mysql_fetch_array($comment_user);
?>
<img src='/images/icon/race/<?=$comment_user['r'].($comment_user['online'] > time() - 300 ? '':'-off')?>.png' alt='*'/> <a href='/user/<?=$comment_user['id']?>/'><?=$comment_user['login']?></a><?
if($comment_user['id'] != $user['id']) {
?> <a href='/forum/topic/<?=$topic['id']?>/?page=<?=$page?>&to=<?=$comment_user['id']?>'>(»)</a><? } ?>, <?=_times(time() - $row['time'])?><br>
<?
if($row['to']) {
$__to = mysql_query('SELECT * FROM `users` WHERE `id` = "'.$row['to'].'"');
$__to = mysql_fetch_array($__to);
if($__to['id'] == $user['id']) {
?>
<font color='#90c090'>
<?
}
?>
<?=$__to['login']?>,
<?
if($__to['id'] == $user['id']) {
?>
</font>
<?
}
}
if($comment_user['access'] == 1) {
?>
<font color='f09060'>
<?
}
if($comment_user['access'] == 2) {
?>
<font color='90c0c0'>
<?
}
?>
<?=bb(smiles($row['text']))?>
<?
if($comment_user['access'] > 0) {
?>
</font>
<?
}
if($user['access'] > 0) {
$comment = _string(_num($_GET['comment']));
if($comment) {
mysql_query('DELETE FROM `forum_comments` WHERE `id` = "'.$comment.'"');
header('location: /forum/topic/'.$topic['id'].'/?page='.$page);
}
?>
<a href='/forum/topic/<?=$topic['id']?>/?page=<?=$page?>&comment=<?=$row['id']?>'>(x)</a>
<?
}
?>
<br>
<?
}
?>
<hr><?=pages('/forum/topic/'.$topic['id'].'/?')?>
</div>
<?
}
?>
<div class='mini-line'></div>
<div class='block_zero'>
<?
if($topic['close'] == 0) {
if($user['save'] == 1) {
if($user['level'] > 5) {
$text = _string($_POST['text']);
$to = _string(_num($_GET['to']));
if($to) {
$_to = mysql_query('SELECT * FROM `users` WHERE `id` = "'.$to.'"');
$_to = mysql_fetch_array($_to);
if(!$_to OR $_to['id'] == $user['id']) {
header('location: /forum/topic/'.$topic['id'].'/?page='.$page);
exit;
}
}
if($_to) {
$text = str_replace($_to['login'].', ', '', $text);
}
if($text) {
mysql_query('INSERT INTO `forum_comments` (`topic`,`user`,`to`,`text`,`time`) VALUES ("'.$topic['id'].'", "'.$user['id'].'", "'.$_to['id'].'", "'.$text.'", "'.time().'")');
header('location: /forum/topic/'.$topic['id'].'/?page='.$pages);
}
?>
<form action='/forum/topic/<?=$topic['id']?>/?page=<?=$page?>&to=<?=$to?>' method='post'>
Сообщение:<br/>
<textarea name='text' style='width: 100%;'><?=($to ? $_to['login'].', ':'')?></textarea><br/>
<span class='btn'><span class='end'><input class='label' type='submit' value='Отправить'>Отправить</span></span>
</form>
<?
}
else
{
?>
<font color='#999'>Писать на форуме можно с <img src='/images/icon/level.png' alt='*'/> 5 уровня</font>
<?
}
}
else
{
?>
<font color='#999'>Для общения на форуме вам нужно сохранить своего персонажа</font>
<?
}
}
else
{
?>
<font color='#f33'>Топик закрыт</font>
<?
}
?>
</div>
<?
echo '</div>';
include './system/f.php';
}
?>