<?
include('../include/path.php');
if($config['accforum']==1 || (isset($user) && ($rank&32)==32))
{
if(isset($_GET['c']) && mysql_num_rows($cat=sql_query('SELECT * FROM `'.PRE.'forum_cats` WHERE `rank`<='.((isset($user))?$user['rank']:0).' AND `id`='.intval($_GET['c'])))!=0)
{
$cat=mysql_fetch_assoc($cat);
if(isset($_GET['t']) && mysql_num_rows($theme=sql_query('SELECT * FROM `'.PRE.'forum_posts` WHERE `id`='.intval($_GET['t'])))!=0)
{
$theme=mysql_fetch_assoc($theme);
if(isset($_GET['mod']) && isset($user))
{
if($_GET['mod']=='del' && isset($_GET['id']) && $user['rank']>=32)
{
if(intval($_GET['id'])==$theme['id']) // если удаляем тему
{
if(isset($_GET['yes']))
{
sql_send('DELETE FROM `'.PRE.'forum_posts` WHERE `id`='.$theme['id'].' OR `id_thm`='.$theme['id']);
header('Location: index.php?c='.$cat['id'].'&'.SID);
}else
{
function put_content()
{
global $cat,$theme;
echo '<div class="header">Вы действительно хотите удалить тему?</div>';
echo '<div class="nav"><a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&mod=del&id='.$theme['id'].'&yes&'.SID.'">Да</a> / <a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&'.SID.'">Нет</a></div>';
}
}
}else
if(mysql_num_rows($post=sql_query('SELECT * FROM `'.PRE.'forum_posts` WHERE `id`='.intval($_GET['id'])))!=0)
{
$post=mysql_fetch_assoc($post);
if(isset($_GET['yes']))
{
sql_send('DELETE FROM `'.PRE.'forum_posts` WHERE `id`='.intval($_GET['id']));
sql_send('UPDATE `'.PRE.'users` SET `posts`=posts-1 WHERE `login`="'.$post['login'].'"');
sql_send('UPDATE `'.PRE.'forum_posts` SET `posts`=posts-1 WHERE `id`='.$theme['id']);
header('Location: index.php?c='.$cat['id'].'&t='.$theme['id'].'&'.SID);
}else
{
function put_content()
{
global $cat,$theme,$post;
echo '<div class="header">Вы действительно хотите удалить это сообщение?</div>';
echo '<div class="nav"><a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&mod=del&id='.$post['id'].'&yes&'.SID.'">Да</a> / <a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&'.SID.'">Нет</a></div>';
}
}
}else header('Location: index.php?c='.$cat['id'].'&t='.$theme['id'].'&'.SID);
}else
if($_GET['mod']=='ans' && isset($_POST['post']) && ($theme['close']!=1 || $user['rank']>=32))
{
if(strlen($_POST['post'])>2)
{
sql_send('INSERT INTO `'.PRE.'forum_posts` SET `login`="'.$user['login'].'", `time`='.time().', `id_thm`='.$theme['id'].', `post`="'.filtr($_POST['post']).'"');
sql_send('UPDATE `'.PRE.'forum_posts` SET `posts`=posts+1, `ltime`='.time().', `llogin`="'.$user['login'].'" WHERE `id`='.$theme['id']);
sql_send('UPDATE `'.PRE.'users` SET `posts`=posts+1 WHERE `login`="'.$user['login'].'"');
}
header('Location: index.php?c='.$cat['id'].'&t='.$theme['id'].'&p=9999&'.SID);
}else
if($user['rank']>=32 && $_GET['mod']=='open')
{
sql_send('UPDATE `'.PRE.'forum_posts` SET `close`=0 WHERE `id`='.$theme['id']);
header('Location: index.php?c='.$cat['id'].'&t='.$theme['id'].'&'.SID);
}else
if($user['rank']>=32 && $_GET['mod']=='close')
{
sql_send('UPDATE `'.PRE.'forum_posts` SET `close`=1 WHERE `id`='.$theme['id']);
header('Location: index.php?c='.$cat['id'].'&t='.$theme['id'].'&'.SID);
}else
header('Location: index.php?c='.$cat['id'].'&t='.$theme['id'].'&'.SID);
}else
{/*----------------- В Ы В О Д Т Е М Ы С С О О Б Щ Е Н И Я М И---------------------*/
$p=(isset($_GET['p']))?intval($_GET['p']):0;
$onpage=(isset($GLOBALS['dat']['tpage']))?$GLOBALS['dat']['tpage']:10;
$onpage=($p==0)?$onpage-1:$onpage;
if(($pagCoun=ceil((mysql_num_rows(sql_query('SELECT `id` FROM `'.PRE.'forum_posts` WHERE `name`="" AND `id_thm`='.$theme['id'].' ORDER BY `time` ASC'))/$onpage)))<$p) $p=$pagCoun-1;
$posts=sql_query('SELECT * FROM `'.PRE.'forum_posts` WHERE `name`="" AND `id_thm`='.$theme['id'].' ORDER BY `time` ASC limit '.(($p==0)?$p*$onpage:$p*$onpage-1).','.$onpage);
function put_content()
{
global $theme,$cat,$posts,$user, $p,$onpage, $pagCoun;
echo '<div class="title">Форум: <a href="index.php?c='.$cat['id'].'&'.SID.'">'.$cat['name'].'</a><br>'.$theme['name'].'</div>';
$i=$p*$onpage+1;
if($p==0)
{
echo '<div class="header"><b>1.</b> <a href="../whois.php?login='.MyEncode($theme['login']).'">'.$theme['login'].'</a> <font color="'.((check_online($theme['login']))?'#66FF33">(On)':'#FF0000">(Off)').'</font>'.((isset($user['rank']) && ($user['rank']&32)==32)?' [<a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&mod=del&id='.$theme['id'].'&'.SID.'">Уд</a>|<a href="../adminpanel/ban.php?login='.MyEncode($theme['login']).'&'.SID.'">Бан</a>]':'').' <a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&answer='.MyEncode($theme['login']).'&'.SID.'">Отв</a></div>';
echo '<b>'.date('d.m.y, H:i', $theme['time']).'</b><br>'.bbc($theme['post']).'<br>';
$i++;
}
$interv=5; $sint=($interv-1)/2; $limn=$sint; $lime=$pagCoun-$sint;
while($post=mysql_fetch_assoc($posts))
{
echo '<div class="header"><b>'.$i.'.</b> <a href="../whois.php?login='.MyEncode($post['login']).'">'.$post['login'].'</a> <font color="'.((check_online($post['login']))?'#66FF33">(On)':'#FF0000">(Off)').'</font>'.((isset($user) && ($user['rank']&32)==32)?' [<a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&mod=del&id='.$post['id'].'&'.SID.'">Уд</a>|<a href="../adminpanel/ban.php?login='.MyEncode($post['login']).'&'.SID.'">Бан</a>]':'').' <a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&answer='.MyEncode($post['login']).'&'.SID.'">Отв</a></div>';
echo '<b>'.date('d.m.y, H:i', $post['time']).'</b><br>'.bbc($post['post']).'<br>';
$i++;
}
if($pagCoun>1)
{
echo'<div class="nav">стр ';
if($p>0) echo '<a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&p='.($p-1).'&'.SID.'"><<</a> ';
if($interv>=$pagCoun)for($i=1;$i<=$pagCoun;$i++) { if (($i-1)==$p) echo $i.' '; else echo '<a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&p='.($i-1).'&'.SID.'">'.$i.'</a> '; }
else
{
if($p<=$limn) { for($i=1;$i<=$interv;$i++) { if (($i-1)==$p) { echo $i.' ';} else { echo '<a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&p='.($i-1).'&'.SID.'">'.$i.'</a> '; }}}
elseif($p>=$lime) { for($i=$pagCoun-$interv+1;$i<=$pagCoun;$i++) { if (($i-1)==$p) { echo $i.' ';} else { echo '<a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&p='.($i-1).'&'.SID.'">'.$i.'</a> '; }} }
else { for($i=$p+1-$sint;$i<=$p+1+$sint;$i++) { if (($i-1)==$p) { echo $i.' ';} else { echo '<a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&p='.($i-1).'&'.SID.'">'.$i.'</a> '; }} }
}
if(($i-2)>$p) echo '<a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&p='.($p+1).'&'.SID.'">>></a> ';
echo'</div>';
}
if(isset($user) && $user['rank']>=32)
if($theme['close']==1) echo '<div class="header"><a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&mod=open&'.SID.'">Открыть тему</a></div>'; else echo '<div class="header"><a href="index.php?c='.$cat['id'].'&t='.$theme['id'].'&mod=close&'.SID.'">Закрыть тему</a></div>';
else
if($theme['close']==1) echo '<div class="header">Тема закрыта</div>';
if(($theme['close']==0 && isset($user)) || (isset($user) && $user['rank']>=32))
echo '<div class="header">Быстрый ответ</div>
<form action="index.php?c='.$cat['id'].'&t='.$theme['id'].'&mod=ans&'.SID.'" method="post">
<textarea cols="30" rows="5" name="post">'.((isset($_GET['answer'])?'[b]'.htmlspecialchars(MyDecode($_GET['answer'])).'[/b], ':'')).'</textarea><br>
<input type="submit" value="Отправить">
</form>
<br>
<div class="nav"><a href="index.php?c='.$cat['id'].'&'.SID.'">Назад</a></div>
';
}
}/*----------------- В Ы В О Д И С О З Д А Н И Е Т Е М----------------*/
}
else
{
if(isset($_GET['mod']) && isset($user))
{
if($_GET['mod']=='new')
{
if(isset($_POST['post']) && isset($_POST['name']))
{
if(strlen($_POST['name'])<=2) $error[]='- Тема слишком короткая.';
if(strlen($_POST['post'])<=2) $error[]='- Сообщение слишком короткое.';
if(!isset($error))
{
sql_send('UPDATE `'.PRE.'users` SET `posts`=posts+1 WHERE `login`="'.$user['login'].'"');
sql_send('INSERT INTO `'.PRE.'forum_posts` SET `login`="'.$user['login'].'", `llogin`="'.$user['login'].'", `time`='.time().', `ltime`='.time().', `name`="'.filtr($_POST['name']).'", `post`="'.filtr($_POST['post']).'", `c`='.$cat['id']);
header('Location: index.php?c='.$cat['id']);
}
}
function put_content()
{
global $error,$cat;
if(isset($error)) echo implode('<br>', $error).'<br>';
echo '<div class="title">Создание новой темы</div>';
echo '<form action="index.php?c='.$cat['id'].'&mod=new&'.SID.'" method="post">';
echo 'Название темы:<br><input type="text" name="name" value="'.(isset($_POST['name'])?htmlspecialchars($_POST['name']):'').'"><br>';
echo '<textarea cols="30" rows="5" name="post">'.(isset($_POST['post'])?htmlspecialchars($_POST['post']):'').'</textarea><br>';
echo '<input type="submit" value="Создать"><br>';
echo '<div class="nav"><a href="index.php?c='.$cat['id'].'&'.SID.'">Назад</a></div>';
echo '</form>';
}
}
}else
{
$onpage=isset($user['tpage'])?$user['tpage']:10;
$p=isset($_GET['p'])?intval($_GET['p']):0;
if(($pagCoun=ceil((mysql_num_rows(sql_query($q='SELECT * FROM `'.PRE.'forum_posts` WHERE `c`='.$cat['id'].' AND `name`!="" ORDER BY `ltime` DESC'))/$onpage)))<$p) $p=$pagCoun-1;
$themes=sql_query($q.=' limit '.($p*$onpage).','.$onpage);
function put_content()
{
global $cat,$themes,$user ,$p,$pagCoun;
echo '<div class="title">Форум: '.$cat['name'].'</div>';
if(mysql_num_rows($themes)==0) echo '- Тем нет<br>'; else
while($theme=mysql_fetch_assoc($themes))
{
echo '<div class="header">'.(($theme['close']==1)?'<b>#</b>':'').'<a href="index.php?c='.$theme['c'].'&t='.$theme['id'].'&'.SID.'">'.$theme['name'].'</a> ['.$theme['posts'].'] (<a href="../whois.php?login='.MyEncode($theme['llogin']).'&'.SID.'">'.$theme['llogin'].'</a>) <a href="index.php?c='.$theme['c'].'&t='.$theme['id'].'&p=9999&'.SID.'">»</a></div>';
}
$interv=5; $sint=($interv-1)/2; $limn=$sint; $lime=$pagCoun-$sint;
if($pagCoun>1)
{
echo'<div class="nav">стр ';
if($p>0) echo '<a href="index.php?c='.$cat['id'].'&p='.($p-1).'&'.SID.'"><<</a> ';
if($interv>=$pagCoun)for($i=1;$i<=$pagCoun;$i++) { if (($i-1)==$p) echo $i.' '; else echo '<a href="index.php?c='.$cat['id'].'&p='.($i-1).'&'.SID.'">'.$i.'</a> '; }
else
{
if($p<=$limn) { for($i=1;$i<=$interv;$i++) { if (($i-1)==$p) { echo $i.' ';} else { echo '<a href="index.php?c='.$cat['id'].'&p='.($i-1).'&'.SID.'">'.$i.'</a> '; }}}
elseif($p>=$lime) { for($i=$pagCoun-$interv+1;$i<=$pagCoun;$i++) { if (($i-1)==$p) { echo $i.' ';} else { echo '<a href="index.php?c='.$cat['id'].'&p='.($i-1).'&'.SID.'">'.$i.'</a> '; }} }
else { for($i=$p+1-$sint;$i<=$p+1+$sint;$i++) { if (($i-1)==$p) { echo $i.' ';} else { echo '<a href="index.php?c='.$cat['id'].'&p='.($i-1).'&'.SID.'">'.$i.'</a> '; }} }
}
if(($i-2)>$p) echo '<a href="index.php?c='.$cat['id'].'&p='.($p+1).'&'.SID.'">>></a> ';
echo'</div>';
}
if(isset($user))echo '<br><a href="index.php?c='.$cat['id'].'&mod=new&'.SID.'">Создать новую тему</a>';
echo '<div class="nav"><a href="index.php?'.SID.'">К категориям</a></div>';
echo '<div class="nav"><a href="../index.php?'.SID.'">На главную</a></div>';
}
}
}
}
else /*---------------- В Ы В О Д Ф О Р У М О В И К А Т Е Г О Р И Й-----------------*/
{
$forums=sql_query('SELECT * FROM `'.PRE.'forum_forums` WHERE `rank`<='.((isset($user))?$user['rank']:0).' ORDER BY `id` ASC');
$all_cats=sql_query('SELECT * FROM `'.PRE.'forum_cats` WHERE `rank`<='.((isset($user))?$user['rank']:0).' ORDER BY `id` ASC');
while($cats[]=mysql_fetch_assoc($all_cats)) $sq[]='`c`='.$cats[count($cats)-1]['id'];
if(isset($sq))
{
$all_posts=sql_query('SELECT `posts`,`c` FROM `'.PRE.'forum_posts` WHERE `name`!="" AND ('.implode(' OR ', $sq).')');
while($posts_c=mysql_fetch_assoc($all_posts))
{
$posts[$posts_c['c']]=(isset($posts[$posts_c['c']]))?$posts[$posts_c['c']]+$posts_c['posts']:$posts_c['posts'];
$themes[$posts_c['c']]=(isset($themes[$posts_c['c']]))?$themes[$posts_c['c']]+1:1;
}
}
function put_content()
{
global $forums,$cats,$posts,$themes;
echo '<div class="title">Форум</div>';
if(mysql_num_rows($forums)!=0)
{
while($forum=mysql_fetch_assoc($forums))
{
echo '<div class="header">'.$forum['name'].'</div>';
if (count($cats)==0) echo '<div></div>'; else
{
echo '<div>';
foreach($cats as $key=>$cat)
{
if($cat['f']===$forum['id'])echo '<a href="index.php?c='.$cat['id'].'&'.SID.'">'.$cat['name'].'</a> ['.((isset($themes[$cat['id']]))?$themes[$cat['id']]:0).'/'.((isset($posts[$cat['id']]))?$posts[$cat['id']]:0).']<br>';
}
echo '</div>';
}
}
}else echo 'Форумы не созданы.<br>';
echo '<br><a href="search.php?'.SID.'">поиск</a>';
echo '<div class="nav"><a href="../index.php?'.SID.'">На главную</a></div>';
}
}
}else
{
function put_content()
{
$link = '10; URL=../?'.SID;
function put_content()
{
echo '- Доступ запрещен администрацией сайта<br><br>';
echo '<a href="../?'.SID.'">далее...</a>';
}
}
}
// подключение дизайна
design();?>