Fork me on GitHub






Petit jeu : trouver l'erreur !!!
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
Allez ! Un petit jeu rigolo ! Voici le script du fichier search.inc.php du module soapbox. Dans ce script, une ligne fait que seuls les membres enregistrés peuvent bénéficier des résultats de la recherche...

A vous de trouver laquelle :banane:

Le premier qui trouve a droit un gros poutou !

<?php
// $Id: search.inc.php,v 0.0.1.1 2006/02/23 16:37:00 domifara Exp $
/**
 * $Id: search.inc.php v 1.5 25 April 2004 hsalazar Exp $
 * Module: Soapbox
 * Version: v 1.5
 * Release Date: 25 April 2004
 * Author: hsalazar
 * Licence: GNU
 */
if ( !defined("XOOPS_MAINFILE_INCLUDED") || !defined("XOOPS_ROOT_PATH") || !defined("XOOPS_URL") ) {
    exit();
}
function 
sb_search$queryarray$andor$limit$offset$userid )
    {
    global 
$xoopsUser ;
    
$ret = array();
    if (!
is_object$xoopsUser) ||  $xoopsUser->getVar('uid') == ) {
        return 
$ret;
    }
    
$count count$queryarray );
    if (
$userid == ){
        if ( !
is_array$queryarray )  || empty( $queryarray ) || $count == 0) {
            return 
$ret;
        }
    }
    
//-------------------------------------    
    
$_entrydata_handler =& xoops_getmodulehandler('entryget','soapbox');
    
//-------------------------------------    
    
$canread_columnIDs = array() ;
    
$canread_columnnames = array() ;
    
$_userinfo_authors_column = array() ;
    
$_column_authors_uid = array() ;
    
//get category object
    
$_categoryob_arr =& $_entrydata_handler->getColumnsAllPermcheck
                                                                

                                                                
true null ,null ,
                                                                
null null ,
                                                                
false);
    foreach (
$_categoryob_arr as $k=>$_categoryob) {
        
$canread_columnIDs[] = $_categoryob->getVar('columnID') ;
        
$canread_columnnames[$_categoryob->getVar('columnID')] = $_categoryob->getVar('name') ;
        
$_column_authors_uid[$_categoryob->getVar('columnID')] = $_categoryob->getVar('author') ;
        if ( 
$userid != && $userid ==$_categoryob->getVar('author') ) {
                
$_userinfo_authors_column[] = $_categoryob->getVar('columnID') ;
        }
    }
//
    
if (empty($canread_columnIDs)) {
        return 
$ret;
    }
//2006.2.17 add line for bug fix (Thank you Nu-nrg) 
    
if ( $userid != && empty($_userinfo_authors_column) ) {
        return 
$ret;
    }
    
$criteria =    new CriteriaCompo();
    
$crit_canread = new CriteriaCompo();
    
$crit_canread->add(new Criteria'columnID',  '('.implode(','array_unique($canread_columnIDs)).')' 'IN') );
    
$criteria->add($crit_canread 'AND');
    unset(
$crit_canread);
//for userinfo
    
if ( $userid != &&  !empty($_userinfo_authors_column) && count($_userinfo_authors_column) > 0) {
        
$criteria_userinfo = new CriteriaCompo();
        
$criteria_userinfo->add(new Criteria'columnID',  '('.implode(','array_unique($_userinfo_authors_column)).')' 'IN') );
        
$criteria->add($criteria_userinfo 'AND');
        unset(
$criteria_userinfo);
    }
//for serch form
    
if ( is_array$queryarray )  && $count 0){
           
$crit_query = new CriteriaCompo();
        foreach (
$queryarray as $query_v) {
            
$crit_query_one = new CriteriaCompo();
//            $crit_query_one->add(new Criteria('columnID',  '('.implode(',', array_unique($_userinfo_authors_column)).')' , 'IN') );
            
$crit_query_one->add(new Criteria('headline','%'.$query_v.'%' 'like'));
            
$crit_query_one->add(new Criteria('headline' '.*('.preg_quote($query_v).').*' 'regexp') , 'OR');
            
$crit_query_one->add(new Criteria('lead' '%'.$query_v.'%' 'like') , 'OR');
            
$crit_query_one->add(new Criteria('lead' '.*('.preg_quote($query_v).').*' 'regexp') , 'OR');
            
$crit_query_one->add(new Criteria('bodytext' '%'.$query_v.'%' 'like') , 'OR');
            
$crit_query_one->add(new Criteria('bodytext' '.*('.preg_quote($query_v).').*' 'regexp') , 'OR');
            
$crit_query->add($crit_query_one$andor);
            unset(
$crit_query_one);
        }
        
$criteria->add($crit_query 'AND');
    }

    
