<?$t='Поиск по сайту ДНК';include'../1.php'?>
<TABLE>
<TR><TD><h2>Вы искали: "<font color=#d10><?require('sinc/func_list.php');$CONFIG=file('sinc/sconfig.php');//файл конфигурации
if(isset($_POST["query"])){echo htmlspecialchars(trim($_POST["query"])).'</font>".</h2>';$microtime=microtime();$microsecs=substr($microtime,2,8);$secs=substr($microtime,11);$start_time="$secs.$microsecs";$sizetotal=0;
//if(ereg("[><?]+",$_POST["query"],$error_1))
if(preg_match("[><?]",$_POST["query"],$error_1))
{?>
<p>Найдены запрещенные символы в строке запроса - (<?=htmlspecialchars($error_1[0])?>)
</TABLE>
<?exit;}
if(strlen(trim($_POST["query"]))<3){?>
<p>Запросы из 3 (и менее) символов не обрабатываются.
</TABLE>
<?exit;}
$searchstring=trim($_POST["query"]);$searchword=explode(" ",$searchstring);//массив строки запроса
$allwords=count($searchword);//сколько слов в запросе
$FILE=file('sdata/search.php');$count=count($FILE);PHPruSearch('..','rus');for($x=0;$x<$count;$x++)//выбираем файл
{list($filename,$filesize,$content,$modify)=explode('^!^',$FILE[$x],4);$temp=explode('%^%',$content);$true=$find=$full_result=$long=0;$sizetotal+=$filesize;foreach($temp as$key=>$value)//выбираем строку
{if($allwords>1)//если более 1 слова в запросе
{if(preg_match_all("/".$searchstring."/i",$value,$ok,PREG_PATTERN_ORDER))
$new=str_replace($ok[0][0],'<FONT COLOR='.trim($CONFIG[2]).'>'.trim($CONFIG[6]).$ok[0][0].'</FONT>'.trim($CONFIG[7]),$value);else $new=$value;if($new!=$value){$find++;$true=1;$show[$find]=$new;$full_result++;}}
for($all=0;$all<$allwords;$all++)//проходим по каждому из слов в запросе
{$chekfull=explode(" ",$value);if(in_array($searchword[$all],$chekfull))
$full_result++;$long=strlen($searchword[$all]);if($long>5){if(preg_match("/(у|ы|а|о|я|е|и)$/i",$searchword[$all]))
$long=-1;if(preg_match("/(и|е|о|а|ы|у)[еямюйивх]$/i", $searchword[$all]))
$long=-2;$short=substr($searchword[$all],0,$long);if(preg_match_all("/".$short."/i",$value,$ok,PREG_PATTERN_ORDER))
$new=str_replace($ok[0][0],'<FONT COLOR='.trim($CONFIG[2]).'>'.trim($CONFIG[6]).$ok[0][0].'</FONT>'.trim($CONFIG[7]),$value);
else $new=$value;if($new!=$value){$find++;$true=1;$show[$find]=$new;}}
else{$short=$searchword[$all];if(preg_match_all("/".$short."/i",$value,$ok,PREG_PATTERN_ORDER))
$new=str_replace($ok[0][0],'<FONT COLOR='.trim($CONFIG[2]).'>'.trim($CONFIG[6]).$ok[0][0].'</FONT>'.trim($CONFIG[7]),$value);
else $new=$value;if($new!=$value){$find++;$true=1;$show[$find]=$new;}}}}
if($true!==0){$fulltrue=1;echo'<p>'.$filename.'<p>Дата последнего обновления документа: '.$modify.', размeр: '.$filesize.'Kb.<p>Найдено '.$find.' совпадений (точных: '.$full_result.', похожих: '.($find-$full_result).').<p>Среди них такие как:<ol>';if($find>trim($CONFIG[1]))//ограничение количества выводимых строк
$STROK=trim($CONFIG[1]);else $STROK=$find;for($a=1;$a<$STROK+1;$a++)//выводим совпадения построчно
{echo'<li>…'.$show[$a].'…';};echo'</ol>';}}
if(!isset($fulltrue))
echo'<p>По вашему запросу ничего не найдено.';echo'<p>';flush();if(isset($_SERVER["REMOTE_ADDR"]))
$IP=$_SERVER["REMOTE_ADDR"];else $IP='нет данных';$NEW=time().'^^'.$searchstring.'^^'.$_SERVER["HTTP_REFERER"].'^^'.$IP."\r\n";PHPruSave($NEW,'sinc/query.php','a+');}
else echo'Запрос на поиск не поступал!<p>'?>
</TABLE>
<?include'../2.php'?>