Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 663 → Rev 664

/trunk/jrest/services/InventoryImageCount.php
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;
}
}
?>