uawdijnntqw1x1x1
IP : 216.73.216.155
Hostname : vm5018.vps.agava.net
Kernel : Linux vm5018.vps.agava.net 3.10.0-1127.8.2.vz7.151.14 #1 SMP Tue Jun 9 12:58:54 MSK 2020 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
var
/
www
/
iplanru
/
data
/
.
/
mod-tmp
/
..
/
www
/
.
/
iplan.5018.vps.agava.net
/
modules
/
mod_zoo_finder
/
helper.php
/
/
<?php // No direct access defined( '_JEXEC' ) or die; /** * Class Module Helper * @author */ class modZoofinderHelper { /** * getData method * @param $params * @return array */ static function getResult($morphy,$q,$zt,$jinput,$count=false) { $db = JFactory::getDbo(); $m = array(); //q prepare $q=trim($q); $q=strip_tags($q); $q=html_entity_decode($q); $q=mb_ereg_replace ("[^a-zA-Zа-яА-Я0-9ёЁ\s\-]","",$q); $q=str_replace(" ", " ", $q); $hl=explode(" ", $q);//highlighter $q=mb_strtoupper( $q, 'UTF-8' ); $q=explode(" ", $q); //lemmatize $res=array(); foreach($q as $key=>$word) { $word=mb_ereg_replace ("[^a-zA-Zа-яА-Я0-9ёЁ\-]","",$word); $lemm = $morphy->lemmatize( $word ); if ($lemm[0]<>'') $res[$key]=$lemm[0]; } $q=array_merge($q,$res); //print_r($q); unset($res); //удаление коротких слов //foreach ($q as $key=>$word) if (mb_strlen($word)<=2) unset($q[$key]); if (!$q) return null; //sql q $sql_q=array(); foreach($q as $word) { //if (!$morphy->lemmatize($word, phpMorphy:: IGNORE_PREDICT)) continue; $sql_q[]='instr(f.word, "'.$word.'")>0'; } if ($sql_q) $sql_q=' and ('.implode(' or ',$sql_q).')'; else $sql_q=''; //sql types $sql_types=array(); foreach ($zt as $item) { $ch=''; if ($jinput->get( 'alltypes', 0, 'INT' )==1 or $jinput->get( "type-{$item[1]}", 0, 'INT' )==1) $sql_types[]='i.type="'.$item[1].'"'; } if ($sql_types) $sql_types=' and ('.implode(' or ',$sql_types).')'; else $sql_types=''; //sql sort if ($jinput->get('sortby',"rel")=="rel") $sql_sort= ' order by sw desc'; if ($jinput->get('sortby',"rel")=="date") $sql_sort= ' order by i.created desc'; $pagepos=($jinput->get('page',"1")-1)*$jinput->get('limit',"10"); $sql=" SELECT i.id as id, i.name as name, DATE_FORMAT(i.created, '%d.%m.%Y') as date, i.type as type, sum(f.weight) sw FROM jos_zoo_item i, jos_zoo_finder f, jos_zoo_finders fs WHERE i.id=fs.matid and f.fid=fs.id {$sql_q} {$sql_types} group by i.id,i.name, i.type,i.created {$sql_sort}"; $result = $db->setQuery($sql)->loadAssocList(); if ($jinput->get( "sql", 0, 'INT' )==1) echo $sql; return $result; } }
/var/www/iplanru/data/./mod-tmp/../www/./iplan.5018.vps.agava.net/modules/mod_zoo_finder/helper.php