Subversion Repositories eFlore/Applications.cel

Rev

Rev 3808 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3808 Rev 3810
Line 44... Line 44...
44
        unset($criteres['tri']);
44
        unset($criteres['tri']);
45
        $direction = (isset($criteres['dir']) && $criteres['dir']) ? $criteres['dir'] : 'ASC';
45
        $direction = (isset($criteres['dir']) && $criteres['dir']) ? $criteres['dir'] : 'ASC';
46
        unset($criteres['dir']);
46
        unset($criteres['dir']);
Line 47... Line 47...
47
        
47
        
48
        $debut = ($debut < 0) ? 0 : $debut;
48
        $debut = ($debut < 0) ? 0 : $debut;
-
 
49
        $requete_recherche_images = 'SELECT ci.*, co.pseudo_utilisateur ';
-
 
50
        
-
 
51
        $requete_recherche_images .= $this->fabriquerRequeteJointureObs();
Line 49... Line -...
49
        $requete_recherche_images = 'SELECT ci.* ';
-
 
50
        
-
 
51
        if ($this->doitJoindreTableObs($criteres, $ordre)) {
-
 
52
            $requete_recherche_images .= $this->fabriquerRequeteJointureObs();
-
 
53
            $requete_recherche_images .= ($id_utilisateur != null) ? 'AND ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
-
 
54
        } else {
-
 
55
            $requete_recherche_images .= 'FROM cel_images_export ci ';
-
 
Line 56... Line 52...
56
            $requete_recherche_images .= ($id_utilisateur != null) ? 'WHERE ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
52
        $requete_recherche_images .= ($id_utilisateur != null) ? 'AND co.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
57
        }
53
        
Line 58... Line 54...
58
        
54
        
Line 71... Line 67...
71
    }
67
    }
Line 72... Line 68...
72
    
68
    
73
    public function compterImages($id_utilisateur = null, $criteres = array()) {
69
    public function compterImages($id_utilisateur = null, $criteres = array()) {
Line 74... Line -...
74
        $requete_recherche_images = 'SELECT COUNT(*) AS nb_images ';
-
 
75
        
70
        $requete_recherche_images = 'SELECT COUNT(*) AS nb_images ';
76
        if ($this->doitJoindreTableObs($criteres)) {
71
        
77
            $requete_recherche_images .= $this->fabriquerRequeteJointureObs();
-
 
78
            $requete_recherche_images .= ($id_utilisateur != null) ? 'AND ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
-
 
79
        } else {
-
 
80
            $requete_recherche_images .= 'FROM cel_images_export ci ';
72
        $requete_recherche_images .= $this->fabriquerRequeteJointureObs();
81
            $requete_recherche_images .= ($id_utilisateur != null) ? 'WHERE ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
73
        $requete_recherche_images .= ($id_utilisateur != null) ? 'AND co.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : '';
Line 82... Line 74...
82
        }
74
        
83
        $sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
75
        $sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
Line 185... Line 177...
185
                    $sous_requete .= ' OR ' ;
177
                    $sous_requete .= ' OR ' ;
186
                    $sous_requete .= 'co.nom_sel LIKE '.Cel::db()->proteger($valeur.'%') ;
178
                    $sous_requete .= 'co.nom_sel LIKE '.Cel::db()->proteger($valeur.'%') ;
187
                    $sous_requete .= ') AND ' ;
179
                    $sous_requete .= ') AND ' ;
188
                    break;
180
                    break;
189
                case "auteur":
181
                case "auteur":
190
                    $sous_requete .= '(ci.ce_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
182
                    $sous_requete .= '(co.ce_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
191
                        'ci.courriel_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
183
                        'co.courriel_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '.
192
                        'ci.pseudo_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').
184
                        'co.pseudo_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').
193
                        ') AND ';
185
                        ') AND ';
194
                    break;
186
                    break;
195
                case "ce_zone_geo":
187
                case "ce_zone_geo":
196
                    if($valeur == "NULL") {
188
                    if($valeur == "NULL") {
197
                        $sous_requete .= "(co.ce_zone_geo IS NULL OR co.ce_zone_geo = '')";
189
                        $sous_requete .= "(co.ce_zone_geo IS NULL OR co.ce_zone_geo = '')";
Line 232... Line 224...
232
            'co.nom_sel LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
224
            'co.nom_sel LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
233
            'co.zone_geo LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
225
            'co.zone_geo LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
234
            'co.ce_zone_geo LIKE '.Cel::db()->proteger('%'.$chaine_recherche.'%').' OR '.
226
            'co.ce_zone_geo LIKE '.Cel::db()->proteger('%'.$chaine_recherche.'%').' OR '.
235
            //TODO: recherche multicriteres sur mots clés texte ne fonctionne pas à cause de la jointure
227
            //TODO: recherche multicriteres sur mots clés texte ne fonctionne pas à cause de la jointure
236
        //'ci.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$chaine_recherche.'%').' OR '.
228
        //'ci.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$chaine_recherche.'%').' OR '.
237
        'ci.ce_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
229
        'co.ce_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
238
        'ci.courriel_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
230
        'co.courriel_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '.
239
        'ci.pseudo_utilisateur  LIKE '.Cel::db()->proteger($chaine_recherche.'%').' '.
231
        'co.pseudo_utilisateur  LIKE '.Cel::db()->proteger($chaine_recherche.'%').' '.
240
        ') ';
232
        ') ';
241
        return $requete;
233
        return $requete;
242
    }
234
    }
Line 243... Line 235...
243
    
235