Вход Регистрация
Файл: forum/inc/search_act.php
Строк: 35
<?
include_once '../sys/includes/stemmer.php';
$stemmer=new Lingua_Stem_Ru();
if (isset(
$_POST['in']) && $_POST['in']!=null && preg_match('#^(r|f)([0-9]+)$#'$_POST['in'], $in))
{
if (
$in[1]=='f' && mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_f` WHERE `id` = '$in[2]' ".((!isset($user) || $user['level']==0)?"AND `adm` = '0'":null)),0)==1)
{
$searched['in']['m']='f';
$searched['in']['id']=$in[2];
}
else if(
$in[1]=='r')
{
$searched['in']['m']='r';
$searched['in']['id']=$in[2];
}
}
if (!isset(
$_POST['text']) || strlen2($_POST['text'])<3)
{
$err='Ошибочный запрос!';
}else{
$s_arr=explode("(t|n|r| )+"$_POST['text']);
$searched['text']=implode(' ',$s_arr);
for (
$i=0;$i<count($s_arr) ;$i++ )
{
$st=$stemmer->stem_word($s_arr[$i]);
if (
strlen2($st)<3)
{
continue;
}
$searched['mark'][$i]='#('.$st.'[a-zа-я0-9]*)#uim';
$s_arr_mysql[$i]=my_esc('+'.$st.'*');
}
}
if (isset(
$s_arr_mysql))
{
$adm_add=NULL;
$adm_add2=NULL;
if (!isset(
$user) || $user['level']==0)
{
$q222=mysql_query("SELECT * FROM `forum_f` WHERE `adm` = '1'");
while (
$adm_f mysql_fetch_assoc($q222))
{
$adm_add[]="`forum_p`.`id_forum` <> '$adm_f[id]'";
}
if (
sizeof($adm_add)!=0)
$adm_add2=implode(' AND '$adm_add).' AND ';
}
$searched['query']=implode(' '$s_arr_mysql);
$searched['sql_query']="SELECT COUNT(`forum_p`.`id`) AS `k_post`, `forum_t`.`id`, `forum_t`.`name`, `forum_t`.`id_forum`, `forum_t`.`id_razdel`, `forum_t`.`up`, `forum_t`.`close`, `forum_t`.`time_create`, `forum_p`.`id` AS `id_post`, `forum_p`.`msg` FROM `forum_t` LEFT JOIN `forum_p` ON `forum_p`.`id_them` = `forum_t`.`id` WHERE ".$adm_add2.($searched['in']['m']=='f'?"`forum_t`.`id_forum` = '".$searched['in']['id']."' AND ":null).($searched['in']['m']=='r'?"`forum_t`.`id_razdel` = '".$searched['in']['id']."' AND ":null)."MATCH (`forum_p`.`msg`,`forum_t`.`name`) AGAINST ('$searched[query]' IN BOOLEAN MODE) GROUP BY `forum_t`.`id`";
$q=mysql_query($searched['sql_query']);
while (
$result=mysql_fetch_assoc($q))
{
$searched['result']=$result;
}
}
?>
Онлайн: 0
Реклама