41,7 → 41,7 |
return $ids; |
} |
|
public function rechercherObservations($id_utilisateur = null, $criteres = array(), $debut = 0, $limite = 50, $are_we_safe = FALSE) { |
public function rechercherObservations($id_utilisateur = null, $criteres = array(), $debut = 0, $limite = 50, $autoriser_sql_brut = FALSE) { |
$requete_selection_observations = 'SELECT * FROM cel_obs '; |
|
if ($id_utilisateur != null) { |
53,7 → 53,7 |
// 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']); |
if(isset($criteres['sql_brut']) && !$autoriser_sql_brut) unset($criteres['sql_brut']); |
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres); |
|
$requete_selection_observations .= $sous_requete_recherche; |
246,7 → 246,7 |
" famille LIKE ".$valeur_protegee. |
" ) AND "; |
break; |
case 'raw': |
case 'sql_brut': |
$sous_requete .= $valeur; |
$sous_requete .= ' AND '; |
break; |