76,51 → 76,66 |
|
foreach($criteres as $pair) |
{ |
|
$nom_valeur = explode("=",$pair) ; |
|
if($nom_valeur[0] == "ci_meta_mots_cles") |
$nom_valeur = explode("=",$pair) ; |
|
if(sizeof($nom_valeur) != 0) |
{ |
$mots_cles = rtrim($nom_valeur[1], ',') ; |
$mots_cles_liste = explode("," , $mots_cles) ; |
|
foreach($mots_cles_liste as $mot_cle) |
{ |
$query .= $nom_valeur[0].' LIKE "%'.$DB->escapeSimple($mot_cle).'%"' ; |
$query .= ' AND ' ; |
} |
if($nom_valeur[0] == "ci_limite") |
{ |
$limite = $DB->escapeSimple($nom_valeur[1]) ; |
} |
elseif($nom_valeur[0] == "ci_numero_page") |
{ |
$numero_page = $DB->escapeSimple($nom_valeur[1]) ; |
} |
elseif($nom_valeur[0] == "ci_meta_mots_cles") |
{ |
$mots_cles = rtrim($nom_valeur[1], ',') ; |
$mots_cles_liste = explode("," , $mots_cles) ; |
|
foreach($mots_cles_liste as $mot_cle) |
{ |
$query .= $nom_valeur[0].' LIKE "%'.$DB->escapeSimple($mot_cle).'%"' ; |
$query .= ' AND ' ; |
} |
} |
elseif($nom_valeur[0] == "ci_meta_comment") |
{ |
$mots_comment_liste = explode(" " , $nom_valeur[1]) ; |
|
foreach($mots_comment_liste as $mot_comment) |
{ |
$mot_comment = trim($mot_comment) ; |
$query .= $nom_valeur[0].' LIKE "%'.$DB->escapeSimple($mot_comment).'%"' ; |
$query .= ' AND ' ; |
} |
} |
elseif($nom_valeur[0] == "annee" || $nom_valeur[0] == "mois" || $nom_valeur[0] == "jour") |
{ |
$query .= $this->fabriquerSousRequeteRechercheDate($nom_valeur[0], $nom_valeur[1]) ; |
$query .= ' AND ' ; |
} |
elseif($nom_valeur[0] == "ci_id_tampon") |
{ |
$ids_tampon = rtrim($nom_valeur[1], ',') ; |
$query .= 'ci_id_image IN ( '.$DB->escapeSimple($ids_tampon).')'. |
$query .= ' AND '; |
} |
elseif($nom_valeur[0] == "ci_recherche_generale") |
{ |
$query .= $this->fabriquerSousRequeteRechercheGenerale($uid[0], $nom_valeur[1]); |
$query .= ' AND '; |
} |
else |
{ |
$query .= $nom_valeur[0].' = "'.$DB->escapeSimple($nom_valeur[1]) ; |
$query .= '" AND ' ; |
} |
} |
elseif($nom_valeur[0] == "ci_meta_comment") |
{ |
$mots_comment_liste = explode(" " , $nom_valeur[1]) ; |
|
foreach($mots_comment_liste as $mot_comment) |
{ |
$mot_comment = trim($mot_comment) ; |
$query .= $nom_valeur[0].' LIKE "%'.$DB->escapeSimple($mot_comment).'%"' ; |
$query .= ' AND ' ; |
} |
} |
elseif($nom_valeur[0] == "ci_meta_date") |
{ |
$query .= 'DATE_FORMAT( '.$nom_valeur[0].', \'%Y-%m-%d\' ) = "'.$DB->escapeSimple($nom_valeur[1]).'"' ; |
$query .= ' AND ' ; |
} |
elseif($nom_valeur[0] == "ci_id_tampon") |
{ |
$ids_tampon = rtrim($nom_valeur[1], ',') ; |
$query .= 'ci_id_image IN ( '.$DB->escapeSimple($ids_tampon).')' ; |
} |
else |
{ |
$nom_valeur = explode("=",$pair) ; |
$query .= $nom_valeur[0].' = "'.$DB->escapeSimple($nom_valeur[1]).'"' ; |
|
$query .= ' AND ' ; |
} |
} |
|
$query = rtrim($query,' AND ') ; |
|
$res =& $DB->query($query); |
if (PEAR::isError($res)) { |
|
140,5 → 155,36 |
print $res ; |
exit() ; |
} |
|
private function fabriquerSousRequeteRechercheGenerale($id_utilisateur, $chaine_recherche) { |
|
$requete_recherche_taxon .= 'SELECT coi_ce_image |
FROM cel_obs_images |
WHERE coi_ce_observation IN ' . |
'(SELECT ordre ' . |
'FROM cel_inventory '. |
'WHERE identifiant ="'.$id_utilisateur.'" '. |
'AND nom_sel LIKE "'.$chaine_recherche.'%" '. |
')'; |
|
$requete_recherche_comm = ' ci_meta_comment LIKE "%'.$chaine_recherche.'%" '; |
|
$requete_recherche_generale = '(ci_id_image IN ( '.($requete_recherche_taxon).') OR ('.$requete_recherche_comm.'))' ; |
|
return $requete_recherche_generale; |
} |
|
private function fabriquerSousRequeteRechercheDate($intervalle, $valeur) { |
|
$correspondance_champ = array('annee' => 'YEAR','mois' => 'MONTH','jour' => 'DAY'); |
|
$requete_recherche_date = ''; |
|
if(is_numeric($valeur)) { |
$requete_recherche_date = $correspondance_champ[$intervalle].'(ci_meta_date) = "'.$valeur.'" '; |
} |
|
return $requete_recherche_date; |
} |
} |
?> |