Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1377 → Rev 1378

/trunk/jrest/lib/RechercheObservation.php
62,7 → 62,7
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
$requete_selection_observations .= ' ORDER BY ordre LIMIT '.$debut.','.$limite ;
 
$resultats_observations = array();
$resultats_observations = $this->requeter($requete_selection_observations);
 
186,7 → 186,17
if($valeur == "NULL") {
$sous_requete .= "(ce_zone_geo IS NULL OR ce_zone_geo = '')";
} else {
$sous_requete .= "ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$valeur.'___');
if(strpos($valeur,',') !== false) {
$dpts = explode(',',$valeur);
$sous_requete .= '(';
foreach($dpts as $dpt) {
$sous_requete .= "ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$dpt.'___').' OR ';
}
$sous_requete = rtrim($sous_requete,' OR ').') ';
} else {
$sous_requete .= "ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$valeur.'___');
}
}
$sous_requete .= ' AND ' ;
break;
209,7 → 219,15
case 'recherche':
$sous_requete .= $this->fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur);
$sous_requete .= ' AND ';
break;
break;
case 'date_debut':
$sous_requete .= 'date_observation >= '.$this->proteger($this->formaterEnDateMysql($valeur));
$sous_requete .= ' AND ';
break;
case 'date_fin':
$sous_requete .= 'date_observation <= '.$this->proteger($this->formaterEnDateMysql($valeur));
$sous_requete .= ' AND ';
break;
default:
if(trim($nom) != '')
{
228,6 → 246,14
return $sous_requete;
}
private function formaterEnDateMysql($date) {
$annee = substr($date, 6, 4);
$mois = substr($date, 3, 2);
$jour = substr($date, 0, 2);
$date = $annee . '-' . $mois . '-' . $jour;
return $date;
}
private function fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur) {
$valeur = str_replace("*","%",$valeur);
$valeur = $this->proteger('%'.$valeur.'%');
269,7 → 295,6
);
return $sous_requete .= $champs[$valeur]." = ".$this->proteger("");
}
}
}
?>