Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1633 → Rev 1634

/trunk/jrest/lib/RechercheObservation.php
41,7 → 41,7
return $ids;
}
 
public function rechercherObservations($id_utilisateur = null, $criteres = array(), $debut = 0, $limite = 50) {
public function rechercherObservations($id_utilisateur = null, $criteres = array(), $debut = 0, $limite = 50, $are_we_safe = FALSE) {
$requete_selection_observations = 'SELECT * FROM cel_obs ';
 
if ($id_utilisateur != null) {
50,6 → 50,10
$requete_selection_observations .= 'WHERE ';
}
 
// très mauvaise solution, mais qui permet au moins d'effectuer des requêtes complexes, sans modifier l'API
// et sans pour autant introduire de problème de sécurité majeur dans toutes les fonctions appelantes qui
// effectue $criteres = $_GET sans nettoyage préalable.
if(isset($criteres['raw']) && ! $are_we_safe) unset($criteres['raw']);
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
 
$requete_selection_observations .= $sous_requete_recherche;
242,6 → 246,10
" famille LIKE ".$valeur_protegee.
" ) AND ";
break;
case 'raw':
$sous_requete .= $valeur;
$sous_requete .= ' AND ';
break;
default:
if (trim($nom) != '') {
$sous_requete .= $nom." = ".$this->proteger($valeur) ;