<?php
#Made By: AngelOfFaith
#ICQ: 410755038
#Email: [email protected]
#Url: http://coder-lib.ru
#Все права на скрипт принадлежат автору! Тоесть мне! Скрипт запрещено распространять и/или продавать без согласия автора!
require_once('../lib/inc/fnc.php');
require_once('../lib/inc/db.php');
require_once('../sys/system.php');
$TITLE='Coder-Lib.Ru | Форум';
$TIT='Форум';
require_once('../lib/inc/head.php');
switch ($act){
//////////////////////////////Выводим главную форума////////////////////////////
default:
whereis($udata['name'],'Форумы');
$x=mysql_query("SELECT * FROM `f_forums`");
if(!mysql_num_rows($x)){textwrite('Форумы не созданы!');break;};
$arrdata=array();
$num=array();
while($row=mysql_fetch_assoc($x)){
$arrdata[]=$row;
$num[]=mysql_result(mysql_query("SELECT count(*) FROM `f_razd` WHERE `fid`='".$row['id']."'"),0);
};
$smarty->assign('DATA',$arrdata);
$smarty->assign('mygroup',$udata['group']);
$smarty->assign('num',$num);
break;
///////////////////////////////Выводим категории в разделе//////////////////////
case 'f':
whereis($udata['name'],'Разделы форума');
$id=intval($_GET['id']);
if(!$id){textwrite('Пустые параметры!');break;};
$smarty->assign('id',$id);
$fn=mysql_query("SELECT `name`,`group` FROM `f_forums` WHERE `id`='$id'");
if(!mysql_num_rows($fn)){textwrite('Форума не существует!');break;};
$fn=mysql_fetch_assoc($fn);
if($udata['level']!=7){
if((!empty($fn['group']) && $fn['group']!=$udata['group']) || ($avt!=1 && !empty($fn['group']))){textwrite('Доступ закрыт!');break;};
};
$smarty->assign('fname',$fn['name']);
$x=mysql_query("SELECT * FROM `f_razd` WHERE `fid`='$id'");
if(!mysql_num_rows($x)){textwrite('Разделы не созданы!');break;};
$arrdata=array();
$num=array();
$lasttema=array();
$lastpost=array();
while($row=mysql_fetch_assoc($x)){
$num[]=mysql_result(mysql_query("SELECT count(*) FROM `f_tems` WHERE `rid`='".$row['id']."'"),0);
$lt=mysql_query("SELECT * FROM `f_tems` WHERE `rid`='".$row['id']."' ORDER BY `lastorder` DESC LIMIT 1");
$lt=mysql_fetch_assoc($lt);
$lasttema[]=$lt;
$lp=mysql_query("SELECT * FROM `f_post` WHERE `tid`='".$lt['id']."' ORDER BY `id` DESC LIMIT 1");
$lp=mysql_fetch_assoc($lp);
$lastpost[]=$lp;
$arrdata[]=$row;
};
$smarty->assign('DATA',$arrdata);
$smarty->assign('num',$num);
$smarty->assign('lt',$lasttema);
$smarty->assign('lp',$lastpost);
break;
///////////////////////////Выводим темы в категории/////////////////////////////
case 'r':
whereis($udata['name'],'Темы форума');
$id=intval($_GET['id']);
if(!$id){textwrite('Пустые параметры!');break;};
$smarty->assign('fid',$fid);
$smarty->assign('id',$id);
$selectfromrazd=mysql_Fetch_assoc(mysql_query("SELECT `fid` FROM `f_razd` WHERE `id`='$id'"));
$fid=$selectfromrazd['fid'];
$fn=mysql_query("SELECT `name`,`group`,`id` FROM `f_forums` WHERE `id`='$fid'");
if(!mysql_num_rows($fn)){textwrite('Форума не существует!');break;};
$fn=mysql_fetch_assoc($fn);
if($udata['level']!=7 || $udata['level']==4){
if((!empty($fn['group']) && $fn['group']!=$udata['group']) || ($avt!=1 && !empty($fn['group']))){textwrite('Доступ закрыт!');break;};
};
$rn=mysql_query("SELECT `name` FROM `f_razd` WHERE `id`='$id'");
$rn=mysql_fetch_assoc($rn);
$smarty->assign('fn_id',$fn['id']);
$smarty->assign('fn_name',$fn['name']);
$smarty->assign('rn_name',$rn['name']);
$count=mysql_result(mysql_query("SELECT count(*) FROM `f_tems` WHERE `rid`='$id'"),0);
if(!$count){textwrite('Тем нет!');
}else{
$allpage=ceil($count/$onpage);
if($page>$allpage){$page=$allpage;};
$start=($page-1)*$onpage;
$x=mysql_query("SELECT * FROM `f_tems` WHERE `rid`='$id' ORDER BY `stuck` DESC,`lastorder` DESC LIMIT $start,$onpage");
$arrdata=array();
$post=array();
$lastpost=array();
while($row=mysql_fetch_assoc($x)){
$arrdata[]=$row;
$post[]=mysql_result(mysql_query("SELECT count(*) FROM `f_post` WHERE `tid`='".$row['id']."'"),0);
$lp=mysql_query("SELECT * FROM `f_post` WHERE `tid`='".$row['id']."' ORDER BY `id` DESC LIMIT 1");
$lastpost[]=mysql_fetch_assoc($lp);
};
$smarty->assign('DATA',$arrdata);
$smarty->assign('post',$post);
$smarty->assign('lp',$lastpost);
};
pagenavig($allpage,$page,'act=r&id='.$id.'&fid='.$fid);
break;
//////////////////////////////Вывод сообщений в теме////////////////////////////
case 't':
whereis($udata['name'],'Сообщения форума');
$id=intval($_GET['id']);
if(!$id){textwrite('Пустые параметры!');break;};
$selectfromtem=mysql_fetch_assoc(mysql_query("SELECT `rid` FROM `f_tems` WHERE `id`='$id'"));
$rid=$selectfromtem['rid'];
$smarty->assign('rid',$rid);
$smarty->assign('id',$id);
$rn=mysql_query("SELECT `fid`,`name`,`id` FROM `f_razd` WHERE `id`='$rid'");
if(!mysql_num_rows($rn)){textwrite('Раздела не существует!');break;};
$rn=mysql_fetch_assoc($rn);
$fn=mysql_query("SELECT `group`,`id`,`name` FROM `f_forums` WHERE `id`='".$rn['fid']."'");
if(!mysql_num_rows($fn)){textwrite('Форума не существует!');break;};
$fn=mysql_fetch_assoc($fn);
if($udata['level']!=7 || $udata['level']==4){
if((!empty($fn['group']) && $fn['group']!=$udata['group']) || ($avt!=1 && !empty($fn['group']))){textwrite('Доступ закрыт!');break;};
};
$tn=mysql_query("SELECT * FROM `f_tems` WHERE `id`='$id'");
if(!mysql_num_rows($tn)){textwrite('Тема не существует!');};
$tn=mysql_fetch_assoc($tn);
$smarty->assign('fid',$rn['fid']);
$smarty->assign('fn',$fn);
$smarty->assign('rn',$rn);
$smarty->assign('tname',$tn['name']);
$num=mysql_result(mysql_query("SELECT count(*) FROM `f_post` WHERE `tid`='$id'"),0);
if(!$num){textwrite('Нет сообщений!');
}else{
$allpage=ceil($num/$onpage);
if($page>$allpage){$page=$allpage;};
$start=($page-1)*$onpage;
$x=mysql_query("SELECT * FROM `f_post` WHERE `tid`='$id' ORDER BY `id` ASC LIMIT $start,$onpage");
$arrdata=array();
$fpost=array();
$msgs=array();
$isonline=array();
$sps=array();
$ava=array();
while($row=mysql_fetch_assoc($x)){
$forumpost=mysql_query("SELECT `forum_post` FROM `user` WHERE `name`='".$row['name']."'");
$fpost[]=mysql_fetch_assoc($forumpost);
$arrdata[]=$row;
$ava[]=ava($row['name']);
$msg=str_replace("\n",'<br/>',$row['msg']);
if($avt!=1){
$msg=preg_replace('/\[ghide\](.*)\[\/ghide\]/isU','<span style="color:red">Скрыто от гостей</span>',$msg);
}else{
$msg=str_replace('[ghide]','',$msg);
$msg=str_replace('[/ghide]','',$msg);
};
if(preg_match('/\[hide=[0-9]+\]/isU',$msg,$mat)){
$hidepost=str_replace('[hide=','',$mat[0]);
$hidepost=intval(str_replace(']','',$hidepost));
if($udata['forum_post']<$hidepost && $udata['level']!=4 && $udata['level']!=7){
$textmsg=($avt==1) ? '<span style="color:red">Скрытый текст. Надо <b>'.$hidepost.'</b> сообщений, у вас пока <b>'.$udata['forum_post'].'</b></span>' : '<span style="color:red">Текст скрыт на <b>'.$hidepost.'</b> постов</span>';
$msg=preg_replace('/\[hide=[0-9]+\](.*)\[\/hide\]/isU',$textmsg,$msg);
}else{
$msg=preg_replace('/\[hide=[0-9]+\]/isU','',$msg);
$msg=str_replace('[/hide]','',$msg);
}
};
#$msgs[]=stripslashes(str_replace('&','&',$msg));
$msgs[]=$msg;
$isonline[]=isonline($row['name']);
$sps[]=mysql_result(mysql_query("SELECT count(*) FROM `sps` WHERE `pid`='".$row['id']."'"),0);
};
pagenavig($allpage,$page,'act=t&id='.$id.'&rid='.$rid);
$smarty->assign('DATA',$arrdata);
$smarty->assign('msgs',$msgs);
$smarty->assign('fpost',$fpost);
$smarty->assign('isonline',$isonline);
$smarty->assign('sps',$sps);
$smarty->assign('ava',$ava);
};
$smarty->assign('temopen',$tn['open']);
$smarty->assign('temavtor',$tn['avtor']);
$smarty->assign('myname',$udata['name']);
$smarty->assign('temid',$tn['id']);
$smarty->assign('temstuck',$tn['stuck']);
break;
//////////////////////////////Форма создания новой темы/////////////////////////
case 'addtema':
whereis($udata['name'],'Создание темы в форуме');
if($avt!=1){textwrite('Вы не авторизованы!');break;};
$rid=intval($_GET['rid']);
if(!$rid){textwrite('Пустые параметры!');break;};
$rn=mysql_query("SELECT `name`,`fid` FROM `f_razd` WHERE `id`='$rid'");
if(!mysql_num_rows($rn)){textwrite('Раздела не существует!');break;};
$rn=mysql_fetch_assoc($rn);
$fn=mysql_query("SELECT `group` FROM `f_forums` WHERE `id`='".$rn['fid']."'");
if(!mysql_num_rows($fn)){textwrite('Форума не существует!');break;};
$fn=mysql_fetch_assoc($fn);
if($udata['level']!=7 || $udata['level']==4){
if((!empty($fn['group']) && $fn['group']!=$udata['group']) || ($avt!=1 && !empty($fn['group']))){textwrite('Доступ закрыт!');break;};
};
$smarty->assign('rid',$rid);
$smarty->assign('fid',$rn['fid']);
break;
//////////////////////////////////Сохранение темы///////////////////////////////
case 'savetem':
if($avt!=1){textwrite('Вы не авторизованы!');break;};
$rid=intval($_POST['rid']);
$tname=bug($_POST['tname']);
$tmsg=antimat(smile(bbcode(bug($_POST['tmsg']))));
if(!$rid || !$tname || !$tmsg){textwrite('Пустые параметры!');break;};
$rn=mysql_query("SELECT `name`,`fid` FROM `f_razd` WHERE `id`='$rid'");
if(!mysql_num_rows($rn)){textwrite('Раздела не существует!');break;};
$rn=mysql_fetch_assoc($rn);
$fn=mysql_query("SELECT `group`,`id` FROM `f_forums` WHERE `id`='".$rn['fid']."'");
if(!mysql_num_rows($fn)){textwrite('Форума не существует!');break;};
$fn=mysql_fetch_assoc($fn);
if($udata['level']!=7 || $udata['level']==4){
if((!empty($fn['group']) && $fn['group']!=$udata['group']) || ($avt!=1 && !empty($fn['group']))){textwrite('Доступ закрыт!');break;};
};
if($fn['id']==6){
$balls=1;
}else{
$balls=(empty($fn['group'])) ? $sysconf['balforforumtema'] : 0;
};
if($_SESSION['flud']>time()){textwrite('Не пишите так быстро!');break;};
mysql_query("INSERT INTO `f_tems`(`rid`,`name`,`avtor`,`lastorder`)VALUES('$rid','$tname','".$udata['name']."','".time()."')");
$insert=mysql_insert_id();
mysql_query("INSERT INTO `f_post`(`tid`,`name`,`msg`,`date`,`ip`,`brows`)VALUES('$insert','".$udata['name']."','$tmsg','".time()."','$ip','$brows')");
mysql_query("UPDATE `user` SET `bal`=`bal`+'$balls',`forum_post`=`forum_post`+1 WHERE `name`='".$udata['name']."'");
$_SESSION['flud']=time()+$sysconf['flud'];
$smarty->assign('rid',$rid);
$smarty->assign('insert',$insert);
break;
////////////////////////////////Форма для написания сообщения///////////////////
case 'addpost':
whereis($udata['name'],'Добавление сообщения в форуме');
if($avt!=1){textwrite('Вы не авторизованы!');break;};
$tid=intval($_GET['tid']);
if(!$tid){textwrite('Пустые параметры!');break;};
$selectfromtem=mysql_fetch_Assoc(mysql_query("SELECT `rid` FROM `f_tems` WHERE `id`='$tid'"));
$rid=$selectfromtem['rid'];
$rn=mysql_query("SELECT `name`,`fid` FROM `f_razd` WHERE `id`='$rid'");
if(!mysql_num_rows($rn)){textwrite('Раздела не существует!');break;};
$rn=mysql_fetch_assoc($rn);
$fn=mysql_query("SELECT `group` FROM `f_forums` WHERE `id`='".$rn['fid']."'");
if(!mysql_num_rows($fn)){textwrite('Форума не существует!');break;};
$fn=mysql_fetch_assoc($fn);
if($udata['level']!=7 || $udata['level']==4){
if((!empty($fn['group']) && $fn['group']!=$udata['group']) || ($avt!=1 && !empty($fn['group']))){textwrite('Доступ закрыт!');break;};
};
$x=mysql_query("SELECT * FROM `f_tems` WHERE `id`='$tid'");
if(!mysql_num_rows($x)){textwrite('Темы не существует!');break;};
$x=mysql_fetch_assoc($x);
if($x['open']==1){textwrite('Тема закрыта для обсуждения!');break;};
$otv=(!empty($_GET['otv'])) ? bug($_GET['otv']).', ' : '';
$smarty->assign('tid',$tid);
$smarty->assign('otv',$otv);
break;
//////////////////////////////////Сохранение сообщения//////////////////////////
case 'savepost':
if($avt!=1){textwrite('Вы не авторизованы!');break;};
$tid=intval($_POST['tid']);
$msg=antimat(smile(bbcode(bug($_POST['msg']))));
if(!$tid || !$msg){textwrite('Пустые параметры!');break;};
$selectfromtem=mysql_fetch_Assoc(mysql_query("SELECT `rid` FROM `f_tems` WHERE `id`='$tid'"));
$rid=$selectfromtem['rid'];
if($_SESSION['flud']>time()){textwrite('Не пишите так быстро!');break;};
$rn=mysql_query("SELECT `name`,`fid` FROM `f_razd` WHERE `id`='$rid'");
if(!mysql_num_rows($rn)){textwrite('Раздела не существует!');break;};
$rn=mysql_fetch_assoc($rn);
$fn=mysql_query("SELECT `group`,`id` FROM `f_forums` WHERE `id`='".$rn['fid']."'");
if(!mysql_num_rows($fn)){textwrite('Форума не существует!');break;};
$fn=mysql_fetch_assoc($fn);
if($udata['level']!=7 || $udata['level']==4){
if((!empty($fn['group']) && $fn['group']!=$udata['group']) || ($avt!=1 && !empty($fn['group']))){textwrite('Доступ закрыт!');break;};
};
if($fn['id']==6){
$balls=1;
}else{
$balls=(empty($fn['group'])) ? $sysconf['balforforum'] : 0;
};
$x=mysql_query("SELECT * FROM `f_tems` WHERE `id`='$tid'");
if(!mysql_num_rows($x)){textwrite('Темы не существует!');break;};
$x=mysql_fetch_assoc($x);
if($x['open']==1){textwrite('Тема закрыта для обсуждения!');break;};
if($_FILES['attach']['error']!=4){
if($_FILES['attach']['error']>0){textwrite('Ошибка при загрузке файла!');break;};
if($_FILES['attach']['size']>(1024*9848)){textwrite('Слишком большой размер файла!');break;};
if(mb_strlen($_FILES['attach']['name'])>25){textwrite('Слишком длинное название файла!');break;};
if(eregi("[^a-z0-9.()+_-]",$_FILES['attach']['name'])){textwrite('В названии не допустимые символы!');break;};
if(count(explode('.',$_FILES['attach']['name']))!=2){textwrite('Файлы с двойным расширением запрещены!');break;};
$ex=pathinfo($_FILES['attach']['name']);
$ext=mb_strtolower($ex['extension']);
if(!preg_match('/gif$|jpg$|jpeg$|png$|mp3$|mp4$|3gp$|3gpp$|zip$|rar$|jar$|jad$|txt$/isU',$ext)){
textwrite('Попытка загрузки запрещонного расширения '.$ext.'!');break;};
$attach=time().'_'.bug($_FILES['attach']['name']);
if(@move_uploaded_file($_FILES['attach']['tmp_name'],BASE.'forum/file/'.$attach)){
}else{textwrite('Ошибка!');break;};
};
mysql_query("INSERT INTO `f_post`(`tid`,`name`,`msg`,`date`,`ip`,`brows`,`attach`)VALUES('$tid','".$udata['name']."','$msg','".time()."','$ip','$brows','$attach')");
mysql_query("UPDATE `f_tems` SET `lastorder`='".time()."' WHERE `id`='$tid'");
mysql_query("UPDATE `user` SET `bal`=`bal`+'$balls',`forum_post`=`forum_post`+1 WHERE `name`='".$udata['name']."'");
$_SESSION['flud']=time()+$sysconf['flud'];
$smarty->assign('tid',$tid);
$smarty->assign('rid',$rid);
break;
//////////////////////////Форма редактирования своих постов/////////////////////
case 'editpost':
whereis($udata['name'],'Редактирование своих сообщений в форуме');
if($avt!=1){textwrite('Вы не авторизованы!');break;};
$id=intval($_GET['id']);
if(!$id){textwrite('Пустые параметры!');break;};
$selectfromtem=mysql_fetch_assoc(mysql_Query("SELECT `tid` FROM `f_post`"));
$tid=$selectfromtem['tid'];
$x=mysql_query("SELECT * FROM `f_tems` WHERE `id`='$tid'");
if(!mysql_num_rows($x)){textwrite('Темы не существует!');break;};
$x=mysql_fetch_assoc($x);
if($x['open']==1){textwrite('Тема закрыта для обсуждения!');break;};
$p=mysql_query("SELECT * FROM `f_post` WHERE `id`='$id' AND `name`='".$udata['name']."'");
if(!mysql_num_rows($p)){textwrite('Это не ваш пост!');break;};
$p=mysql_fetch_assoc($p);
if((($p['date']+$sysconf['forumedit'])-time())<1){textwrite('Вы не можете редактировать старые сообщения!');break;};
$msg=nobbcode($p['msg']);
$smarty->assign('msg',$msg);
$smarty->assign('id',$id);
#$smarty->assign('tid',$tid);
#$smarty->assign('rid',$x['rid']);
break;
////////////////////////////Сохранение изменённого поста////////////////////////
case 'saveeditpost':
if($avt!=1){textwrite('Вы не авторизованы!');break;};
$id=intval($_POST['id']);
$msg=antimat(smile(bbcode(bug($_POST['msg']))));
if(!$id || !$msg){textwrite('Пустые параметры!');break;};
$selectfromtem=mysql_fetch_assoc(mysql_Query("SELECT `tid` FROM `f_post`"));
$tid=$selectfromtem['tid'];
$x=mysql_query("SELECT * FROM `f_tems` WHERE `id`='$tid'");
if(!mysql_num_rows($x)){textwrite('Темы не существует!');break;};
$x=mysql_fetch_assoc($x);
if($x['open']==1){textwrite('Тема закрыта для обсуждения!');break;};
$p=mysql_query("SELECT * FROM `f_post` WHERE `id`='$id' AND `name`='".$udata['name']."'");
if(!mysql_num_rows($p)){textwrite('Это не ваш пост!');break;};
$p=mysql_fetch_assoc($p);
if((($p['date']+$sysconf['forumedit'])-time())<1){textwrite('Вы не можете редактировать старые сообщения!');break;};
mysql_query("UPDATE `f_post` SET `msg`='$msg' WHERE `id`='$id'");
$smarty->assign('tid',$tid);
$smarty->assign('rid',$x['rid']);
break;
/////////////////////////////Закрытие своей темы////////////////////////////////
case 'closetem':
if($avt!=1){textwrite('Только для зарегистрированых пользователей!');break;};
$id=intval($_GET['id']);
if(!$id){textwrite('Пустые параметры!');break;};
$x=mysql_query("SELECT * FROM `f_tems` WHERE `id`='$id'");
if(!mysql_num_rows($x)){textwrite('Такой темы не существует!');break;};
$x=mysql_fetch_assoc($x);
if($udata['level']!=4 && $udata['level']!=7){
if($x['avtor']!=$udata['name']){textwrite('Закрыть тему может только автор!');break;};
};
if($x['open']==1){textwrite('Тема уже закрыта!');break;};
mysql_query("UPDATE `f_tems` SET `open`='1' WHERE `id`='$id'");
$smarty->assign('id',$x['id']);
$smarty->assign('rid',$x['rid']);
break;
/////////////////////////////////Открытие своей темы////////////////////////////
case 'opentem':
if($avt!=1){textwrite('Только для зарегистрированых пользователей!');break;};
$id=intval($_GET['id']);
if(!$id){textwrite('Пустые параметры!');break;};
$x=mysql_query("SELECT * FROM `f_tems` WHERE `id`='$id'");
if(!mysql_num_rows($x)){textwrite('Такой темы не существует!');break;};
$x=mysql_fetch_assoc($x);
if($udata['level']!=4 && $udata['level']!=7){
if($x['avtor']!=$udata['name']){textwrite('Открыть тему может только автор!');break;};
};
if($x['open']!=1){textwrite('Тема и так открыта!');break;};
mysql_query("UPDATE `f_tems` SET `open`='' WHERE `id`='$id'");
$smarty->assign('id',$x['id']);
$smarty->assign('rid',$x['rid']);
break;
case 'new':
if($avt!=1){textwrite('Эта функция только для зарегистрированых');break;};
$t=time();
$num=mysql_result(mysql_query("SELECT count(*) FROM `f_tems` WHERE `lastorder`>'".($t-40000)."'"),0);
if(!$num){textwrite('Нет новых сообщений');}else{
$allpage=ceil($num/$onpage);
if($page>$allpage){$page=$allpage;};
$start=($page-1)*$onpage;
$x=mysql_query("SELECT `id`,`rid`,`name`,`lastorder` FROM `f_tems` WHERE `lastorder`>'".($t-40000)."' ORDER BY `lastorder` DESC LIMIT $start,$onpage");
$arrdata=array();
$rname=array();
$us=array();
while($row=mysql_fetch_assoc($x)){
if(hideforum($row['rid'],$udata['group'],$udata['level'])){
$arrdata[]=$row;
$rname[]=mysql_fetch_assoc(mysql_query("SELECT `id`,`name`,`fid` FROM `f_razd` WHERE `id`='".$row['rid']."'"));
$us[]=mysql_fetch_assoc(mysql_query("SELECT `name` FROM `f_post` WHERE `tid`='".$row['id']."' ORDER BY `date` DESC"));
};
};
pagenavig($allpage,$page,'act=new');
$smarty->assign('DATA',$arrdata);
$smarty->assign('rname',$rname);
$smarty->assign('us',$us);
};
break;
case 'search':break;
case 'gosearch':
$string=(!$_POST['str']) ? bug($_GET['str']) : bug($_POST['str']);
$in=(!$_POST['in']) ? intval($_GET['id']) : intval($_POST['in']);
$smarty->assign('in',$in);
if(!$string || mb_strlen($string)<=3){textwrite('Вы не указали что искать');}else{
$sin=($in==1) ? 'f_tems' : 'f_post';
$wh=($in==1) ? 'name' : 'msg';
$sel=($in==1) ? '`name`,`id`,`rid`' : '`tid`';
$num=mysql_result(mysql_query("SELECT count(*) FROM `$sin` WHERE `$wh` LIKE '%$string%'"),0);
if(!$num){textwrite('Нет совпадений');}else{
$allpage=ceil($num/$onpage);
if($page>$allpage){$page=$allpage;};
$start=($page-1)*$onpage;
$x=mysql_query("SELECT $sel FROM `$sin` WHERE `$wh` LIKE '%$string%' LIMIT $start,$onpage");
$arrdata=array();
$tema=array();
while($row=mysql_fetch_assoc($x)){
$arrdata[]=$row;
if($in!=1){
$tema[]=mysql_fetch_assoc(mysql_query("SELECT `name`,`rid`,`id` FROM `f_tems` WHERE `id`='".$row['tid']."'"));
};
};
pagenavig($allpage,$page,'act=gosearch&str='.$str.'&in='.$in);
$smarty->assign('DATA',$arrdata);
$smarty->assign('tema',$tema);
};
};
break;
case 'mytems':
$id=bug($_GET['id']);
if(!$id){textwrite('Пустые параметры!');break;};
$smarty->assign('id',$id);
$num=mysql_result(mysql_query("SELECT count(*) FROM `f_tems` WHERE `avtor`='$id'"),0);
if(!$num){textwrite('Пользователь ещо не создавал темы!');}else{
$allpage=ceil($num/$onpage);
if($page>$allpage){$page=$allpage;};
$start=($page-1)*$onpage;
$x=mysql_query("SELECT `id`,`name`,`rid` FROM `f_tems` WHERE `avtor`='$id' ORDER BY `lastorder` DESC LIMIT $start,$onpage");
$arrdata=array();
while($row=mysql_fetch_Assoc($x)){
if(hideforum($row['rid'],$udata['group'],$udata['level']))
$arrdata[]=$row;
};
pagenavig($allpage,$page,'act=mytems&id='.$id);
$smarty->assign('DATA',$arrdata);
};
break;
case 'mypost':
$id=bug($_GET['id']);
if(!$id){textwrite('Пустые параметры!');break;};
$smarty->assign('id',$id);
$num=mysql_result(mysql_query("SELECT count(*) FROM `f_post` WHERE `name`='$id'"),0);
if(!$num){textwrite('Пользователь ещо не писал на форуме!');}else{
$allpage=ceil($num/$onpage);
if($page>$allpage){$page=$allpage;};
$start=($page-1)*$onpage;
$x=mysql_query("SELECT `id`,`tid`,`msg` FROM `f_post` WHERE `name`='$id' ORDER BY `date` DESC LIMIT $start,$onpage");
$arrdata=array();
$tema=array();
$msgs=array();
while($row=mysql_fetch_assoc($x)){
$TID=mysql_fetch_assoc(mysql_query("SELECT `rid` FROM `f_tems` WHERE `id`='".$row['tid']."'"));
if(hideforum($TID['rid'],$udata['group'],$udata['level'])){
$tema[]=mysql_fetch_assoc(mysql_query("SELECT `name`,`id`,`rid` FROM `f_tems` WHERE `id`='".$row['tid']."'"));
$arrdata[]=$row;
$msg=$row['msg'];
if($avt!=1){
$msg=preg_replace('/\[ghide\](.*)\[\/ghide\]/isU','<span style="color:red">Скрыто от гостей</span>',$msg);
}else{
$msg=str_replace('[ghide]','',$msg);
$msg=str_replace('[/ghide]','',$msg);
};
if(preg_match('/\[hide=[0-9]+\]/isU',$msg,$mat)){
$hidepost=str_replace('[hide=','',$mat[0]);
$hidepost=intval(str_replace(']','',$hidepost));
if($udata['forum_post']<$hidepost && $udata['level']!=4 && $udata['level']!=7){
$textmsg=($avt==1) ? '<span style="color:red">Скрытый текст. Надо <b>'.$hidepost.'</b> сообщений, у вас пока <b>'.$udata['forum_post'].'</b></span>' : '<span style="color:red">Текст скрыт на <b>'.$hidepost.'</b> постов</span>';
$msg=preg_replace('/\[hide=[0-9]+\](.*)\[\/hide\]/isU',$textmsg,$msg);
}else{
$msg=preg_replace('/\[hide=[0-9]+\]/isU','',$msg);
$msg=str_replace('[/hide]','',$msg);
}
};
$msgs[]=$msg;
};
};
pagenavig($allpage,$page,'act=mypost&id='.$id);
$smarty->assign('DATA',$arrdata);
$smarty->assign('tema',$tema);
$smarty->assign('msgs',$msgs);
};
break;
case 'sps':
$id=intval($_GET['id']);
if(!$id){textwrite('Пустые параметры');break;};
if($udata['forum_post']<10){textwrite('Надо иметь не менее 10 постов на форуме что бы благодарить!');break;}
$ispost=mysql_query("SELECT `tid`,`name` FROM `f_post` WHERE `id`='$id'");
if(!mysql_num_rows($ispost)){textwrite('Такого сообщения не существует!');break;};
$ispost=mysql_fetch_assoc($ispost);
if($ispost['name']==$udata['name']){textwrite('Нельзя благодарить сам себя!');break;};
$sps=mysql_query("SELECT `id` FROM `sps` WHERE `pid`='$id' AND `kto`='".$udata['name']."'");
if(mysql_num_rows($sps)>0){textwrite('Вы уже благодарили за это сообщение!');break;};
mysql_query("INSERT INTO `sps` (`pid`,`kto`,`komu`,`date`)VALUES('$id','".$udata['name']."','".$ispost['name']."','".time()."')");
$rid=mysql_fetch_assoc(mysql_query("SELECT `rid` FROM `f_tems` WHERE `id`='".$ispost['tid']."'"));
$smarty->assign('tid',$ispost['tid']);
$smarty->assign('rid',$rid['rid']);
break;
};
$smarty->display('forum.tpl');
?>