<?php
#############################################
# 0JXRgdC70Lgg0YLRiyDRh9C40YLQsNC10YjRjCDRj #
# dGC0L4g0YHQvtC+0LHRidC10L3QuNC1LCDQt9C90L #
# DRh9C40YIg0YLRiyDQvdC10LzQvdC+0LPQviDQt9C #
# 90LDQtdGI0YwgUEhQIQ== #
#__---------------------------------------__#
#__ 0JrQu9C40Log0JrQu9GD0LE= __#
# --------------------------------------- #
# 0JDQstGC0L7RgCA6IE1vcmdhbg== #
# SUNRIDog0L3QtSDRgdC60LDQttGDIHhE #
# #
#############################################
require '../inc/start.php';
require '../inc/regvars.php';
require '../inc/db.php';
require '../inc/config.php';
require '../inc/funct.php';
require '../inc/antidos.php';
require '../inc/gzip.php';
require '../inc/header.php';
///-------- if user authorized
only_reg('/aut.php?',true);
///---------- CASE
if($user_prof['admin']<$config['enable_forum']){location('menu/index.php');}
$act = null;
switch($mode = (!empty($_GET['mode'])) ? $_GET['mode'] : null)
{
default:
$title = 'Форум';
require '../inc/head.php';
echo '<div class="sec">
<b>Форум</b>
</div><div class="vstavka">';
if($user_prof['admin']==3)echo '<div class="ad"><img src="/pic/add.png"/> <a href="forum.php?mode=newforum">Добавить форум</a></div>
<br />';
$res = query("SELECT * FROM `$db[prefix]forum_f`");
if(mysql_num_rows($res)>0)
{
while($forum = mysql_fetch_array($res))
{
echo '<div class="ie">
<a href="forum.php?mode=forum&fid='.$forum['id'].'"><b>'.$forum['name'].'</b></a>('.$forum['ct'].'/'.$forum['cp'].')<br />';
if($forum['descr']!='') echo bb_code(smiles(nl2br($forum['descr']))).'<br />';
echo '</div>';
}
echo '<br />
<div class="ad"><a href="forum.php?mode=last">Последние сообщения</a></div>
<div class="ad"><a href="forum.php?mode=act">Активные темы</a></div>
<div class="ad"><a href="forum.php?mode=search">Поиск по форуму</a></div>';
if($user_prof['admin']>=2)
{
echo '<div class="ad"><a href="forum.php?mode=updt">Обновить количество постов/тем</a></div>
<div class="ad"><a href="forum.php?mode=struct">Проверить неверные записи</a></div>';
}
}else echo 'Форумы не созданы!<br />';
break;
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
case 'newforum':
$title = 'Создание форума';
require '../inc/head.php';
echo '<div class="sec">
<a href="forum.php">Форум</a> / <b>Создание форума</b>
</div><div class="vstavka">
';
if(isset($_GET['confirm']) && $_GET['confirm']=='yes')
{
$name = obr($_POST['name'],'string',250);
$descr = obr($_POST['descr'],'string',500);
if($name != '')
{
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_f` WHERE `name`='$name'"),0)==0)
{
if(query("INSERT INTO `$db[prefix]forum_f` SET `name`='$name',`descr`='$descr'"))
{
#header('Refresh: 2 url=forum.php?');
echo 'Форум успешно создан!<br />
<a href="forum.php?">Далее>>></a><br />';
}else
{
echo 'Ошибка при создании форума!<br />
<a href="forum.php?mode=newforum"><<<Назад</a><br />';
}
}else
{
echo 'Форум с таким названием уже существует!<br />
<a href="forum.php?mode=newforum"><<<Назад</a><br />';
}
}else
{
echo 'Заполните хотябы поле "Название"!<br />
<a href="forum.php?mode=newforum"><<<Назад</a><br />';
}
}else
{
echo '<form action="forum.php?mode=newforum&confirm=yes" method="POST">
Название (250 симв.) : <br />
<input name="name" type="text" maxlength="250"><br />
Описание (500 симв.) : <br />
<textarea name="descr" rows="6" cols="25"></textarea><br />
<input type="submit" value="Создать">
</form>';
}
break;
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
case 'forum':
if(empty($_GET['fid']))location('menu/forum.php');
$fid = obr($_GET['fid'],'integer');
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_f` WHERE `id` = '$fid' "),0) == 0)location('menu/forum.php');
$forum = mysql_fetch_array(query("SELECT * FROM `$db[prefix]forum_f` WHERE `id` = '$fid' "));
$title = 'Форум | '.$forum['name'];
require '../inc/head.php';
echo '<div class="sec">
<a href="forum.php">Форум</a> / <b>'.$forum['name'].'</b>
</div><div class="vstavka">';
switch($act = (!empty($_GET['act'])) ? $_GET['act'] : null)
{
default:
echo '<div class="ad"><img src="/pic/add.png"/> <a href="forum.php?mode=forum&fid='.$fid.'&act=newtheme">Добавить тему</a></div>
<br />
';
$colthemes = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_t` WHERE `id_forum`='$fid' "),0);
if($forum['ct']!=$colthemes)query("UPDATE `$db[prefix]forum_f` SET `ct`='$colthemes' WHERE `id`='$fid' ");
if($colthemes > 0)
{
$str = ceil($colthemes/$set_on_page);
if($page > $str)location('menu/forum.php?mode=forum&fid='.$fid);
$res_t = query("SELECT * FROM `$db[prefix]forum_t` WHERE `id_forum`='$forum[id]' ORDER BY `top` DESC,`date_last` DESC LIMIT $p_str,$set_on_page");
while($theme = mysql_fetch_array($res_t))
{
echo '<div class="ie">→';
if($theme['top'] == 1)echo '<b>!</b>';
if($theme['close'] == 1)echo '<b>#</b>';
echo '<a href="forum.php?mode=theme&tid='.$theme['id'].'"><b>'.$theme['name'].'</b></a>('.$theme['cp'].')'.($theme['cp'] > $user_prof['set_on_page'] ? '<a href="forum.php?mode=theme&tid='.$theme['id'].'&and=end">»</a>' : null ).'<br />';
echo 'Автор : '.userlogin($theme['id_user'],0,1,$mfvl).'('.formatdate($theme['date']).')';
if($theme['id_userlast']!=0 && $theme['date_last']!=0)echo '<br />Посл. сообщение : '.userlogin($theme['id_userlast'],0,1,$mfvl).'('.formatdate($theme['date_last']).')';
echo '</div>';
}
navigator($str,$page,'forum.php','mode=forum&fid='.$forum['id'],true,true);
}else{echo 'В данном разделе не создано ни одной темы!<br /><br />';}
echo '»<a href="forum.php?mode=forum&fid='.$forum['id'].'&act=newtheme">Новая тема</a><br />
';
if($user_prof['admin']>=3)
{
echo '<br />
»<a href="forum.php?mode=forum&fid='.$forum['id'].'&act=edit">Изменить форум</a><br />
»<a href="forum.php?mode=forum&fid='.$forum['id'].'&act=del">Удалить форум</a><br />';
}
break;
###################################################################################
###################################################################################
case 'edit':
if($user_prof['admin']<3){location('menu/index.php');}
if(isset($_GET['confirm']) && $_GET['confirm']=='yes')
{
$name = obr($_POST['name'],'string',250);
$descr = obr($_POST['descr'],'string',500);
if($name != '')
{
$ct = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_t` WHERE `id_forum`='$forum[id]' "),0);
$cp = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_p` WHERE `id_forum`='$forum[id]' "),0);
if(query("UPDATE `$db[prefix]forum_f` SET `name`='$name',`descr`='$descr',`ct`='$ct',`cp`='$cp' WHERE `id`='$fid' "))
{
#header('Refresh: 2 url=forum.php');
echo 'Форум успешно изменен!<br />
<a href="forum.php">Далее>>></a><br />';
}else
{
echo 'Ошибка при изменении форума!<br />
<a href="forum.php?mode=forum&fid='.$fid.'&act=edit"><<<Назад</a><br />';
}
}else
{
echo 'Заполните хотябы поле "Название"!<br />
<a href="forum.php?mode=forum&fid='.$fid.'&act=edit"><<<Назад</a><br />';
}
}else
{
echo '<form action="forum.php?mode=forum&fid='.$fid.'&act=edit&confirm=yes" method="POST">
<b>Название</b> : <br />
<input name="name" type="text" value="'.$forum['name'].'" maxlength="50"><br />
Описание (500 симв.) : <br />
<textarea name="descr" rows="6" cols="25">'.$forum['descr'].'</textarea><br />
<input type="submit" value="Сохранить">
</form><br />
<div class="ad"><a href="/menu/bbcode.php">BB коды</a></div>
<div class="ad"><a href="/menu/smiles.php">Смайлики</a></div>
';
}
break;
###################################################################################
###################################################################################
case 'del':
if(isset($_GET['confirm']) && $_GET['confirm']=='yes')
{
if(query("DELETE FROM `$db[prefix]forum_f` WHERE `id`='$fid'"))
{
query("DELETE FROM `$db[prefix]forum_p` WHERE `id_forum`='$fid'");
query("DELETE FROM `$db[prefix]forum_t` WHERE `id_forum`='$fid'");
#header('Refresh: 2 url=forum.php');
echo 'Форум успешно удален!<br />
<a href="forum.php">Далее>>></a><br />';
}else
{
echo 'Ошибка при удалении форума!<br />
<a href="forum.php?mode=forum&fid='.$fid.'&act=del"><<<Назад</a><br />';
}
}else
{
echo 'Вы хотите удалить форум "'.$forum['name'].'"<br />
<center><b><a href="forum.php?mode=forum&fid='.$fid.'&act=del&confirm=yes">ДА</a> | <a href="forum.php">НЕТ</a></b></center>';
}
break;
###################################################################################
###################################################################################
case 'newtheme':
if(is_active_user($user_prof['id'],0))
{
if(isset($_GET['confirm']) && $_GET['confirm']=='yes')
{
$name = obr($_POST['name'],'string',70);
$text = obr($_POST['text'],'string',1000);
if($name != '' && $text != '')
{
if(utf_strlen($name)>=$config['antispam_minlen_ftheme'] && utf_strlen($text)>=$config['antispam_minlen_fpost'])
{
if(mysql_result(query("SELECT COUNT(*)FROM `$db[prefix]forum_t` WHERE `name`='$name' AND `id_forum`='$fid'"),0)==0)
{
/*
//antispam
$query = query("SELECT COUNT(*) FROM `$db[prefix]forum_t` WHERE `id_user`='$user_prof[id]' ");
$ls = (mysql_result($query,0)-1);
if($ls>0)
{
$query = query("SELECT `date` FROM `forum_t` WHERE `id_user`='$user_prof[id]' LIMIT '$ls',1 ");
$last_record = mysql_result($query,0);
}else{$last_record = 0;}
*/
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]antispam` WHERE `user` = '$user_prof[id]'"),0) == 0)
{
if(query("INSERT INTO `$db[prefix]forum_t` SET `id_forum`='$fid',`name`='$name',`id_user`='$user_prof[id]',`date`='$sitetime',`date_last`='$sitetime'"))
{
$new_theme_id = mysql_insert_id();
query("INSERT INTO `$db[prefix]forum_p` SET `id_forum`='$fid',`id_theme`='$new_theme_id',`user`='$user_prof[id]',`date`='$sitetime',`text`='$text',`ip`='$_ip',`ua`='$_ua'");
query("INSERT `$db[prefix]antispam` SET `user` = '$user_prof[id]',`time` = ($sitetime + $config[antispam_all]) ");
query("UPDATE `$db[prefix]users` SET `col_forum_t`= `col_forum_t` + '1',`col_forum_p` = `col_forum_p` + '1',`credits` = `credits` + '$config[price_forum_t]' WHERE `id`='$user_prof[id]' ");
query("UPDATE `$db[prefix]forum_f` SET `ct` = `ct` + '1',`cp`= `cp` + '1' WHERE `id`='$forum[id]' ");
#header('Refresh: 2 url=forum.php?act=theme&id='.$new_theme_id.'');
echo 'Тема "'.$name.'" успешно создана!<br />
<a href="forum.php?mode=theme&tid='.$new_theme_id.'">Далее>>></a><br />';
}else
{ echo 'Ошибка создании темы!<br />
<a href="forum.php?mode=forum&fid='.$fid.'&act=newtheme"><<<Назад</a><br />'; }
}else
{ echo 'Не части, можно писать раз в '.$config['antispam_all'].' сек.!<br />
<a href="forum.php?mode=forum&fid='.$fid.'&act=newtheme"><<<Назад</a><br />'; }
}else
{ echo 'Тема с таким названием уже существует в этом форуме, придумайте название пооригинальние!<br />
<a href="forum.php?mode=forum&fid='.$fid.'&act=newtheme"><<<Назад</a><br />'; }
}else
{echo 'Минимальная длина темы '.$config['antispam_minlen_ftheme'].' символов, сообщения '.$config['antispam_minlen_fpost'].' символов!<br />
<a href="forum.php?mode=forum&fid='.$fid.'&act=newtheme"><<<Назад</a><br />';}
}else
{ echo 'Заполните все поля!<br />
<a href="forum.php?mode=forum&fid='.$fid.'&act=newtheme"><<<Назад</a><br />'; }
}else
{
echo '<form action="forum.php?mode=forum&fid='.$fid.'&act=newtheme&confirm=yes" method="POST">
Название (70 симв.) : <br />
<input name="name" type="text" maxlength="50"><br />
Текст сообщения (1000 симв.) : <br />
<textarea name="text" rows="6" cols="25" ></textarea><br />
<input type="submit" value="Создать тему">
</form><br />
<div class="ad"><a href="/menu/bbcode.php">BB коды</a></div>
<div class="ad"><a href="/menu/smiles.php">Смайлики</a></div>
';
}
}else
{
echo 'Ваш статус неактивен!<br />Создание темы в форуме недоступно!';
}
break;
/*
###################################################################################
###################################################################################
case '-':
require '../inc/head.php';
echo '<div class="sec">
</div><div class="vstavka">
';
break;
*/
}
break;
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
case 'theme':
if(empty($_GET['tid']))location('menu/forum.php');
$tid = obr($_GET['tid'],'integer');
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_t` WHERE `id` = '$tid' "),0) == 0)location('menu/forum.php');
$theme = mysql_fetch_array(query("SELECT * FROM `$db[prefix]forum_t` WHERE `id` = '$tid' "));
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_f` WHERE `id` = '$theme[id_forum]' "),0) == 0)location('menu/forum.php');
$forum = mysql_fetch_array(query("SELECT * FROM `$db[prefix]forum_f` WHERE `id` = '$theme[id_forum]' "));
$title = 'Форум | '.$forum['name'].' | '.$theme['name'];
require '../inc/head.php';
echo '<div class="sec">
<a href="forum.php">Форум</a> / <a href="forum.php?mode=forum&fid='.$forum['id'].'">'.$forum['name'].'</a> / <a href="forum.php?mode=theme&tid='.$tid.'"><b>'.$theme['name'].'</b></a>
</div><div class="vstavka">
';
switch($act = (!empty($_GET['act'])) ? $_GET['act'] : null)
{
default:
echo '<div class="ad"><img src="/pic/add.png"/> <a href="forum.php?mode=theme&tid='.$tid.'&act=newpost">Добавить пост</a></div>
<br />
';
$colposts = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_p` WHERE `id_theme`='$tid'"),0);
if($theme['cp']!=$colposts)query("UPDATE `$db[prefix]forum_t` SET `cp`='$colposts' WHERE `id`='$tid' ");
$str = ceil($colposts/$set_on_page);
if($colposts > 0)
{
if(!empty($_GET['and']) && $_GET['and'] == 'end')
{
$page = $str;
$p_str = ($set_on_page*$page)-$set_on_page;
}
$res_p = query("SELECT * FROM `$db[prefix]forum_p` WHERE `id_theme`='$tid' ORDER BY `date` ASC LIMIT $p_str,$set_on_page");
$number = $p_str;
while($post = mysql_fetch_array($res_p))
{
$number ++;
echo '<div class="ie" id="post-'.$post['id'].'"><b>'.$number.'.</b>'.userlogin($post['user'],1,1,$mfvl,1,1);
if($user_prof['id'] != $post['user'])echo ' [<a href="forum.php?mode=theme&tid='.$tid.'&act=newpost&ans='.$post['user'].'">Отв</a>]';
if($user_prof['admin']>=2 || ($post['user']==$user_prof['id'] && ($sitetime - $post['date'])<$config['antispam_forum_pe'] ))echo ' [<a href="forum.php?mode=post&pid='.$post['id'].'&act=edit">Изм</a>]';
if($user_prof['admin']>=2 && $number > 1) echo '[<a href="forum.php?mode=post&pid='.$post['id'].'&act=del">Удал</a>] ';
echo '<br />
<b>'.formatdate($post['date']).'</b><br/ >'.bb_code(smiles(nl2br($post['text']))).'<br />
';
if($post['changed_count'] > 0 && $post['changed_lasttime'] > 0 && $post['changed_lastuser'] > 0 )
{
echo '<span class="changed">[Редактировано '.userlogin($post['changed_lastuser'],0,1,$mfvl).' в '.formatdate($post['changed_lasttime'],'G:i d.m.Y').'.
Всего редактировано '.$post['changed_count'].'раз(а) ]</span><br />';
}
if($user_prof['admin']>=2 || $post['user'] == $user_prof['id'])echo '<span class="info">('.find_cut($post['ua'],' ','up').' - '.$post['ip'].')</span><br />';
echo '</div>';
}
navigator($str,$page,'forum.php','mode=theme&tid='.$tid,true,true);
}else{echo 'В данной теме не оствлено ни одного поста!<br /><br />';}
if($theme['close']==1)
{
echo '<b>Эта тема закрыта</b><br />';
}else
{
if(is_active_user($user_prof['id'],0))
{
echo '<form action="forum.php?mode=theme&tid='.$tid.'&act=newpost" method="POST">
Ваше сообщение (500 симв.) : <br />
<textarea name="text" rows="5" cols="24" ></textarea><br />
<input type="submit" value="Далее">
</form><br />
<div class="ad"><a href="/menu/bbcode.php">BB коды</a></div>
<div class="ad"><a href="/menu/smiles.php">Смайлики</a></div>';
}else
{
echo 'Ваш статус неактивен!<br />Написание сообщений на форуме недоступно!';
}
}
if($user_prof['admin']>=2)
{
echo '<div class="ad">»<a href="forum.php?mode=theme&tid='.$tid.'&act=edit">Изменить тему</a><br />
»<a href="forum.php?mode=theme&tid='.$tid.'&act=trans">Перенести тему</a><br />
»<a href="forum.php?mode=theme&tid='.$tid.'&act=open">'.($theme['close'] == 1 ? 'Открыть' : 'Закрыть').' тему</a><br />
»<a href="forum.php?mode=theme&tid='.$tid.'&act=del">Удалить тему</a></div>';
}
break;
###################################################################################
###################################################################################
case 'edit':
if(isset($_GET['confirm']) && $_GET['confirm']=='yes')
{
$name = obr($_POST['name'],'string',50);
$status = obr($_POST['status'],'integer',1);
$status = ($status == 0 || $status == 1) ? $status : 0 ;
$top = !empty($_POST['top']) ? obr($_POST['top'],'integer',1) : 0;
$top = ($top == 0 || $top == 1) ? $top : 0 ;
if($name != '')
{
$cp = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_p` WHERE `id_theme`='$tid' "),0);
if(query("UPDATE `$db[prefix]forum_t` SET `name`='$name',`close`='$status',`top`='$top',`cp`='$cp' WHERE `id`='$tid' "))
{
#header('Refresh: 2 url=forum.php?mode=theme&tid='.$tid);
echo 'Тема успешно изменена!<br />
<a href="forum.php?mode=theme&tid='.$tid.'">Далее>>></a><br />';
}else{echo 'Ошибка при изменении темы!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&act=edit"><<<Назад</a><br />';}
}else{echo 'Заполните все поля!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&act=edit"><<<Назад</a><br />';}
}
else
{
echo '<form action="forum.php?mode=theme&tid='.$tid.'&act=edit&confirm=yes" method="POST">
<b>Название</b> : <br />
<input name="name" type="text" value="'.$theme['name'].'" maxlength="50"><br />
<b>Статус</b> : <br />
<input name="status" type="radio" value="0" '; if($theme['close']==0) echo ' checked="checked" '; echo '>Открытая <input name="status" type="radio" value="1" '; if($theme['close']==1) echo ' checked="checked" '; echo '>Закрытая<br />
<b>Дополнительно</b> : <br />
<input name="top" type="checkbox" value="1" '.($theme['top']==1 ? 'checked="checked"' : '').'> Топ тема <br />
<input type="submit" value="Сохранить">
</form><br />
<div class="ad"><a href="/menu/bbcode.php">BB коды</a></div>
<div class="ad"><a href="/menu/smiles.php">Смайлики</a></div>
';
}
break;
###################################################################################
###################################################################################
case 'del':
if(isset($_GET['confirm']) && $_GET['confirm']=='yes')
{
$res_posts = query("SELECT user FROM `$db[prefix]forum_p` WHERE `id_theme`='$theme[id]'");
if(mysql_num_rows($res_posts)>0){ while($post_for_del = mysql_fetch_array($res_posts)){ query("UPDATE `$db[prefix]users` SET `col_forum_p`=col_forum_p - 1 WHERE `id`='$post_for_del[user]' "); } }
if(query("DELETE FROM `$db[prefix]forum_t` WHERE `id`='$theme[id]'"))
{
query("UPDATE `$db[prefix]forum_f` SET `ct`=ct-1,`cp`=cp-$theme[cp] WHERE `id`='$forum[id]' ");
query("DELETE FROM `$db[prefix]forum_p` WHERE `id_theme`='$theme[id]'");
query("UPDATE `$db[prefix]users` SET `col_forum_t`=col_forum_t - 1 WHERE `id`='$theme[id_user]'");
# #header('Refresh: 2 url=forum.php?mode=theme&tid='.$tid.'&act=del');
echo 'Тема успешно удалена!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&act=del">Далее>>></a><br />';
}else
{
echo 'Ошибка при удалении темы!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&act=del"><<<Назад</a><br />';
}
}else
{
echo 'Вы хотите удалить тему "'.$theme['name'].'"<br />
<center><b><a href="forum.php?mode=theme&tid='.$tid.'&act=del&confirm=yes">ДА</a> | <a href=forum.php?mode=theme&tid='.$tid.'">НЕТ</a></b></center>';
}
break;
###################################################################################
###################################################################################
case 'open':
if($theme['close'] == 1)
{
$result = 0;
$text = 'открыта';
}
else
{
$result = 1;
$text = 'закрыта';
}
if(query("UPDATE `$db[prefix]forum_t` SET `close`='$result' WHERE `id`='$tid' "))
{
# #header('Refresh: 2 url=forum.php?mode=theme&tid='.$tid);
echo 'Тема успешно '.$text.'!<br />
<a href="forum.php?mode=theme&tid='.$tid.'">Далее>>></a>';
}
else
{
echo 'Ошибка!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&act=open"><<<Назад</a>';
}
break;
###################################################################################
###################################################################################
case 'trans':
if(isset($_GET['confirm']) && $_GET['confirm']=='yes')
{
$to = obr($_POST['to'],'integer');
if(!empty($to) && $to != $forum['id'])
{
// Переносим тему
if(query("UPDATE `$db[prefix]forum_t` SET `id_forum`='$to' WHERE `id`='$theme[id]' "))
{
// Переносим посты
# $res_posts = query("SELECT ");
if(query("UPDATE `$db[prefix]forum_p` SET `id_forum`='$to' WHERE `id_theme`='$theme[id]' "))
{
# #header('Refresh: 2 url=forum.php?mode=theme&tid='.$tid);
echo 'Тема с постами успешно перенесена<br />
<a href="forum.php?mode=theme&tid='.$tid.'">Далее>>></a>';
}else{
query("UPDATE `$db[prefix]forum_t` SET `id_forum`='$forum[id]' WHERE `id`='$theme[id]' ");
echo 'Не могу перенести посты!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&act=trans"><<<Назад</a>';}
}else{echo 'Не могу перенести тему!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&act=trans"><<<Назад</a>';}
}else{echo 'Форум не существует!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&act=trans"><<<Назад</a>';}
}
else
{
echo '<form action="forum.php?mode=theme&tid='.$tid.'&act=trans&confirm=yes" method="POST">
Перенести тему со всеми постами в раздел : <br />
<select size="1" name="to">';
$res = query("SELECT id,name FROM `$db[prefix]forum_f` WHERE `id`<>'$forum[id]' ORDER BY `name` DESC");
while($forums = mysql_fetch_array($res)){echo '<option value="'.$forums['id'].'">'.$forums['name'].'</option>';}
echo '</select><br />
<input type="submit" value="Перенести">
</form>';
}
break;
###################################################################################
###################################################################################
case 'newpost':
if(is_active_user($user_prof['id'],0))
{
if($theme['close']!=1)
{
//antispam
#$query = query("SELECT COUNT(*) FROM `$db[prefix]forum_p` WHERE `user`='$user_prof[id]' ");
#$ls = (mysql_result($query,0)-1);
#if($ls>0)
#{
#$query = query("SELECT `date` FROM `$db[prefix]forum_p` WHERE `user`='$user_prof[id]' LIMIT $ls,1 ");
#$last_record = mysql_result($query,0);
#}else{$last_record = 0;}
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]antispam` WHERE `user` = '$user_prof[id]'"),0) == 0)
{
if(!empty($_POST['text']))
{
$text = obr($_POST['text'],'string',1000);
#var_dump($text);
if(utf_strlen($text)>=$config['antispam_minlen_fpost'])
{
if(query("INSERT INTO `$db[prefix]forum_p` SET `id_forum`='$forum[id]',`id_theme`='$theme[id]',`text`='$text',`user`='$user_prof[id]',`date`='$sitetime',`ip`='$_ip',`ua`='$_ua'"))
{
$pid = mysql_insert_id();
query("INSERT `$db[prefix]antispam` SET `user` = '$user_prof[id]',`time` = ($sitetime + $config[antispam_all]) ");
query("UPDATE `$db[prefix]forum_t` SET `id_userlast` = '$user_prof[id]',`date_last` = '$sitetime',`cp` = `cp` + '1' WHERE `id`='$theme[id]'");
query("UPDATE `$db[prefix]forum_f` SET `cp` = `cp` + '1' WHERE `id`='$forum[id]' ");
query("UPDATE `$db[prefix]users` SET `col_forum_p` = `col_forum_p` + '1',`credits` = `credits` + '$config[price_forum_p]' WHERE `id`='$user_prof[id]' ");
# #header('Refresh: 2 url=forum.php?act=theme&id='.$theme['id'].'&page='.$page.'');
echo 'Ваше сообщение успешно добавлено!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&and=end#post-'.$pid.'">Далее>>></a><br />';
}else
{
echo 'Ошибка при добавлении сообщения!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&act=newpost"><<<Назад</a><br />';
}
}else
{
echo 'Минимальная длина сообщения, '.$config['antispam_minlen_fpost'].' символов!<br />
<a href="forum.php?mode=theme&tid='.$tid.'&act=newpost"><<<Назад</a><br />';
}
}
else
{
$text = null;
if(!empty($_GET['ans']))
{
$ans = obr($_GET['ans'],'integer');
$res_ans = query("SELECT login FROM `$db[prefix]users` WHERE `id` = '$ans' ");
if(mysql_num_rows($res_ans) > 0)
{
$text = '[b]'.mysql_result($res_ans,0).'[/b], ';
}
}
echo '<form action="forum.php?mode=theme&tid='.$tid.'&act=newpost" method="POST">
Ваше сообщение (1000 симв.) : <br />
<textarea name="text" rows="6" cols="25">'.$text.'</textarea><br />
<input type="submit" value="Далее">
</form><br />
<div class="ad"><a href="/menu/bbcode.php">BB коды</a></div>
<div class="ad"><a href="/menu/smiles.php">Смайлики</a></div>
';
}
}else
{ echo 'Не части, можно писать раз в '.$config['antispam_all'].' сек!<br />
<a href="forum.php?mode=theme&tid='.$tid.'"><<<Назад</a><br />'; }
}else
{ echo '<b>Эта тема закрыта!</b>!<br />
<a href="forum.php?mode=theme&tid='.$tid.'"><<<Назад</a><br />'; }
}else
{
echo 'Ваш статус неактивен!<br />Написание сообщений на форуме недоступно!';
}
break;
/*
###################################################################################
###################################################################################
case '-':
require '../inc/head.php';
echo '<div class="sec">
</div><div class="vstavka">
';
break;
*/
}
break;
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
case 'post':
if(empty($_GET['pid']))location('menu/forum.php');
$pid = obr($_GET['pid'],'integer');
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_p` WHERE `id` = '$pid' "),0) == 0)location('menu/forum.php');
$post = mysql_fetch_array(query("SELECT * FROM `$db[prefix]forum_p` WHERE `id` = '$pid' "));
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_t` WHERE `id` = '$post[id_theme]' "),0) == 0)location('menu/forum.php');
$theme = mysql_fetch_array(query("SELECT * FROM `$db[prefix]forum_t` WHERE `id` = '$post[id_theme]' "));
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_f` WHERE `id` = '$post[id_forum]' "),0) == 0)location('menu/forum.php');
$forum = mysql_fetch_array(query("SELECT * FROM `$db[prefix]forum_f` WHERE `id` = '$post[id_forum]' "));
$title = 'Форум | '.$forum['name'].' | '.$theme['name'].' | Управление постом';
require '../inc/head.php';
echo '<div class="sec">
<a href="forum.php">Форум</a> / <a href="forum.php?mode=forum&fid='.$forum['id'].'">'.$forum['name'].'</a> / <a href="forum.php?mode=theme&tid='.$theme['id'].'">'.$theme['name'].'</a> / <b>Управление постом</b>
</div><div class="vstavka">';
# <a href="forum.php">Форум</a> / <a href="forum.php?mode=forum&fid='.$forum['id'].'">'.$forum['name'].'</a> / <b>'.$theme['name'].'</b>
switch($act = (!empty($_GET['act'])) ? $_GET['act'] : null)
{
default:
location('menu/forum.php?mode=theme&tid='.$post['id_theme']);
break;
###################################################################################
###################################################################################
case 'edit':
if($user_prof['admin']<2 && ($post['user']!=$user_prof['id'] || ($sitetime - $post['date'])>$config['antispam_forum_pe'] ))location('menu/forum.php');
if(isset($_GET['confirm']) && $_GET['confirm']=='yes')
{
$text = obr($_POST['text'],'string',1000);
if($text != '')
{
if(query("UPDATE `$db[prefix]forum_p` SET `text`='$text',`changed_count`=changed_count + 1,`changed_lasttime`='$sitetime',`changed_lastuser`='$user_prof[id]' WHERE `id`='$post[id]' "))
{
echo 'Пост успешно изменен!<br />
<a href="forum.php?mode=theme&tid='.$post['id_theme'].'">Далее>>></a><br />';
}else
{
echo 'Ошибка при изменении поста!<br />
<a href="forum.php?mode=post&pid='.$pid.'&act=edit"><<<Назад</a><br />';
}
}else
{
echo 'Заполните все поля!<br />
<a href="forum.php?mode=post&pid='.$pid.'&act=edit"><<<Назад</a><br />';
}
}else
{
echo '<form action="forum.php?mode=post&pid='.$pid.'&act=edit&confirm=yes" method="POST">
Содержимое поста (1000 симв.) : <br />
<textarea name="text" rows="6" cols="25" >'.$post['text'].'</textarea><br />
<input type="submit" value="Изменить">
</form><br />
<div class="ad"><a href="/menu/bbcode.php">BB коды</a></div>
<div class="ad"><a href="/menu/smiles.php">Смайлики</a></div>
';
}
break;
###################################################################################
###################################################################################
case 'del':
if($user_prof['admin']<2)location('menu/forum.php');
if(isset($_GET['confirm']) && $_GET['confirm']=='yes')
{
if(query("DELETE FROM `$db[prefix]forum_p` WHERE `id`='$post[id]'"))
{
query("UPDATE `$db[prefix]forum_t` SET `cp`=cp-1 WHERE `id`='$theme[id]' ");
query("UPDATE `$db[prefix]forum_f` SET `cp`=cp-1 WHERE `id`='$forum[id]' ");
query("UPDATE `$db[prefix]users` SET `col_forum_p`=col_forum_p - 1 WHERE `id`='$post[user]' ");
#header('Refresh: 2 url=forum.php?mode=theme&tid='.$post['id_theme']);
echo 'Пост успешно удален!<br />
<a href="forum.php?mode=theme&tid='.$post['id_theme'].'">Далее>>></a><br />';
}else
{
echo 'Ошибка при удалении поста!<br />
<a href="forum.php?mode=post&pid='.$post['id'].'&act=del"><<<Назад</a><br />';
}
}else
{
echo 'Вы хотите удалить пост "<i>'.(utf_strlen($post['text'] > 30) ? utf_substr($post['text'],0,30).' ...' : $post['text']).'</i>"<br />
<center><b><a href="forum.php?mode=post&pid='.$post['id'].'&act=del&confirm=yes">ДА</a> | <a href="forum.php?mode=theme&tid='.$post['id_theme'].'">НЕТ</a></b></center>';
}
break;
}
break;
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
case 'last':
$title = 'Последние сообщения';
require '../inc/head.php';
echo '<div class="sec">
<a href="forum.php">Форум</a> / <b>Последние сообщения</b>
</div><div class="vstavka">
';
$cthemes = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_t` WHERE `date_last`>$sitetime-86400 "),0);
if($cthemes>0)
{
$str = ceil($cthemes/$set_on_page);
if($page>$str){location('menu/forum.php?mode=last');}
$res = query("SELECT id,name,date_last,id_user,id_userlast,cp FROM `$db[prefix]forum_t` WHERE `date_last`>$sitetime-86400 ORDER BY `date_last` DESC LIMIT $p_str,$set_on_page ");
while($theme = mysql_fetch_array($res))
{
echo '<div class="ie">→ <a href="forum.php?mode=theme&tid='.$theme['id'].'"><b>'.$theme['name'].'</b></a>('.$theme['cp'].')'.($theme['cp'] > $user_prof['set_on_page'] ? '<a href="forum.php?mode=theme&tid='.$theme['id'].'&and=end">»</a>' : null ).'<br />
'.userlogin((!empty($theme['id_userlast']) ? $theme['id_userlast'] : $theme['id_user']),0,1,$mfvl).' - '.formatdate($theme['date_last']).'</div>';
}
navigator($str,$page,'forum.php','mode=last');
}else{echo 'Тем нет!';}
break;
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
case 'act':
$title = 'Активные темы';
require '../inc/head.php';
echo '<div class="sec">
<a href="forum.php">Форум</a> / <b>Активные темы</b>
</div><div class="vstavka">
';
$cthemes = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_t` WHERE `cp`>'0' "),0);
if($cthemes>0)
{
$str = ceil($cthemes/$set_on_page);
if($page>$str){location('menu/forum.php?mode=act');}
$res = query("SELECT id,name,date_last,id_user,id_userlast,cp FROM `$db[prefix]forum_t` WHERE `cp`>'0' ORDER BY `cp` DESC LIMIT $p_str,$set_on_page ");
while($theme = mysql_fetch_array($res))
{
echo '<div class="ie">→ <a href="forum.php?mode=theme&tid='.$theme['id'].'"><b>'.$theme['name'].'</b></a>('.$theme['cp'].')'.($theme['cp'] > $user_prof['set_on_page'] ? '<a href="forum.php?mode=theme&tid='.$theme['id'].'&and=end">»</a>' : null ).'<br />
'.userlogin((!empty($theme['id_userlast']) ? $theme['id_userlast'] : $theme['id_user']),0,1,$mfvl).' - '.formatdate($theme['date_last']).'</div>';
}
navigator($str,$page,'forum.php','mode=act');
}else{echo 'Тем нет!';}
break;
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
case 'updt':
$title = 'Обновление';
require '../inc/head.php';
echo '<div class="sec">
<a href="forum.php">Форум</a> / <b>Обновление</b>
</div><div class="vstavka">
';
$edit['forums'] = $edit['themes'] = 0;
$res = query("SELECT id,name,cp,ct FROM `$db[prefix]forum_f`");
while($forum = mysql_fetch_array($res))
{
$cp = $ct = 0;
# echo '<b>'.$forum['name'].'</b><br />';
$res1 = query("SELECT id,cp FROM `$db[prefix]forum_t` WHERE `id_forum`='$forum[id]' ");
while($theme = mysql_fetch_array($res1))
{
++ $ct;
$cpt = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_p` WHERE `id_theme`='$theme[id]' "),0);
$cp += $cpt;
if($theme['cp']!=$cpt)
{
query("UPDATE `$db[prefix]forum_t` SET `cp`='$cpt' WHERE `id`='$theme[id]' ");
++ $edit['themes'];
}
}
if($forum['ct']!=$ct || $forum['cp']!=$cp)
{
query("UPDATE `$db[prefix]forum_f` SET `cp`='$cp',`ct`='$ct' WHERE `id`='$forum[id]' ");
++ $edit['forums'];
}
}
if($edit['forums']>0)echo 'Обновлено <u>'.$edit['forums'].'</u> форума(ов)<br />';
else echo 'Ни один форум не обновлен<br />';
if($edit['themes']>0)echo 'Обновлено <u>'.$edit['themes'].'</u> тем(а)<br />';
else echo 'Ни одна тема не обновлена<br />';
echo '<a href="forum.php">Далее>>></a>';
break;
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
case 'struct':
$title = 'Проверка структуры';
require '../inc/head.php';
echo '<div class="sec">
<a href="forum.php">Форум</a> / <b>Проверка структуры</b>
</div><div class="vstavka">
';
$posts_for_del = $themes_for_del = 0;
// темы без форумов
$res_p = query("SELECT id,id_forum FROM `$db[prefix]forum_t` ORDER BY `id` ASC");
while($theme = mysql_fetch_array($res_p))
{
// есть ли такой форум
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_f` WHERE `id`='$theme[id_forum]'"),0)==0)
{
query("DELETE FROM `$db[prefix]forum_t` WHERE `id`='$theme[id]'");
++ $themes_for_del;
}
}
if($themes_for_del>0)echo 'Удалено <u>'.$themes_for_del.'</u> тем(а)<br />';
else echo 'Не удалена ни одна тема<br />';
// посты без тем
$res_p = query("SELECT id,id_theme,id_forum FROM `$db[prefix]forum_p` ORDER BY `id` ASC");
while($post = mysql_fetch_array($res_p))
{
// есть ли такая тема
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_t` WHERE `id`='$post[id_theme]'"),0)==0)
{
query("DELETE FROM `$db[prefix]forum_p` WHERE `id`='$post[id]'");
++ $posts_for_del;
}// есть ли такой форум
elseif(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_f` WHERE `id`='$post[id_forum]'"),0)==0)
{
query("DELETE FROM `$db[prefix]forum_p` WHERE `id`='$post[id]'");
++ $posts_for_del;
}
}
if($posts_for_del>0)echo 'Удалено <u>'.$posts_for_del.'</u> постов(а)<br />';
else echo 'Не удален ни один пост<br />';
echo '<a href="forum.php">Далее>>></a><br />';
break;
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
case 'search':
$title = 'Поиск по форуму';
require '../inc/head.php';
echo '<div class="sec">
Поиск по форуму
</div><div class="vstavka">
';
switch($act = (!empty($_GET['act'])) ? $_GET['act'] : null)
{
default:
echo '<form action="forum.php?mode=search&act=create" method="POST">
Запрос (мин 4 симв.) : <br />
<input name="query" type="text" maxlength="25"><br />
Режим поиска : <br />
<select size="1" name="type">
<option value="0">или</option>
<option value="1">и</option>
<option value="2">полное соответствие</option>
</select><br />
<input type="submit" value="Искать">
</form>';
break;
###################################################################################
###################################################################################
case 'create':
if(!empty($_POST['query']) && isset($_POST['type']))
{
$query = str_replace(array('%','_'),'',obr($_POST['query'],'string',25));
$type = obr($_POST['type'],'integer',1);
if(utf_strlen($query) >= 4 && ($type == 0 || $type == 1 || $type == 2) )
{
//-- Составляем запрос
$zapros = null;
if($type == 2)
{
$zapros = "`text` LIKE \'%$query%\'";
}else
{
$aw = explode(' ',$query);
$cw = count($aw);
$zapros = null;
for($i = 0;$i < $cw;$i++)
{
$zapros .= ' '.($type == 0 ? 'OR' : ' AND')." `text` LIKE \'%$aw[$i]%\'";
}
$zapros = substr($zapros,($type == 0 ? 4 : 5));
}
$sid = gen_id();
if(query("INSERT INTO `$db[prefix]search` SET `id` = '$sid',`where` = 'forum',`time` = '$sitetime',`query` = '$zapros',`user` = '$user_prof[id]'"))
{
location('menu/forum.php?mode=search&act=search&sid='.$sid);
}else{echo 'Неизвестная ошибка!<br />
<a href="forum.php?mode=search"><<<Назад</a>';}
}else{echo 'Заполните все поля правильно!<br />
<a href="forum.php?mode=search"><<<Назад</a>';}
}else{echo 'Заполните все поля!<br />
<a href="forum.php?mode=search"><<<Назад</a>';}
break;
###################################################################################
###################################################################################
case 'search':
if(empty($_GET['sid']))location('menu/forum.php?mode=search');
$sid = obr($_GET['sid'],'integer');
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]search` WHERE `id` = '$sid' AND `user` = '$user_prof[id]' AND `where` = 'forum'"),0) == 0)location('menu/forum.php?mode=search');
if(!empty($_SESSION['search_time']) && ($sitetime - $_SESSION['search_time']) < 2)$search_rule = false;
else { $search_rule = true;}
$_SESSION['search_time'] = $sitetime;
if($search_rule)
{
query("UPDATE `$db[prefix]search` SET `time` = '$sitetime' WHERE `id` = '$sid'");
$search = mysql_fetch_array(query("SELECT * FROM `$db[prefix]search` WHERE `id` = '$sid'"));
$count = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]forum_p` WHERE $search[query]"),0);
echo '<div class="ad">Результатов поиска : <b>'.$count.'</b> | <a href="forum.php?mode=search&act=unset&sid='.$sid.'">новый поиск</a></div>';
if($count > 0)
{
$str = ceil($count/$set_on_page);
if($page > $str)location('menu/forum.php?mode=search&act=search&sid='.$sid);
$res = query("SELECT id,user,id_theme,text,date FROM `$db[prefix]forum_p` WHERE $search[query] ORDER BY `date` DESC LIMIT $p_str,$set_on_page");
$num = $p_str;
while($post = mysql_fetch_array($res))
{
$num ++;
echo '<div class="ie"><b>'.$num.'.</b> <a href="forum.php?mode=theme&tid='.$post['id_theme'].'#post-'.$post['id'].'">'.mysql_result(query("SELECT name FROM `$db[prefix]forum_t` WHERE `id` = '$post[id_theme]'"),0).'</a> | <a href="forum.php?mode=theme&tid='.$post['id_theme'].'&and=end#post-'.$post['id'].'">-></a> '.userlogin($post['user'],1,1,$mfvl,1,$user_prof['set_econom_traf']).' ('.formatdate($post['date'],'d.m.Y').')<br />
'.smiles(bb_code(nl2br($post['text']))).'</div>';
}
navigator($str,$page,'forum.php','mode=search&act=search&sid='.$sid,true,true);
}else{echo 'Ничего не найдено!';}
}else
{
echo 'Слишком быстро!';
}
break;
###################################################################################
###################################################################################
case 'unset':
if(empty($_GET['sid']))location('menu/forum.php?mode=search');
$sid = obr($_GET['sid'],'integer');
if(mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]search` WHERE `id` = '$sid' AND `user` = '$user_prof[id]' AND `where` = 'forum'"),0) == 0)location('menu/forum.php?mode=search');
query("DELETE FROM `$db[prefix]search` WHERE `id` = '$sid'");
location('menu/forum.php?mode=search');
break;
/*
###################################################################################
###################################################################################
case '-':
break;
*/
}
break;
/*
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
##############################################################################################################################################
case '':
switch($act = (!empty($_GET['act'])) ? $_GET['act'] : null)
{
default:
$title = '';
require '../inc/head.php';
echo '<div class="sec">
</div><div class="vstavka">
';
break;
###################################################################################
###################################################################################
case '-':
$title = 'Форум';
require '../inc/head.php';
echo '<div class="sec">
</div><div class="vstavka">
';
break;
}
break;
*/
}
echo '<hr/>';
if($user_prof['admin']>=2)
{
if($mode != '' || $act != '' ) echo '...<a href="forum.php?">Форум</a><br />';
echo '..<a href="/admin/index.php?">Админ панель</a><br />';
}else
{
if($mode != '' || $act != '' ) echo '..<a href="forum.php?">Форум</a><br />';
}
echo '.<a href="/menu/index.php?">Кабинет</a><br />
';
require '../inc/foot.php';
################################################
# 0KHQutGA0LjQv9GCINC90LUg0L/QsNCx0LvQuNC6IQ== #
# 0KHRgtCw0LLRgNC+0L/QvtC70YwsIDIwMDkg0LMu #
################################################
?>