<?php	
require_once"../template/start.php";
require_once"../template/regglobals.php";
require_once"../template/config.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";
include_once"../template/isset.php";

include_once("inc/func.inc");
include_once("inc/conf.inc");

$minfindme=3; // Минимальное кол-во символов в слове для поиска
$maxfindme=25; // Максимальное кол-во символов в слове для поиска
$config_searchdown=10;	//Файлов на страницу
	
echo '<img src="../images/img/bsearch.gif" alt="">  <b>Поиск</b><br><br>';

if(!isset($action)){	
	
echo '<form action="search.php?action=search&amp;'.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="2" checked> В описании<br>';
echo '<input name="ftype" type="radio" value="1"> В названии<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>';

echo '<b>Последние запросы</b><br><br>';
$file = file("downsearch.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("downsearch.dat"); 
$dows=preg_replace ("|[\r\n]+|si","",$dows);
if (!in_array($findme, $dows)) {
	
$fp=fopen("downsearch.dat","a+");  
flock ($fp,LOCK_EX);                                                              
fputs($fp,"$findme\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);  
chmod ($fp, 0666);
chmod ("downsearch.dat", 0666);

$file=file("downsearch.dat"); 
$i = count($file);
if ($i>6) {
$fp=fopen("downsearch.dat","w");
flock ($fp,LOCK_EX);
unset($file[0],$file[1]);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
}}	
//---------------------------------------------------------------------------------//	
function all_dir($dir) 
{    
$handle = opendir($dir);
while ($fid = readdir($handle)){
if ($fid != "." and  $fid != ".." )       
{ 
if(is_dir($dir."/".$fid)){ 
list($fes1) = all_dir($dir."/".$fid); 
$files = array_merge($files, $fes1);
$files[]=$dir."/".$fid;
}}
}      
closedir($handle); 
return array ($files);    
}
//------------------------Поиск по названию---------------------------------//
if($ftype==1){
$d=opendir('baze');
while ($file = readdir ($d)) {
if ( (($file!=".")&&($file!="..")&&($file!=".htaccess")) and is_file("baze/$file"))
{
$fs = @file("baze/$file");
$count = count($fs);
for ($i=0; $i<=$count; $i++){
$str = explode("|", $fs[$i]);
$tots = dirname($str[11]);
$file = str_replace("$tots/", "", $str[11]);
$pt[]=$tots;
$ft[]=$file;
$ftno[]=$str[9];
$ftnom[]=$str[8];
}}}
closedir($d);
$totals = count($ft);

//---------------------------- Поиск словосочетаний ----------------------//
for ($wi = 0; $wi < $wordsitogo; $wi++){
$findmetols=$findmeword[$wi];	

for ($it = 0; $it < $totals; $it++){ 
	
if (strstr($ftno[$it],$findmetols)){
	
if (!in_array($ftno[$it],$dresultno) or !in_array($ftnom[$it],$dresultno)){	
$dres[]=$pt[$it];
$dresult[]=$ft[$it];
$dresultnam[]=$ftnom[$it];		
$dresultno[]=$ftno[$it];}
}
if (strstr($ftnom[$it],$findmetols)){
	
if (!in_array($ftnom[$it],$dresultno)){	
$dres[]=$pt[$it];
$dresult[]=$ft[$it];
$dresultnam[]=$ftnom[$it];		
$dresultno[]=$ftnom[$it];}
}
}}

$total=count($dresult);

//------------------------------ Вывод найденного ----------------------------------//
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_searchdown){ $end = $total; }
else {$end = $start + $config_searchdown; }
for ($i = $start; $i < $end; $i++){

$siz= filesize("files$dres[$i]/$dresult[$i]");  # размер
$siz=formatsize($siz);
	
echo '<img src="../images/img/files.gif" alt=""> ';
$did[$i] = str_replace("files", "", $dres[$i]);
if($dresultnam[$i]==$dresultno[$i]){$dresultn[$i] = $dresultnam[$i];}else{$dresultn[$i] = $dresult[$i];}
echo '<b>'.($i+1).'. <a href="index.php?did='.$did[$i].'&amp;fid='.$dresult[$i].'&amp;act=desc&amp;'.SID.'">'.$dresultn[$i].'</a></b> ';
echo '('.$siz.')<br>';
}

echo '<hr>'; 
if ($start != 0) {echo '<a href="search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;start='.($start - $config_searchdown).'&amp;'.SID.'">&lt;-Назад </a> ';}else{echo '&lt;-Назад ';}
echo '|'; 
if ($total > $start + $config_searchdown) {echo ' <a href="search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;start='.($start + $config_searchdown).'&amp;'.SID.'"> Далее-&gt;</a>';}else{echo ' Далее-&gt;';}

if($total>0){

$ba=ceil($total/$config_searchdown);
$ba2=$ba*$config_searchdown-$config_searchdown;

echo '<br><hr>Страницы:';
$asd=$start-($config_searchdown*3);
$asd2=$start+($config_searchdown*4);

if($asd<$total && $asd>0){echo ' <a href="search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;start=0&amp;'.SID.'">1</a> ... ';}

for($i=$asd; $i<$asd2;)
{
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_searchdown);

if ($start==$i) {
echo ' <b>('.$ii.')</b>';
               }
                else {
echo ' <a href="search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;start='.$i.'&amp;'.SID.'">'.$ii.'</a>';
                     }}


$i=$i+$config_searchdown;}
if($asd2<$total){echo ' ... <a href="search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;start='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}
}
echo '<br><br>';
}else{echo '<br>По вашему запросу ничего не найдено.<br>';}
}

