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) ; |