- <?php
- #Made By: AngelOfFaith
- #ICQ: 410755038
- #Email: angeloffaith@inbox.ru
- #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');
- ?>