- <?php
- require_once"../template/start.php";
- require_once"../template/regglobals.php";
- require_once"../template/config.php";
- require_once"setforum.php";
- require_once"../template/functions.php";
- require_once"../template/antidos.php";
- require_once"../template/cookies.php";
- require_once"../template/gzip.php";
- require_once"../template/header.php";
- require_once"../template/referer.php";
- include_once"../themes/$config_themes/index.php";
-
- echo '<img src="../images/img/bsearch.gif" alt=""> <b>Поиск по форуму</b><br><br>';
-
- $suf = @file(BASEDIR."local/dataforumset/dataforumuser/$log.dat");
- if ($suf!=""){
- $lsf = explode(":||:",$suf[0]);}
-
- if($config_forum_off=="1"){
-
- if ($provlog==$_SESSION['log'] && $provpar==md5($_SESSION['par']) && $_SESSION['log']!="" && md5($_SESSION['par'])!=""){
-
- if($config_search=="1"){
- if(!empty($lsf[6]) || $config_usnastr==0){
-
- $minfindme=3; // Минимальное кол-во символов в слове для поиска
- $maxfindme=25; // Максимальное кол-во символов в слове для поиска
- $config_searchforum=10; //Сообщений на страницу
-
- if(!isset($action)){
-
- if($config_themes!="wml"){
- echo '<form action="search.php?action=search&'.SID.'" method="post">';
- echo '<b>Запрос:</b><br><input type="text" name="findme" /><br>';
- echo '<br><b>Искать:</b><br>';
- echo '<input name="ftype" type="radio" value="1" checked> В темах<br>';
- echo '<input name="ftype" type="radio" value="2"> В сообщениях<br>';
- echo '<br><b>Тип запроса:</b><br>';
- echo '<input name="tip" type="radio" value="1" checked> Или<br>';
- echo '<input name="tip" type="radio" value="2"> И<br>';
- echo '<br><input type="submit" value="Поиск" /></form><hr>';
-
- }else{
-
- echo '<br>Запрос:<br>';
- echo '<input name="findme" /><br>';
- echo '<br>Искать: <br><select name="ftype">';
- echo '<option value="1">В темах</option>';
- echo '<option value="2">В сообщениях</option></select><br>';
- echo '<br>Тип запроса: <br><select name="tip">';
- echo '<option value="1">Или</option>';
- echo '<option value="2">И</option></select><br>';
- echo '<br><anchor>Поиск';
- echo '<go href="search.php?action=search&'.SID.'" method="post">';
- echo '<postfield name="findme" value="$(findme)"/>';
- echo '<postfield name="ftype" value="$(ftype)"/>';
- echo '<postfield name="tip" value="$(tip)"/>';
- echo '</go></anchor><br>--------------------<br>';
- }
- echo '<b>Последние запросы</b><br><br>';
- $file = file(BASEDIR."local/datatmp/forumsearch.dat");
- $file = array_reverse($file);
- $countf=count($file); if($countf>5){$countf=5;}
- if($countf>0){
- for ($i = 0; $i < $countf; $i++){
- echo $file[$i].'<br>';}
- }else{echo 'Запросов еще не было!<br>';}}
-
-
- //----------------------- Поиск файлов ----------------------------//
- if($action=="search"){
- $findme=check(trim($findme));
- $findmetol=rus_utf_tolower($findme);
- $findmewords=explode(" ",$findmetol);
- $wordsitogos=count($findmewords);
-
- for ($wi = 0; $wi < $wordsitogos; $wi++){
- if(strlen(utf_to_win($findmewords[$wi]))>=3){$findmeword[]=$findmewords[$wi];}
- }
- $wordsitogo=count($findmeword);
-
- if ($findme!= "" && strlen(utf_to_win($findme)) >= $minfindme && strlen(utf_to_win($findme))<$maxfindme) {
-
- //-------------------------Запись последних поисков--------------------------------//
- $dows= file(BASEDIR."local/datatmp/forumsearch.dat");
- $dows=preg_replace ("|[\r\n]+|si","",$dows);
- if (!in_array($findme, $dows)) {
-
- $fp=fopen(BASEDIR."local/datatmp/forumsearch.dat","a+");
- flock ($fp,LOCK_EX);
- fputs($fp,"$findme\r\n");
- fflush ($fp);
- flock ($fp,LOCK_UN);
- fclose($fp);
- chmod ($fp, 0666);
- chmod (BASEDIR."local/datatmp/forumsearch.dat", 0666);
-
- $file=file(BASEDIR."local/datatmp/forumsearch.dat");
- $i = count($file);
- if ($i>6) {
- $fp=fopen(BASEDIR."local/datatmp/forumsearch.dat","w");
- flock ($fp,LOCK_EX);
- unset($file[0],$file[1]);
- fputs($fp, implode("",$file));
- flock ($fp,LOCK_UN);
- fclose($fp);
- }}
-
- //---------------------------------------------------------------------------------//
-
- $dir = opendir ("../local/dataforum");
- while ($file = readdir ($dir)) {
-
- if (ereg("^top", $file)) { $fa[]=$file; }
-
- if (ereg (".dat$", $file) && !ereg("^top", $file)&& !ereg("^main", $file)) { $fb[]=$file; }}
-
- closedir ($dir);
- $fatotal = count($fa);
- $fbtotal = count($fb);
-
-
- $filtime=filemtime("../local/datatmp/forumthemes.dat");
- $filtime=$filtime+(3600*12); //12-часовое индексирование
- $ttime=time();
-
- if($ttime>=$filtime){
-
- //-------------------- Запись тем ----------------------//
- clear_files("../local/datatmp/forumthemes.dat");
-
- for ($i = 0; $i < $fatotal; $i++){
- $tex = file("../local/dataforum/$fa[$i]");
- $toptotal = count($tex);
-
- for ($x = 0; $x < $toptotal; $x++){
- $data = explode("|",$tex[$x]);
- if($data[3]!="" && $data[7]!="" && $data[8]!=""){
-
- $dat_themes='|'.$data[0].'|'.rus_utf_tolower($data[3]).'|'.$data[5].'|'.$data[6].'|'.$data[7].'|'.$data[8].'|';
-
- $fp = fopen("../local/datatmp/forumthemes.dat","a+");
- flock ($fp,LOCK_EX);
- fputs($fp,"$dat_themes\r\n");
- fflush ($fp);
- flock ($fp,LOCK_UN);
- fclose($fp);
- chmod ($fp, 0666);
- chmod ("../local/datatmp/forumthemes.dat", 0666);
-
-
- }}}
-
- //-------------------- Запись сообщений ----------------------//
- clear_files("../local/datatmp/forumtopic.dat");
-
- for ($i = 0; $i < $fbtotal; $i++){
- $tex = file("../local/dataforum/$fb[$i]");
- $toptotal = count($tex);
-
- for ($x = 0; $x < $toptotal; $x++){
-
- $data = explode("|",$tex[$x]);
-
- if($data[3]!="" && $data[4]!="" && $data[7]!="" && $data[8]!=""){
-
- $data[4]=strip_tags($data[4]);
- $dat_topic='|'.$data[0].'|'.$data[3].'|'.rus_utf_tolower($data[4]).'|'.$data[5].'|'.$data[6].'|'.$data[7].'|'.$data[8].'|'.$x.'|';
-
- $fp = fopen("../local/datatmp/forumtopic.dat","a+");
- flock ($fp,LOCK_EX);
- fputs($fp,"$dat_topic\r\n");
- fflush ($fp);
- flock ($fp,LOCK_UN);
- fclose($fp);
- chmod ($fp, 0666);
- chmod ("../local/datatmp/forumtopic.dat", 0666);
-
-
- }}}}
-
-
-
- //----------------------Поиск в темах---------------------------------//
- if($ftype==1){
- $search_topic = file("../local/datatmp/forumthemes.dat");
- $alltotal = count($search_topic);
-
- //--------------------------- Ищем любое сходство --------------------------//
- if($tip==1){
-
- for ($i = 0; $i < $alltotal; $i++){
-
- $sdata = explode("|",$search_topic[$i]);
-
- for ($wi = 0; $wi < $wordsitogo; $wi++){
- $findmetols=$findmeword[$wi];
-
- if (strstr($sdata[2],$findmetols)){
-
- if (!in_array($sdata[2],$array_themout)){
-
- $sdata[2]=preg_replace("/$findmetols/",'<font color="#FF0000">'.$findmetols.'</font>',$sdata[2],1);
-
- $array_themauthor[]=$sdata[1];
- $array_themout[]=$sdata[2];
- $array_themdate[]=$sdata[3];
- $array_themtime[]=$sdata[4];
- $array_themid[]=$sdata[5];
- $array_themfid[]=$sdata[6];
-
- }}}}}
-
- //--------------------------- Ищем полное сходство --------------------------//
- if($tip==2){
-
- for ($i = 0; $i < $alltotal; $i++){
-
- $sdata = explode("|",$search_topic[$i]);
-
-
- if (strstr($sdata[2],$findmetol)){
-
- if (!in_array($sdata[2],$array_themout)){
-
- $sdata[2]=preg_replace("/$findmetol/",'<font color="#FF0000">'.$findmetol.'</font>',$sdata[2],1);
-
- $array_themauthor[]=$sdata[1];
- $array_themout[]=$sdata[2];
- $array_themdate[]=$sdata[3];
- $array_themtime[]=$sdata[4];
- $array_themid[]=$sdata[5];
- $array_themfid[]=$sdata[6];
-
- }}}
-
- }
- $total=count($array_themout);
-
- //------Вывод найденного--------//
- if($total>0){
- echo '<br>Поиск запроса <b>'.$findme.'</b> в темах<br>';
- echo 'Найдено совпадений: <b>'.(int)$total.'</b><br><br>';
-
-
- if (empty($_GET['start'])) $start = 0;
- else $start = $_GET['start'];
- if ($total < $start + $config_searchforum){ $end = $total; }
- else {$end = $start + $config_searchforum; }
- for ($i = $start; $i < $end; $i++){
-
-
- echo '<div class=b><img src="../images/img/forums.gif" alt=""> ';
- echo '<b>'.($i+1).'. <a href="../pages/anketa.php?uz='.$array_themauthor[$i].'&'.SID.'">'.nickname($array_themauthor[$i]).'</a></b> ';
- echo '('.$array_themdate[$i].'/'.$array_themtime[$i].')</div>';
- echo '<div><b><a href="index.php?fid='.$array_themfid[$i].'&id='.$array_themid[$i].'&'.SID.'">'.$array_themout[$i].'</a></b></div>';
- }
-
- echo '<hr>';
- if ($start != 0) {echo '<a href="search.php?action=search&findme='.$findme.'&ftype='.$ftype.'&tip='.$tip.'&start='.($start - $config_searchforum).'&'.SID.'"><-Назад </a>';}else{echo '<-Назад';}
- echo ' | ';
- if ($total > $start + $config_searchforum) {echo ' <a href="search.php?action=search&findme='.$findme.'&ftype='.$ftype.'&tip='.$tip.'&start='.($start + $config_searchforum).'&'.SID.'">Далее-></a>';}else{echo 'Далее->';}
-
- if($total>0){
-
- $ba=ceil($total/$config_searchforum);
- $ba2=$ba*$config_searchforum-$config_searchforum;
-
- echo '<br><hr>Страницы:';
- $asd=$start-($config_searchforum*3);
- $asd2=$start+($config_searchforum*4);
-
- if($asd<$total && $asd>0){echo ' <a href="search.php?action=search&findme='.$findme.'&ftype='.$ftype.'&tip='.$tip.'&start=0&'.SID.'">1</a> ... ';}
-
- for($i=$asd; $i<$asd2;)
- {
- if($i<$total && $i>=0){
- $ii=floor(1+$i/$config_searchforum);
-
- if ($start==$i) {
- echo ' <b>('.$ii.')</b>';
- }else {
-
- echo ' <a href="search.php?action=search&findme='.$findme.'&ftype='.$ftype.'&tip='.$tip.'&start='.$i.'&'.SID.'">'.$ii.'</a>';
- }}
-
- $i=$i+$config_searchforum;}
- if($asd2<$total){echo ' ... <a href="search.php?action=search&findme='.$findme.'&ftype='.$ftype.'&tip='.$tip.'&start='.$ba2.'&'.SID.'">'.$ba.'</a>';}
- }
- echo '<br><br>';
-
- }else{echo '<br>По вашему запросу ничего не найдено.<br>';}
-
- }
-
-
- //----------------------Поиск в сообщениях---------------------------------//
- if($ftype==2){
- $search_topic = file("../local/datatmp/forumtopic.dat");
- $alltotal = count($search_topic);
-
- //--------------------------- Ищем любое сходство --------------------------//
- if($tip==1){
- for ($i = 0; $i < $alltotal; $i++){
-
- $sdata = explode("|",$search_topic[$i]);
-
- for ($wi = 0; $wi < $wordsitogo; $wi++){
- $findmetols=$findmeword[$wi];
-
- if (strstr($sdata[3],$findmetols)){
-
- if (!in_array($sdata[2],$array_topthemes)){
-
- $sdata[3]=preg_replace("/$findmetols/",'[b][red]'.$findmetols.'[/red][/b]',$sdata[3],1);
-
- $array_topauthor[]=$sdata[1];
- $array_topthemes[]=$sdata[2];
- $array_topout[]=$sdata[3];
- $array_topdate[]=$sdata[4];
- $array_toptime[]=$sdata[5];
- $array_topid[]=$sdata[6];
- $array_topfid[]=$sdata[7];
- $array_toppost[]=$sdata[8];
- }}}}}
-
- //--------------------------- Ищем полное сходство --------------------------//
- if($tip==2){
-
- for ($i = 0; $i < $alltotal; $i++){
-
- $sdata = explode("|",$search_topic[$i]);
-
-
- if (strstr($sdata[3],$findmetol)){
-
- if (!in_array($sdata[2],$array_topthemes)){
-
- $sdata[3]=preg_replace("/$findmetol/",'[b][red]'.$findmetol.'[/red][/b]',$sdata[3],1);
-
- $array_topauthor[]=$sdata[1];
- $array_topthemes[]=$sdata[2];
- $array_topout[]=$sdata[3];
- $array_topdate[]=$sdata[4];
- $array_toptime[]=$sdata[5];
- $array_topid[]=$sdata[6];
- $array_topfid[]=$sdata[7];
- $array_toppost[]=$sdata[8];
-
- }}}
-
- }
-
-
-
- $total=count($array_topout);
-
-
- //------------------------------ Вывод найденного ----------------------------------//
- if($total>0){
- echo '<br>Поиск запроса <b>'.$findme.'</b> в сообщениях<br>';
- echo 'Найдено совпадений: <b>'.(int)$total.'</b><br><br>';
-
-
- if (empty($_GET['start'])) $start = 0;
- else $start = $_GET['start'];
- if ($total < $start + $config_searchforum){ $end = $total; }
- else {$end = $start + $config_searchforum; }
- for ($i = $start; $i < $end; $i++){
-
- $page = floor($array_toppost[$i] / $config_forumpost) * $config_forumpost;
-
- echo '<div class=b><img src="../images/img/forums.gif" alt=""> ';
- echo '<b>'.($i+1).'. <a href="index.php?fid='.$array_topfid[$i].'&id='.$array_topid[$i].'&page='.$page.'&'.SID.'">'.$array_topthemes[$i].'</a></b> ';
- echo '('.$array_topdate[$i].'/'.$array_toptime[$i].')</div>';
-
- echo '<div>Автор: <b><a href="../pages/anketa.php?uz='.$array_topauthor[$i].'&'.SID.'">'.nickname($array_topauthor[$i]).'</a></b><br>';
- echo 'Сообщение: '.bb_code($array_topout[$i]).'</div>';
- }
-
- echo '<hr>';
- if ($start != 0) {echo '<a href="search.php?action=search&findme='.$findme.'&ftype='.$ftype.'&tip='.$tip.'&start='.($start - $config_searchforum).'&'.SID.'"><-Назад</a> ';}else{echo '<-Назад';}
- echo ' | ';
- if ($total > $start + $config_searchforum) {echo ' <a href="search.php?action=search&findme='.$findme.'&ftype='.$ftype.'&tip='.$tip.'&start='.($start + $config_searchforum).'&'.SID.'">Далее-></a>';}else{echo 'Далее->';}
-
- if($total>0){
-
- $ba=ceil($total/$config_searchforum);
- $ba2=$ba*$config_searchforum-$config_searchforum;
-
- echo '<br><hr>Страницы:';
- $asd=$start-($config_searchforum*3);
- $asd2=$start+($config_searchforum*4);
-
- if($asd<$total && $asd>0){echo ' <a href="search.php?action=search&findme='.$findme.'&ftype='.$ftype.'&tip='.$tip.'&start=0&'.SID.'">1</a> ... ';}
-
- for($i=$asd; $i<$asd2;)
- {
- if($i<$total && $i>=0){
- $ii=floor(1+$i/$config_searchforum);
-
- if ($start==$i) {
- echo ' <b>('.$ii.')</b>';
- }else {
-
- echo ' <a href="search.php?action=search&findme='.$findme.'&ftype='.$ftype.'&tip='.$tip.'&start='.$i.'&'.SID.'">'.$ii.'</a>';
- }}
-
- $i=$i+$config_searchforum;}
- if($asd2<$total){echo ' ... <a href="search.php?action=search&findme='.$findme.'&ftype='.$ftype.'&tip='.$tip.'&start='.$ba2.'&'.SID.'">'.$ba.'</a>';}
- }
- echo '<br><br>';
-
- }else{echo '<br>По вашему запросу ничего не найдено.<br>';}
-
-
-
-
- }
-
-
- }else{echo '<br>Ваш запрос пуст, менее '.(int)$minfindme.' или более '.(int)$maxfindme.' символов!<br>'; }
- echo '<br><img src="../images/img/back.gif" alt=""> <a href="search.php?'.SID.'">Вернуться</a>';
- }
-
- }else{
- echo'<center><font color="red">Поиск по форуму отключен вами в личных настройках!!!</font></center>';}}
-
- if($config_top=="0"){
- echo'<center><font color="red">Поиск по форуму отключен!!!</font></center>';}
-
- }else{
- echo'Вы не авторизованы для просмотра';}
- }
-
- if($config_forum_off=="0"){
- echo'<center><font color="red">Форум сайта отключен!</font></center>';}
-
- echo '<br><img src="../images/img/panel.gif" alt=""> <a href="index.php?'.SID.'">В форум</a>';
- echo '<br><img src="../images/img/homepage.gif" alt=""> <a href="../index.php?'.SID.'">На главную</a>';
- include_once"../themes/$config_themes/foot.php";
- ?>