View file board/search.php

File size: 10.56Kb
<?php
#-----------------------------------------------------#
#     **** WAP-MOTORS AutoDetect XHTML/WML ****       #
#-----------------------------------------------------#
#     Original Made by  :  VANTUZ                     #
#               E-mail  :  [email protected]             #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#-----------------------------------------------------#
#   AutoDetect Made by  :  X-ray (Юрий)               #
#               E-mail  :  [email protected]           #
#                 Site  :  http://zugdidi.us          #
#             WAP-Site  :  http://geowap.mobi         #
#-----------------------------------------------------#
#  Вы не имеете право вносить изменения в код скрипта #
#-----------------------------------------------------#	
require_once"../template/start.php";
require_once"../template/regglobals.php";
require_once"../template/config.php";
require_once"../template/functions.php";
require_once"../template/maincore.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";

$text = @file("../local/profil/$log.prof"); 
if ($text!=""){
$udata = explode(":||:",$text[0]);
$provlog=trim($udata[0]);
$provpar=trim($udata[1]);
$privat=trim($udata[10]);}

// все события в файле tools.php выполняются ТОЛЬКО при наличии переменной $event
if(isset($_GET['event'])) {


if ($_GET['event']=="find") {   // ПОИСК объявления


$minfindme="3"; // минимальное кол-во символов, в поисковой фразе


$ftype=$_POST['ftype'];
$gdefinder=$_POST['gdefinder'];

// Разбиваем $findme на слова
$findme=$_POST['findme'];
$findme=stripslashes($findme);
$findmeword=explode(" ",$findme);
$wordsitogo=count($findmeword);
$findme=trim($findme); // Вырезает ПРОБЕЛьные символы 

if ($findme == "" || strlen($findme) < $minfindme) {
echo'Ваш запрос пуст, или менее '.$minfindme.' символов!'; 
echo'<br><a href="search.php?'.$detect_wap.''.SID.'">Назад</a>'; 
echo'<br><a href="index.php?'.$detect_wap.''.SID.'">В объявления</a>'; 
echo'<br><a href="../index.php?'.$detect_wap.''.SID.'">На главную</a>'; 
require_once"../template/foot.php";
exit;}


// Открываем файл с темами формума и запоминаем имена файлов с сообщениями
$lines = file("../local/databoard/database.dat");
$itogo=count($lines); $i=$itogo;
// первый цикл - подсчёт кол-во тем
$number="0";
do {$i--; $dt=explode("|", $lines[$i]);
$forumsid[$i]=$dt[3];
} while($i > "0");


$ii=count($forumsid);
// второй цикл - проверка последовательная сообщений в теме
do {$ii--;
$id=$forumsid[$ii];


if (is_file("../local/databoard/$id.dat")) {$file=file("../local/databoard/$id.dat");}

 if ((is_file("../local/databoard/$id.dat")) && (sizeof($file)>"0"))
 {
  $iiitogo=count($file); $iii=$iiitogo;  // $iii-кол-во сообщений в теме $id.dat";
 $linesid = file("../local/databoard/$id.dat");

do {$iii--;
    $dt = explode("|", $linesid[$iii]);

if ($gdefinder=="0") {$msgmass=array($dt[2],$dt[0],$dt[4]); $gi="3"; $add='ях <b>Автор, Текст, Заголовок</b> ';}
if ($gdefinder=="1") {$msgmass=array($dt[4]); $gi="1"; $add='е <b>Текст</b> ';}
if ($gdefinder=="2") {$msgmass=array($dt[0],$dt[4]); $gi="2"; $add='ях <b>Текст и Заголовок</b> ';}
if ($gdefinder=="3") {$msgmass=array($dt[2]); $gi="1"; $add='е <b>Автор</b> ';}
if ($gdefinder=="4") {$msgmass=array($dt[0]); $gi="1"; $add='е <b>Заголовок</b> ';}

// Цикл по местам поиска (0,1,2,3,4)
do {$gi--;

$msg=$dt[4];
$msdat=$msgmass[$gi];

$stroka="0"; $wi=$wordsitogo;
// ЦИКЛ по КАЖДОМУ слову запроса !
do {$wi--;



// БЛОК УСЛОВИЙ ПОИСКА
    if ($ftype=="2") 
        {
        if (stristr($msdat,$findme))     // ПОИСК по "ВСЕЙ ФРАЗЕ ЦЕЛИКОМ" БЕЗ учёта регистра
            { 
             $stroka++;
             $msg=eregi_replace($findme," <b><u>$findme</u></b> ",$msg);
            }
        }
     else {
           $str1=strtolower($msdat);  
           $str2=strtolower($findmeword[$wi]); 
           if ($str2!="" and strlen($str2) >= $minfindme)
              {
               if (stristr($str1,$str2)) // ПОИСК БЕЗ учёта регистра при равных прочих условиях
                  {
                   $stroka++;
                   $msg=eregi_replace($findmeword[$wi]," <b><u>$findmeword[$wi]</u></b> ",$msg);
                  }
              }
          }

} while($wi > "0");  // конец ЦИКЛа по КАЖДОМУ слову запроса



// Подготавливаем результирующее сообщение, и если результат соответствует условиям - выводим его
if ($ftype=="0") {  if ($stroka==$wordsitogo) {$echoflag="1";}  }
if ($ftype=="1") {  if ($stroka>"0") {$echoflag="1";}  }
if ($ftype=="2") {  if ($stroka==$wordsitogo) {$echoflag="1";}  }



if (!isset($echoflag)) {$echoflag="0";}
    if ($echoflag=="1")
       {$msg=str_replace("<br>", " &nbsp;&nbsp;", $msg); // заменяем в сообщении <br> на пару пробелов


if (strlen($msg)>250)
{
 $ma=strpos($msg,"<b>"); if ($ma > 150) {$ma=$ma-150;} else {$ma=0;}
 $mb=strrpos($msg,">b/<"); if (($mb+150) > strlen($msg)) {$mb=strlen($msg);} else {$mb=$mb+150;}
 $msgtowrite="..."; $msgtowrite.=substr($msg,$ma,$mb); $msgtowrite.="...";
}
else {$msgtowrite=$msg;}



if (!isset($m)) {

echo '<br>По запросу <b>'.$findme.'</b> в пол'.$add.' найдено:<br><br>';
 $m="1"; }

// Открываем файл и ищем в какой рубрике находится найденное сообщение




$p=$itogo; do {$p--; $dtp=explode("|", $lines[$p]); if ($dtp[3]==$id) {$tid=$p;} } while($p > "0");

$msgnumber=$iiitogo-$iii; 
echo '</div><div class=b><img src="../images/img/forums.gif" alt=""> <b>'.$dt[0].'</b></div><div>';
echo 'Текст: <a href="index.php?tid='.$tid.'&amp;id='.$id.'&amp;'.$detect_wap.''.SID.'">'.$msgtowrite.'</a><br>';

echo 'Разместил: <a href="../pages/anketa.php?uz='.$dt[2].'&amp;'.$detect_wap.''.SID.'">'.$dt[2].'</a><br>';

echo 'Е-mail: '.$dt[3].'<br>';
echo 'Дата: '.$dt[5].'<br>';
$echoflag="0";
       }


} while($gi > "0");  // конец ЦИКЛа по МЕСТУ поиска

} while($iii >= "1");

 } // if ((is_file("$id.dat")) && (sizeof("$id.dat")>0))


} while($ii > "0");


if (!isset($m)) {echo 'По вашему запросу  ничего не найдено.';
echo'<br><a href="search.php?'.$detect_wap.''.SID.'">Назад</a>';
}

}

} // if isset($event)

