Re: Bug recherche module content 1.25 RC | Titre du sujet : Re: Bug recherche module content 1.25 RC par nicripeur sur 08/09/2009 15:16:18
je l'ai signalé sur ce forum à Mus$ avant l'été.
dans l'attente qu'il corrige, j'ai modifié le ficher search.inc.php :
<?php
/**
* @copyright The Xoops Project http://sourceforge.net/projects/xoops/
* @license http://www.gnu.org/licenses/gpl.txt&n ... Public License (GPL)
* @package content
*/
include_once 'functions.php';
function content_search($queryarray, $andor, $limit, $offset, $userid){
global $xoopsDB, $xoopsUser;
// construct query
$sql = "SELECT * FROM ".$xoopsDB->prefix("content")." WHERE `active` = 1 ";
if ( $userid != 0 ) {
$sql .= " AND `owner_id` =".$userid." ";
}
// because count() returns 1 even if a supplied variable
// is not an array, we must check if $querryarray is really an array
if ( is_array($queryarray) && $count = count($queryarray) ) {
$sql .= " AND ((content_text LIKE '%$queryarray[0]%' OR content_name LIKE '%$queryarray[0]%' OR content_menu LIKE '%$queryarray[0]%' )";
for($i=1;$i<$count;$i++){
$sql .= " $andor ";
$sql .= "(content_text LIKE '%$queryarray[$i]%' OR content_name LIKE '%$queryarray[$i]%' OR content_menu LIKE '%$queryarray[$i]%')";
}
$sql .= ") ";
}
$sql .= "ORDER BY content_id";
$result = $xoopsDB->queryF($sql,$limit,$offset);
$ret = array();
$i = 0;
$friendly_url = content_setting('friendly_url', getModuleDirname(__FILE__));
$rewrite_base = content_setting('rewrite_mode', getModuleDirname(__FILE__));
switch($friendly_url){
case 'none':
$seourl = 'index.php?id=';
$ext='';
break;
case 'friendly':
$seourl = 'index.php/';
$ext='';
break;
case 'rewrite':
$seourl = '';
$ext='.html';
break;
}
$group = is_object($xoopsUser) ? $xoopsUser->getGroups() : array(XOOPS_GROUP_ANONYMOUS);
while($myrow = $xoopsDB->fetchArray($result)){
$groups = explode(" ",$myrow['groups']);
if (count(array_intersect($group,$groups)) > 0){
switch ($myrow['content_type']){
case 'content':
$ret[$i]['link'] = XOOPS_URL.$rewrite_base.'content/'.$seourl.$myrow['content_id'].$ext;
break;
case 'link':
$ret[$i]['link'] = $row['content_link'];
break;
}
$ret[$i]['image'] = "images/content.png";
$ret[$i]['title'] = $myrow['content_name'];
$ret[$i]['time'] = $myrow['create_date'];
$ret[$i]['uid'] = $myrow['owner_id'];
$i++;
}
}
return $ret;
}
?>
|
|