//------------------------Поиск по описанию---------------------------------//
if($ftype==2){

list($a)=all_dir("files");
asort($a);	
foreach ($a as $n=>$tots){
list($typ,$oform) = file_type($tots);
$d=opendir($tots);
while ($file = readdir ($d)){
$format = format($file);
if ((($file!==".")&&($file!==".."))  and (array_search($format,$oform)==true) and !is_dir("$tots/$file")){

if (file("$tots/$file.txt")){
$pt[]=$tots;
$ftno[]=$file;
$ftopis[]=rus_utf_tolower(file_get_contents("$tots/$file.txt"));}
}}
closedir($d);
}

$ftopis=str_replace("<br>"," ",$ftopis);
$ftopis=str_replace("<br/>"," ",$ftopis);

$totals = count($ftno);

//---------------------------- Поиск словосочетаний ----------------------//


//--------------------------- Ищем любое сходство --------------------------//
if($tip==1){
	
	
for ($wi = 0; $wi < $wordsitogo; $wi++){
$findmetols=$findmeword[$wi];

for ($it = 0; $it < $totals; $it++){	
$frename=preg_replace("/$findmetols/",'<font color="#FF0000">'.$findmetols.'</font>',$ftopis[$it],1);
$frename=utf_to_win($frename);

$ma=strpos($frename,"<font")-70; if($ma<0){$ma=0;}

if($ma>0){$msgtowrite='...';}else{$msgtowrite='';}
 
 $msgtowrite.=substr($frename,$ma,160); 
  
if(strlen($frename)>($ma+150)){$msgtowrite.='...';}else{$msgtowrite.='';}


 $msgtowrite=win_to_utf($msgtowrite);
 

if (strstr($msgtowrite,$findmetols)){
	
if (!in_array($msgtowrite,$dresultno)){	

$dres[]=$pt[$it];
$dresult[]=$ftno[$it];		
$dresultno[]=$msgtowrite;

}}}}}

//--------------------------- Ищем полное сходство --------------------------//
if($tip==2){
for ($it = 0; $it < $totals; $it++){ 
	
$frename=preg_replace("/$findmetol/",'<font color="#FF0000">'.$findmetol.'</font>',$ftopis[$it],1);
$frename=utf_to_win($frename);

$ma=strpos($frename,"<font")-70; if($ma<0){$ma=0;}

if($ma>0){$msgtowrite='...';}else{$msgtowrite='';}
 
 $msgtowrite.=substr($frename,$ma,160); 
  
if(strlen($frename)>($ma+150)){$msgtowrite.='...';}else{$msgtowrite.='';}


 $msgtowrite=win_to_utf($msgtowrite);
 

if (strstr($msgtowrite,$findmetol)){
	
if (!in_array($msgtowrite,$dresultno)){	

$dres[]=$pt[$it];
$dresult[]=$ftno[$it];		
$dresultno[]=$msgtowrite;

}}}}


$total=count($dresultno);
 
 //------------------------------ Вывод найденного ----------------------------------//
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_searchdown){ $end = $total; }
else {$end = $start + $config_searchdown; }
for ($i = $start; $i < $end; $i++){


	
echo '<div class="a"><img src="../images/img/files.gif" alt=""> ';
$did[$i] = str_replace("files", "", $dres[$i]);
echo '<b>'.($i+1).'. <a href="index.php?did='.$did[$i].'&amp;fid='.$dresult[$i].'&amp;act=desc&amp;'.SID.'">'.$dresult[$i].'</a></b><br /></div> ';
echo $dresultno[$i];
}

echo '<hr>'; 
if ($start != 0) {echo '<a href="search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;tip='.$tip.'&amp;start='.($start - $config_searchdown).'&amp;'.SID.'">&lt;-Назад </a> ';}else{echo '&lt;-Назад ';}
echo '|'; 
if ($total > $start + $config_searchdown) {echo ' <a href="search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;tip='.$tip.'&amp;start='.($start + $config_searchdown).'&amp;'.SID.'"> Далее-&gt;</a>';}else{echo ' Далее-&gt;';}

if($total>0){

$ba=ceil($total/$config_searchdown);
$ba2=$ba*$config_searchdown-$config_searchdown;

echo '<br><hr>Страницы:';
$asd=$start-($config_searchdown*3);
$asd2=$start+($config_searchdown*4);

if($asd<$total && $asd>0){echo ' <a href="search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;tip='.$tip.'&amp;start=0&amp;'.SID.'">1</a> ... ';}

for($i=$asd; $i<$asd2;)
{
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_searchdown);

if ($start==$i) {
echo ' <b>('.$ii.')</b>';
               }
                else {
echo ' <a href="search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;tip='.$tip.'&amp;start='.$i.'&amp;'.SID.'">'.$ii.'</a>';
                     }}


$i=$i+$config_searchdown;}
if($asd2<$total){echo ' ... <a href="search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;tip='.$tip.'&amp;start='.$ba2.'&amp;'.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>'; 
}



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";
?>

