Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 929 → Rev 930

/trunk/jrest/lib/RechercheImage.php
42,7 → 42,10
$criteres = explode("&", $chaine_criteres) ;
 
foreach($criteres as &$critere) {
$criteres_parses[] = explode("=",$critere) ;
$nom_valeur = explode("=",$critere) ;
if(count($nom_valeur) >= 2) {
$criteres_parses[$nom_valeur[0]] = $nom_valeur[1];
}
}
return $criteres_parses;
64,14 → 67,13
 
public function rechercherImages($id_utilisateur, $criteres, $numero_page = 0 , $taille_page = 50) {
$requete_recherche_images = 'SELECT * FROM cel_images WHERE ce_utilisateur = "'.$id_utilisateur.'"' ;
$requete_recherche_images = 'SELECT * FROM cel_images WHERE ce_utilisateur = '.$this->proteger($id_utilisateur).' ';
 
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
$requete_recherche_images .= $sous_requete_recherche;
$debut = $taille_page*$numero_page ;
$requete_recherche_image .= ' ORDER BY ordre LIMIT '.$debut.','.$taille_page ;
$requete_recherche_images .= ' ORDER BY ordre LIMIT '.$debut.','.$taille_page ;
$resultats_images = array();
$resultats_images = $this->requeter($requete_recherche_images);
127,32 → 129,32
$sous_requete = ' AND ';
foreach($criteres as $nom_valeur)
foreach($criteres as $nom => $valeur)
{
if(count($nom_valeur) == 0) {
if(trim($nom) == "" || trim($valeur) == "") {
continue;
}
switch($nom_valeur[0]) {
switch($nom) {
case "mots_cles";
$mots_cles = rtrim($nom_valeur[1], ',') ;
$mots_cles_liste = explode("," , $mots_cles) ;
$mots_cles = rtrim($valeur, ',') ;
$mots_cles_liste = explode(',' , $mots_cles) ;
foreach($mots_cles_liste as $mot_cle)
{
$sous_requete .= $nom_valeur[0].' LIKE "%'.$this->proteger($mot_cle).'%"' ;
$sous_requete .= $nom.' LIKE '.$this->proteger('%'.$mot_cle.'%') ;
$sous_requete .= ' AND ' ;
}
break;
case "commentaire":
$mots_comment_liste = explode(" " , $nom_valeur[1]) ;
$mots_comment_liste = explode(" " , $valeur) ;
foreach($mots_comment_liste as $mot_comment)
{
$mot_comment = trim($mot_comment) ;
$sous_requete .= $nom_valeur[0].' LIKE "%'.$this->proteger($mot_comment).'%"' ;
$sous_requete .= $nom.' LIKE '.$this->proteger('%'.$mot_comment.'%') ;
$sous_requete .= ' AND ' ;
}
break;
160,23 → 162,23
case "annee":
case "mois":
case "jour":
$sous_requete .= $this->fabriquerSousRequeteRechercheDate($nom_valeur[0], $nom_valeur[1]) ;
$sous_requete .= $this->fabriquerSousRequeteRechercheDate($nom, $valeur) ;
$sous_requete .= ' AND ' ;
break;
case "tampon":
$ids_tampon = rtrim($nom_valeur[1], ',') ;
$ids_tampon = rtrim($valeur, ',') ;
$sous_requete .= 'id_images IN ( '.$this->proteger($ids_tampon).')' ;
break;
case "recherche_generale":
$sous_requete .= $this->fabriquerSousRequeteRechercheGenerale($id_utilisateur, $nom_valeur[1]);
$sous_requete .= $this->fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur);
$sous_requete .= ' AND ';
break;
default:
$sous_requete .= $nom_valeur[0].' = "'.$this->proteger($nom_valeur[1]) ;
$sous_requete .= '" AND ' ;
$sous_requete .= $nom.' = '.$this->proteger($valeur) ;
$sous_requete .= ' AND ' ;
break;
}
}
193,11 → 195,11
WHERE id_observation IN ' .
'(SELECT id_observation ' .
'FROM cel_obs '.
'WHERE ce_utilisateur ="'.$id_utilisateur.'" '.
'AND nom_sel LIKE "'.$chaine_recherche.'%" '.
'WHERE ce_utilisateur = '.$this->proteger($id_utilisateur).' '.
'AND nom_sel LIKE "'.$this->proteger($chaine_recherche.'%').
')';
$requete_recherche_comm = ' commentaire LIKE "%'.$chaine_recherche.'%" ';
$requete_recherche_comm = ' commentaire LIKE '.$this->proteger('%'.chaine_recherche.'%');
$requete_recherche_generale = '(id_image IN ( '.($requete_recherche_taxon).') OR ('.$requete_recherche_comm.'))' ;
211,7 → 213,7
$requete_recherche_date = '';
 
if(is_numeric($valeur) && $valeur != "00") {
$requete_recherche_date = $correspondance_champ[$intervalle].'(ci_meta_date) = "'.$valeur.'" ';
$requete_recherche_date = $correspondance_champ[$intervalle].'(ci_meta_date) = '.$this->proteger($valeur).' ';
} else {
$requete_recherche_date = '(date_prise_de_vue IS NULL OR date_prise_de_vue = "0000-00-00")';
}