Line 41... |
Line 41... |
41 |
}
|
41 |
}
|
Line 42... |
Line 42... |
42 |
|
42 |
|
43 |
$requete_selection_id .= ' AND ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).
|
43 |
$requete_selection_id .= ' AND ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).
|
Line 44... |
Line 44... |
44 |
' ORDER BY id_observation';
|
44 |
' ORDER BY id_observation';
|
Line 45... |
Line 45... |
45 |
|
45 |
|
46 |
$resultat_ids = Cel::db()->executerRequete($requete_selection_id);
|
46 |
$resultat_ids = Cel::db()->requeter($requete_selection_id);
|
47 |
|
47 |
|
48 |
$ids = array();
|
48 |
$ids = array();
|
Line 66... |
Line 66... |
66 |
|
66 |
|
67 |
$tri = (isset($criteres['tri']) && in_array($criteres['tri'], self::$tris_possibles)) ? $criteres['tri'] : 'ordre';
|
67 |
$tri = (isset($criteres['tri']) && in_array($criteres['tri'], self::$tris_possibles)) ? $criteres['tri'] : 'ordre';
|
68 |
unset($criteres['tri']);
|
68 |
unset($criteres['tri']);
|
69 |
$tri_dir = (isset($criteres['tri_dir']) && in_array($criteres['tri_dir'], array('ASC', 'DESC'))) ? $criteres['tri_dir'] : 'ASC';
|
69 |
$tri_dir = (isset($criteres['tri_dir']) && in_array($criteres['tri_dir'], array('ASC', 'DESC'))) ? $criteres['tri_dir'] : 'ASC';
|
70 |
unset($criteres['tri_dir']);
|
70 |
unset($criteres['tri_dir']);
|
71 |
|
71 |
|
72 |
// très mauvaise solution, mais qui permet au moins d'effectuer des requêtes complexes, sans modifier l'API
|
72 |
// très mauvaise solution, mais qui permet au moins d'effectuer des requêtes complexes, sans modifier l'API
|
73 |
// et sans pour autant introduire de problème de sécurité majeur dans toutes les fonctions appelantes qui
|
73 |
// et sans pour autant introduire de problème de sécurité majeur dans toutes les fonctions appelantes qui
|
74 |
// effectue $criteres = $_GET sans nettoyage préalable.
|
74 |
// effectue $criteres = $_GET sans nettoyage préalable.
|
75 |
if(isset($criteres['sql_brut']) && !$autoriser_sql_brut) unset($criteres['sql_brut']);
|
75 |
if(isset($criteres['sql_brut']) && !$autoriser_sql_brut) unset($criteres['sql_brut']);
|
76 |
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
|
76 |
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
|
77 |
|
77 |
|
78 |
$requete_selection_observations .= $sous_requete_recherche;
|
78 |
$requete_selection_observations .= $sous_requete_recherche;
|
79 |
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
|
79 |
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
|
80 |
$requete_selection_observations .= $id_utilisateur == null ? ' ORDER BY id_observation, ordre ' : ' ORDER BY '.$tri.' '.$tri_dir;
|
80 |
$requete_selection_observations .= $id_utilisateur == null ? ' ORDER BY id_observation, ordre ' : ' ORDER BY '.$tri.' '.$tri_dir;
|
Line 84... |
Line 84... |
84 |
return $this;
|
84 |
return $this;
|
85 |
}
|
85 |
}
|
Line 86... |
Line 86... |
86 |
|
86 |
|
87 |
public function get() {
|
87 |
public function get() {
|
88 |
if(!$this->requete_selection_observations) return FALSE;
|
88 |
if(!$this->requete_selection_observations) return FALSE;
|
89 |
return Cel::db()->executerRequete($this->requete_selection_observations);
|
89 |
return Cel::db()->requeter($this->requete_selection_observations);
|
Line 90... |
Line 90... |
90 |
}
|
90 |
}
|
91 |
|
91 |
|
Line 102... |
Line 102... |
102 |
|
102 |
|
103 |
$requete_selection_observations .= $sous_requete_recherche;
|
103 |
$requete_selection_observations .= $sous_requete_recherche;
|
Line 104... |
Line 104... |
104 |
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
|
104 |
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
|
105 |
|
105 |
|
Line 106... |
Line 106... |
106 |
$nb_obs = '0';
|
106 |
$nb_obs = '0';
|
107 |
$resultat_requete_nombre_observations = Cel::db()->executerRequete($requete_selection_observations);
|
107 |
$resultat_requete_nombre_observations = Cel::db()->requeter($requete_selection_observations);
|
108 |
|
108 |
|
Line 148... |
Line 148... |
148 |
|
148 |
|
149 |
public function obtenirCourrielUtilisateurPourIdObs($id_obs) {
|
149 |
public function obtenirCourrielUtilisateurPourIdObs($id_obs) {
|
150 |
$id_obs = Cel::db()->proteger($id_obs);
|
150 |
$id_obs = Cel::db()->proteger($id_obs);
|
Line 151... |
Line 151... |
151 |
$requete = "SELECT courriel_utilisateur FROM cel_obs WHERE id_observation = $id_obs";
|
151 |
$requete = "SELECT courriel_utilisateur FROM cel_obs WHERE id_observation = $id_obs";
|
Line 152... |
Line 152... |
152 |
|
152 |
|
153 |
$utilisateur_courriel = Cel::db()->executerRequete($requete . ' -- ' . __FILE__ . ':' . __LINE__);
|
153 |
$utilisateur_courriel = Cel::db()->requeter($requete . ' -- ' . __FILE__ . ':' . __LINE__);
|
154 |
|
154 |
|
155 |
$retour = false;
|
155 |
$retour = false;
|
Line 161... |
Line 161... |
161 |
|
161 |
|
162 |
private function getIdsMotsClesObservation($id_observation) {
|
162 |
private function getIdsMotsClesObservation($id_observation) {
|
163 |
$requete_selection_mots_cles = 'SELECT DISTINCT id_mot_cle '.
|
163 |
$requete_selection_mots_cles = 'SELECT DISTINCT id_mot_cle '.
|
164 |
'FROM cel_mots_cles_obs_liaison '.
|
164 |
'FROM cel_mots_cles_obs_liaison '.
|
165 |
"WHERE id_element_lie = $id_observation ";
|
165 |
"WHERE id_element_lie = $id_observation ";
|
166 |
return Cel::db()->executerRequete($requete_selection_mots_cles);
|
166 |
return Cel::db()->requeter($requete_selection_mots_cles);
|
Line 167... |
Line 167... |
167 |
}
|
167 |
}
|
168 |
|
168 |
|
169 |
// TODO: fonction temporaire
|
169 |
// TODO: fonction temporaire
|