Line 48... |
Line 48... |
48 |
$requete_selection_observations .= 'WHERE ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).' AND ';
|
48 |
$requete_selection_observations .= 'WHERE ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).' AND ';
|
49 |
} else if(count($criteres) > 0) {
|
49 |
} else if(count($criteres) > 0) {
|
50 |
$requete_selection_observations .= 'WHERE ';
|
50 |
$requete_selection_observations .= 'WHERE ';
|
51 |
}
|
51 |
}
|
Line -... |
Line 52... |
- |
|
52 |
|
- |
|
53 |
$tri = (isset($criteres['tri'])) ? $criteres['tri'] : 'ordre';
|
- |
|
54 |
unset($criteres['tri']);
|
- |
|
55 |
$tri_dir = (isset($criteres['tri_dir'])) ? $criteres['tri_dir'] : 'ASC';
|
- |
|
56 |
unset($criteres['tri_dir']);
|
52 |
|
57 |
|
53 |
// très mauvaise solution, mais qui permet au moins d'effectuer des requêtes complexes, sans modifier l'API
|
58 |
// très mauvaise solution, mais qui permet au moins d'effectuer des requêtes complexes, sans modifier l'API
|
54 |
// et sans pour autant introduire de problème de sécurité majeur dans toutes les fonctions appelantes qui
|
59 |
// et sans pour autant introduire de problème de sécurité majeur dans toutes les fonctions appelantes qui
|
55 |
// effectue $criteres = $_GET sans nettoyage préalable.
|
60 |
// effectue $criteres = $_GET sans nettoyage préalable.
|
56 |
if(isset($criteres['sql_brut']) && !$autoriser_sql_brut) unset($criteres['sql_brut']);
|
61 |
if(isset($criteres['sql_brut']) && !$autoriser_sql_brut) unset($criteres['sql_brut']);
|
57 |
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
|
62 |
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
|
58 |
|
63 |
|
59 |
$requete_selection_observations .= $sous_requete_recherche;
|
64 |
$requete_selection_observations .= $sous_requete_recherche;
|
60 |
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
|
65 |
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
|
61 |
$requete_selection_observations .= $id_utilisateur == null ? ' ORDER BY id_observation, ordre ' : ' ORDER BY ordre ';
|
66 |
$requete_selection_observations .= $id_utilisateur == null ? ' ORDER BY id_observation, ordre ' : ' ORDER BY '.$tri.' '.$tri_dir;
|
Line 62... |
Line 67... |
62 |
$requete_selection_observations .= ($debut == 0 && $limite == 0) ? '' : ' LIMIT '.$debut.','.$limite ;
|
67 |
$requete_selection_observations .= ($debut == 0 && $limite == 0) ? '' : ' LIMIT '.$debut.','.$limite ;
|
63 |
|
68 |
|
64 |
$this->requete_selection_observations = $requete_selection_observations;
|
69 |
$this->requete_selection_observations = $requete_selection_observations;
|