else {

if($config_themes!=="wml"){
echo'<br><form action="search.php?event=find&amp;'.$detect_wap.''.SID.'" method="post">';
echo'Запрос: <br><input type="text"  name="findme" /><br>';
echo'Тип: <br><select name="ftype"><br>';
echo'<option value="0">И</option>';
echo'<option value="1" selected>ИЛИ</option>';
echo'<option value="2">Вся фраза целиком</option>';
echo'</select><br>';

echo'Где искать: <br>';
echo'<select name="gdefinder">';
echo'<option value="1" selected>В тексте</option>';
echo'<option value="4">В заголовке</option>';
echo'<option value="3">Имени автора</option>';
echo'<option value="2">В тексте и заголовке</option>';
echo'<option value="0">Везде</option></select><br><br>';
echo'<input type="submit" value="Поиск" /></form><hr>';
}else{
	
echo'<br>Запрос:<br>';
echo'<input name="findme" /><br>';

echo'Тип:<br> <select name="ftype">';
echo '<option value="1">ИЛИ</option>';
echo '<option value="0">И</option>';
echo '<option value="2">Вся фраза целиком</option></select><br>';

echo'Где искать: <br>';
echo'<select name="gdefinder">';
echo'<option value="1">В тексте</option>';
echo'<option value="4">В заголовке</option>';
echo'<option value="3">Имени автора</option>';
echo'<option value="2">В тексте и заголовке</option>';
echo'<option value="0">Везде</option></select><br>';



echo'<anchor>Поиск';
echo'<go href="search.php?event=find&amp;'.$detect_wap.''.SID.'" method="post">';
echo'<postfield name="findme" value="$(findme)"/>';
echo'<postfield name="gdefinder" value="$(gdefinder)"/>';
echo'<postfield name="ftype" value="$(ftype)"/>';
echo'</go></anchor><br>--------------------<br>';	
	
}


echo '<br>Язык запросов:<br>
И - должны присутствовать оба слова;<br>
ИЛИ - есть ХОТЯ БЫ одно из слов;<br>
Вся фраза целиком - в искомом документе ищите фразу на 100% соответствующую вашему запросу;<br>
Где искать: <br>
В тексте - поиск ведётся только в тексте сообщений<br>
В заголовке - поиск ведётся в заголовке объявления<br>
Имени автора - поиск по имени подавшего объявления<br>
В тексте и заголовке - поиск по имени подавшего объявления, и заголовке объявления<br>
Везде - поиск ведётся в полях Имя, Заголовок, Тексте каждого объявления<br>
Скрипт ищет все данные, которые начинаются с введенной вами строки. Например, при запросе "скрипт" будут найдены слова "скрипт", "скриптик", "скриптом"; и многие другие.<br>';


}
echo'<br><a href="index.php?'.$detect_wap.''.SID.'">В объявления</a>'; 
echo'<br><a href="../index.php?'.$detect_wap.''.SID.'">На главную</a>'; 
include_once"../themes/$config_themes/foot.php";
?>