Просмотр файла up/search.php

Размер файла: 8.66Kb
<?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";

require_once "moduls/config.php";
require_once "moduls/functions.php";
require_once "moduls/connect.php";

$start = abs((int)$_GET['start']);
$action = $_GET['action'];

$minfindme=2; // Минимальное кол-во символов в слове для поиска
$maxfindme=25; // Максимальное кол-во символов в слове для поиска
$config_searchdown=$col;	//Файлов на страницу

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("moduls/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"){
$ftype = abs((int)$_POST['ftype']);
$tip = abs((int)$_POST['tip']);
$findme = mysql_real_escape_string(check(trim($_POST['findme'])));
$findmetol = rus_utf_tolower($findme);
$findmewords = explode(" ",$findmetol);
$wordsitogos = count($findmewords);

$findmeword = array();
$pd = array();
$pat = array();
$ft = array();
$ftno = array();
$ftnom = array();
$totals = 0;
$id = array();
$path = array();
$dresult = array();
$dresultnam = array();
$dresultno = array();

for ($wi = 0; $wi < $wordsitogos; $wi++){
if(strlen(utf_to_win($findmewords[$wi]))>=2){$findmeword[]=$findmewords[$wi];}	
}
$wordsitogo=count($findmeword);

if ($findme!= "" && strlen(utf_to_win($findme)) >= $minfindme && strlen(utf_to_win($findme))<$maxfindme){

// Запись последних поисков
$dows = file("moduls/downsearch.dat");
$dows = no_br($dows);

if (!in_array($findme, $dows)){

$fp=fopen("moduls/downsearch.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$findme\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod ("moduls/downsearch.dat", 0666);

$file=file("moduls/downsearch.dat"); 
$i = count($file);
if ($i>6) {
$fp=fopen("moduls/downsearch.dat","w");
flock ($fp,LOCK_EX);
unset($file[0],$file[1]);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
}
}

// Поиск по названию
if($ftype==1){
$query = mysql_query("SELECT * FROM `".$preff."_files` WHERE `format` <> '' ");

while($list = mysql_fetch_array($query))
{
$pd[] = $list['id'];
$pat[] = $list['path'];
$ft[] = $list['fname'].'.'.$list['format'];
$ftno[] = $list['fname'];
$ftnom[] = $list['name'];
$totals++;
}

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

for ($wi = 0; $wi < $wordsitogo; $wi++){
$findmetols=$findmeword[$wi];

for ($it = 0; $it < $totals; $it++){ 

if (stristr($ftno[$it],$findmetols)){

$id[]=$pd[$it];
$path[] = $pat[$it];
$dresult[]=$ft[$it];
$dresultnam[]=$ftnom[$it];
$dresultno[]=$ftno[$it];
}
if (stristr($ftnom[$it],$findmetols)){

$id[]=$pd[$it];
$path[] = $pat[$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($start>$total) $start=0;
if ($total < $start + $config_searchdown) $end = $total;
else $end = $start + $config_searchdown;

for ($i = $start; $i < $end; $i++){

$data = mysql_fetch_array(mysql_query("SELECT `infolder` FROM `".$preff."_files` WHERE `id` = '".$id[$i]."'"));
$dir_info = mysql_fetch_array(mysql_query("SELECT * FROM `".$preff."_files` WHERE `path` = '".$data[infolder]."' AND `format` = ''"));

$iddid = $dir_info['id'];
$didname = $dir_info['name'];
if($didname=='') $didname = $dir_info['fname'];

$siz = filesize("$path[$i]");  # размер
$siz = formatsize($siz);

echo '<div class="a"><img src="../images/img/files.gif" alt=""> ';

if($dresultnam[$i]==$dresultno[$i]) $dresultn[$i] = $dresultnam[$i]; else $dresultn[$i] = $dresult[$i];

echo '<b>'.($i+1).'. <a href="view.php?id='.$id[$i].'&amp;'.SID.'">'.$dresultn[$i].'</a></b> ';
echo '('.$siz.')</div>';
echo 'Перейти к папке: <a href="index.php?id='.$iddid.'&amp;'.SID.'">'.$didname.'</a></b>';
}

strpage($start, $col, $total, "search.php", 'search.php?action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;');

echo '<br>';

}else{echo '<br>По вашему запросу ничего не найдено.<br>';}
}

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

$query = mysql_query("SELECT * FROM `".$preff."_files` WHERE `format` <> '' ");
while($list = mysql_fetch_array($query))
{
$pd[] = $list['id'];
$ftno[] = $list['fname'].'.'.$list['format'];
$ftopis[] = rus_utf_tolower($list['about']);
$totals++;
}
$ftopis = str_replace("<br>"," ",$ftopis);
$ftopis = str_replace("<br/>"," ",$ftopis);

// Поиск словосочетаний
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)){	

$id[]=$pd[$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)){

$id[]=$pd[$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($start>$total) $start = 0;
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=""> ';

echo '<b>'.($i+1).'. <a href="view.php?id='.$id[$i].'&amp;'.SID.'">'.$dresult[$i].'</a></b><br></div> ';
echo $dresultno[$i];
}

strpage($start, $config_searchdown, $total, "search.php", 'action=search&amp;findme='.$findme.'&amp;ftype='.$ftype.'&amp;tip='.$tip.'&amp;');

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