$criteria->setStart($offset);
    
$criteria->setLimit($limit);
    
$criteria->setSort('datesub');
    
$criteria->setOrder('DESC');
    
$sbarticles_arr =& $_entrydata_handler->getArticles($criteria);
    unset(
$criteria);
    
    
$i 0;
    foreach (
$sbarticles_arr as $sbarticles) {
            
$ret[$i]['image'] = "images/sb.png";
            
$ret[$i]['link'] = "article.php?articleID=" $sbarticles->getVar('articleID');
            
$ret[$i]['title'] = $sbarticles->getVar('headline');
            
$ret[$i]['time'] = $sbarticles->getVar('datesub');
            
$ret[$i]['uid'] = $_column_authors_uid[$sbarticles->getVar('columnID')];
            
$i++;
    } 
    return 
$ret;

?>

Posté le : 17/08/2006 17:40

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+
Re: Petit jeu : trouver l'erreur !!!
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
if (!is_object$xoopsUser) ||  $xoopsUser->getVar('uid') == ) {
        return 
$ret;
    }
    
$count count$queryarray );
    if (
$userid == ){
        if ( !
is_array$queryarray )  || empty( $queryarray ) || $count == 0) {
            return 
$ret;
        }
    }

Posté le : 17/08/2006 17:45
Partager Twitter Partagez cette article sur GG+
Re: Petit jeu : trouver l'erreur !!!
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
sans dec ? :-o (cool

et comment on fait pour rendre accessible à tous les utilisateurs ?

Posté le : 17/08/2006 17:46

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+
Re: Petit jeu : trouver l'erreur !!!
Admin Frxoops
Inscrit: 04/02/2003 07:37
De Belgique
Messages: 3376
/*
if (!is_object( $xoopsUser) ||  $xoopsUser->getVar('uid') == 0 ) {
        return $ret;
    }
    $count = count( $queryarray );
    if ($userid == 0 ){
        if ( !is_array( $queryarray )  || empty( $queryarray ) || $count == 0) {
            return $ret;
        }
    }
*/



Posté le : 17/08/2006 17:57
Partager Twitter Partagez cette article sur GG+
Re: Petit jeu : trouver l'erreur !!!
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
Trop fort solo

Mais sauras-tu répondre à la question ci-dessus ? lol

Posté le : 17/08/2006 18:02

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+
Re: Petit jeu : trouver l'erreur !!!
Admin Frxoops
Inscrit: 04/02/2003 07:37
De Belgique
Messages: 3376
Lis bien ma réponse.

Posté le : 17/08/2006 22:12
Partager Twitter Partagez cette article sur GG+
Re: Petit jeu : trouver l'erreur !!!
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Allez un indice par rapport à la réponse de Benoit

Posté le : 17/08/2006 23:49
Partager Twitter Partagez cette article sur GG+
Re: Petit jeu : trouver l'erreur !!!
Guest_
Supprimes ce code (et lis bien attentivement les réponses qui te sont données) :
if (!is_object$xoopsUser) ||  $xoopsUser->getVar('uid') == ) {
        return 
$ret;
    }

Posté le : 18/08/2006 09:44
Partager Twitter Partagez cette article sur GG+
Re: Petit jeu : trouver l'erreur !!!
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
ok pigé les amis...

je vais tester ça... si ça marche, on pourra perfectionner le module soapbox.

@ toute

Posté le : 18/08/2006 14:11

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+
Re: Petit jeu : trouver l'erreur !!!
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
c'est bon ça marche... où puis-je poster le module soapbox avec le fix + votre modif ?

Posté le : 18/08/2006 15:41

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

27 Personne(s) en ligne (18 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 27 | Plus ...