<?php
#-----------------------------------------------------#
# ********* WAP-MOTORS ********* #
# Made by : VANTUZ #
# E-mail : [email protected] #
# Site : http://pizdec.ru #
# WAP-Site : http://visavi.net #
# ICQ : 36-44-66 #
# Вы не имеете право вносить изменения в код скрипта #
#-----------------------------------------------------#
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";
$minfindme="4"; //минимальное кол-во символов в слове для поиска
echo'<img src="../images/img/search.gif" alt=""> <b>Поиск</b><br>';
if(!isset($action)){
if($config_themes!=="wml"){
echo'<form action="search.php?event=go&action=search&'.SID.'" method="post">
Запрос:
<br><input type="text" name="findme" /><br>
Тип:
<br><select name="ftype">
<option value="0">И</option>;
<option value="1" selected>ИЛИ</option>;
<option value="2">Вся фраза целиком</option>
</select><br><br>
<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'<anchor>Поиск';
echo'<go href="search.php?event=go&action=search&'.SID.'" method="post">';
echo'<postfield name="findme" value="$(findme)"/>';
echo'<postfield name="ftype" value="$(ftype)"/>';
echo'</go></anchor><br>--------------------<br>';
}
echo '<br>Язык запросов:<br>
"И" - должны присутствовать оба слова;<br>
"ИЛИ" - есть ХОТЯ БЫ одно из слов;<br>
"Вся фраза целиком" - в искомом документе ищите фразу на 100% соответствующую вашему запросу;<br>
Скрипт ищет все данные, которые начинаются с введенной вами строки. Например, при запросе "форум" будут найдены слова "форум", "форумы", "форумом"; и многие другие.<br>';
}
if($action=="search"){
// Разбиваем $findme на слова
$findme=stripslashes($findme);
$findmeword=explode(" ",$findme);
$wordsitogo=count($findmeword);
$findme=htmlspecialchars(trim(stripslashes($findme)));
if ($findme == "" || strlen(utf_to_win($findme)) < $minfindme) {echo '<br>Ваш запрос пуст, или менее '.$minfindme.' символов!';
echo'<br><br><a href="search.php?'.SID.'">К поиску</a>';
echo'<br><a href="index.php?'.SID.'">В форум</a>';
echo'<br><a href="../index.php?'.SID.'">На главную</a>';
include_once"../themes/$config_themes/foot.php";
exit;}
// Открываем файл с темами формума и запоминаем имена файлов с сообщениями
// ПЕРВЫЙ цикл - считаем кол-во форумов (записываем в переменную $itogofid)
$mainlines = file("../local/dataforum/mainforum.dat");
$i=count($mainlines); $itogofid="0"; $number="0"; $oldid="0"; $nump="0";
do {$i--; $dt = explode("|", $mainlines[$i]);
if ($dt[0]!="razdel") {$itogofid++;} // $itogofid - общее кол-во форумов
} while($i > "0");
$fid=$itogofid;
do {
// ВТОРОЙ цикл - открываем файл с топиком (если он существует) и сохраняем в переменную $topicsid все имена тем
if (is_file("../local/dataforum/topic$fid.dat")) {
$msglines=file("../local/dataforum/topic$fid.dat");
if (count($msglines)>0) {
$lines = file("../local/dataforum/topic$fid.dat"); $i=count($lines);
do {$i--; $dt = explode("|", $lines[$i]); $topicsid[$i]=$dt[7];} while($i > "0"); }
// ТРЕТИЙ цикл - последовательно открываем каждую тему
if (isset($topicsid)) {
$ii=count($topicsid);
do {$ii--;
$id = str_replace("\r\n","",$topicsid[$ii]);
$file=file("../local/dataforum/$id.dat");
$iii=count($file);
// ЧЕТВЁРТЫЙ цикл - последовательно ищем в каждой теме искомое сообщение
do {$iii--;
$lines = file("../local/dataforum/$id.dat");
$dt = explode("|", $lines[$iii]);
$msgmass=array($dt[4]); $gi="1";
///////////////////////////////////////////////
// Цикл по местам поиска (0,1,2,3,4) do {$dt=explode("|", $lines[$a1]);
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>", " ", $msg); // заменяем в сообщении <br> на пару пробелов
if (strlen($msg)>150)
{
$ma=strpos($msg,"<b>"); if ($ma > 50) {$ma=$ma-50;} else {$ma=0;}
$mb=strrpos($msg,">b/<"); if (($mb+50) > strlen($msg)) {$mb=strlen($msg);} else {$mb=$mb+50;}
$msgtowrite="..."; $msgtowrite.=substr($msg,$ma,$mb); $msgtowrite.="...";
$msgtowrite=substr($msg,0,400);
}
else {$msgtowrite=$msg;}
if (!isset($m)) {echo '<br>По запросу "<b>'.$findme.'</b>" найдено: <hr>'; $m="1"; }
if ($iii>$config_forumpost) {$page=floor($iii/$config_forumpost); $page=$page*$config_forumpost;} else {$page="0";}
if ($oldid!=$id and $number<50) {$number++; $msgnumber=$iii;
if ($nump>1) {$anp="$nump";} else {$anp="1";}
//$sercount[]=$msgtowrite;
echo'<div class=b><img src="../images/img/forums.gif" alt=""> ';
echo '<a href="index.php?fid='.$fid.'&id='.$id.'&page='.$page.'&'.SID.'">'.$dt[3].'</a></div><div>';
echo 'Cообщение: '.$msgtowrite;
echo'<br>Совпадений: '.$anp.'</div>';
$echoflag="0"; $nump="0";} else {$nump++;} $oldid=$id;
}
} while($gi > "0"); // конец ЦИКЛа по МЕСТУ поиска while($a1 < $u);
} while($iii > "0");
} while($ii > "0");
} // if isset($topicsid)
} // if файл topic$fid.dat НЕ пуст
$fid--;
} while($fid > "0");
if (!isset($m)) {echo '<br>По вашему запросу ничего не найдено.';}
echo'<br><a href="search.php?'.SID.'">К поиску</a>';
}
echo'<br><a href="index.php?'.SID.'">В форум</a>';
echo'<br><a href="../index.php?'.SID.'">На главную</a>';
include_once"../themes/$config_themes/foot.php";
?>