Line 61... |
Line 61... |
61 |
/** Permet de stocker le tableau de résultat (non encodé en json) */
|
61 |
/** Permet de stocker le tableau de résultat (non encodé en json) */
|
62 |
protected $table_retour = array();
|
62 |
protected $table_retour = array();
|
63 |
/** Stocke le nombre total de résultats de la requete principale. Est calculée lors de l'assemblage de la requete */
|
63 |
/** Stocke le nombre total de résultats de la requete principale. Est calculée lors de l'assemblage de la requete */
|
64 |
protected $total_resultat;
|
64 |
protected $total_resultat;
|
Line 65... |
Line 65... |
65 |
|
65 |
|
66 |
// +-------------------------------------------------------------------------------------------------------------------+
|
66 |
// +-----------------------------------------------------------------------------------------------------+
|
67 |
public function traiterParametres() {
|
67 |
public function traiterParametres() {
|
68 |
if (isset($this->parametres) && !empty($this->parametres)) {
|
68 |
if (isset($this->parametres) && !empty($this->parametres)) {
|
Line 69... |
Line 69... |
69 |
$this->table_param = $this->parametres;
|
69 |
$this->table_param = $this->parametres;
|
Line 73... |
Line 73... |
73 |
// masque.region : filtre uniquement sur la region.
|
73 |
// masque.region : filtre uniquement sur la region.
|
74 |
if (isset($this->parametres['recherche']) && $this->parametres['recherche'] != '') {
|
74 |
if (isset($this->parametres['recherche']) && $this->parametres['recherche'] != '') {
|
75 |
$this->recherche = $this->parametres['recherche'];
|
75 |
$this->recherche = $this->parametres['recherche'];
|
76 |
}
|
76 |
}
|
Line 77... |
Line 77... |
77 |
|
77 |
|
78 |
foreach ($parametres as $param => $valeur) {
|
78 |
foreach ($this->parametres as $param => $valeur) {
|
- |
|
79 |
switch ($param) {
|
79 |
switch ($param) {
|
80 |
case 'masque' :
|
- |
|
81 |
$this->ajouterLeFiltreMasque('masque', $valeur);
|
- |
|
82 |
break;
|
80 |
case 'masque' : $this->ajouterLeFiltreMasque('masque', $valeur); break;
|
83 |
case 'masque.code' :
|
- |
|
84 |
$this->ajouterLeFiltreMasque('dep', $valeur);
|
- |
|
85 |
break;
|
81 |
case 'masque.code' : $this->ajouterLeFiltreMasque('dep', $valeur); break;
|
86 |
case 'masque.nom' :
|
- |
|
87 |
$this->ajouterLeFiltreMasque('nccenr', $valeur);
|
- |
|
88 |
break;
|
82 |
case 'masque.nom' : $this->ajouterLeFiltreMasque('nccenr', $valeur); break;
|
89 |
case 'masque.region' :
|
- |
|
90 |
$this->ajouterLeFiltreMasque('region', $valeur);
|
- |
|
91 |
break;
|
83 |
case 'masque.region' : $this->ajouterLeFiltreMasque('region', $valeur); break;
|
92 |
case 'retour.format' :
|
- |
|
93 |
$this->retour_format = $valeur;
|
- |
|
94 |
break;
|
84 |
case 'retour.format' : $this->retour_format = $valeur; break;
|
95 |
case 'navigation.depart' :
|
- |
|
96 |
$this->limite_requete['depart'] = $valeur;
|
- |
|
97 |
break;
|
85 |
case 'navigation.depart' : $this->limite_requete['depart'] = $valeur; break;
|
98 |
case 'navigation.limite' :
|
- |
|
99 |
$this->limite_requete['limite'] = $valeur;
|
86 |
case 'navigation.limite' : $this->limite_requete['limite'] = $valeur; break;
|
100 |
break;
|
- |
|
101 |
case 'recherche' :
|
- |
|
102 |
break;
|
87 |
case 'recherche' : break;
|
103 |
default :
|
88 |
default : $p = 'Erreur dans les paramètres de recherche de votre requête : '.
|
104 |
$p = 'Erreur dans les paramètres de recherche de votre requête : '.
|
89 |
'</br> Le paramètre " '.$param.' " n\'existe pas.';
|
105 |
'</br> Le paramètre " '.$param.' " n\'existe pas.';
|
90 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $p); break;
|
106 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $p);
|
91 |
}
|
107 |
}
|
92 |
}
|
108 |
}
|
93 |
}
|
109 |
}
|
Line 124... |
Line 140... |
124 |
}
|
140 |
}
|
125 |
}
|
141 |
}
|
126 |
}
|
142 |
}
|
Line 127... |
Line 143... |
127 |
|
143 |
|
128 |
|
144 |
|
129 |
// +-------------------------------------------------------------------------------------------------------------------+
|
145 |
//+------------------------------------------------------------------------------------------------------+
|
130 |
public function traiterRessources() {
|
146 |
public function traiterRessources() {
|
131 |
if (isset($this->ressources) && !empty($this->ressources)) {
|
147 |
if (isset($this->ressources) && !empty($this->ressources)) {
|
132 |
$this->table_ressources = $this->ressources;
|
148 |
$this->table_ressources = $this->ressources;
|
Line 164... |
Line 180... |
164 |
} else {
|
180 |
} else {
|
165 |
$this->format_reponse .= '/champ';
|
181 |
$this->format_reponse .= '/champ';
|
166 |
}
|
182 |
}
|
167 |
}
|
183 |
}
|
Line 168... |
Line 184... |
168 |
|
184 |
|
169 |
// +-------------------------------------------------------------------------------------------------------------------+
|
185 |
//+------------------------------------------------------------------------------------------------------+
|
170 |
public function assemblerLaRequete() {
|
186 |
public function assemblerLaRequete() {
|
171 |
//assemblage de la requete :
|
187 |
//assemblage de la requete :
|
172 |
$requete = ' SELECT '.$this->requete_champ.
|
188 |
$requete = ' SELECT '.$this->requete_champ.
|
173 |
' FROM '.$this->table
|
189 |
' FROM '.$this->table
|
Line 215... |
Line 231... |
215 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $t);
|
231 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $t);
|
216 |
}
|
232 |
}
|
217 |
return $total;
|
233 |
return $total;
|
218 |
}
|
234 |
}
|
Line 219... |
Line 235... |
219 |
|
235 |
|
220 |
// +-------------------------------------------------------------------------------------------------------------------+
|
236 |
//+------------------------------------------------------------------------------------------------------+
|
221 |
// determine en fct du service appelé (/zone-geo | /zone-geo/#id | /zone-geo/#id/champ |
|
237 |
// determine en fct du service appelé (/zone-geo | /zone-geo/#id | /zone-geo/#id/champ |
|
222 |
// /zone-geo/#id/relations) le format du tableau à retourner.
|
238 |
// /zone-geo/#id/relations) le format du tableau à retourner.
|
223 |
public function retournerResultatFormate($resultat) {
|
239 |
public function retournerResultatFormate($resultat) {
|
224 |
$this->recupererTableConfig('correspondance_champs');
|
240 |
$this->recupererTableConfig('correspondance_champs');
|
Line 236... |
Line 252... |
236 |
//on remplit la table $table_retour_json['entete']
|
252 |
//on remplit la table $table_retour_json['entete']
|
237 |
$this->table_retour['depart'] = $this->limite_requete['depart'];
|
253 |
$this->table_retour['depart'] = $this->limite_requete['depart'];
|
238 |
$this->table_retour['limite'] = $this->limite_requete['limite'];
|
254 |
$this->table_retour['limite'] = $this->limite_requete['limite'];
|
239 |
$this->table_retour['total'] = $this->total_resultat;
|
255 |
$this->table_retour['total'] = $this->total_resultat;
|
240 |
$url = $this->formulerUrl($this->total_resultat, '/zone-geo');
|
256 |
$url = $this->formulerUrl($this->total_resultat, '/zone-geo');
|
241 |
if ($url['precedent'] != '') { $this->table_retour['href.precedent'] = $url['precedent']; }
|
257 |
if (isset($url['precedent']) && $url['precedent'] != '') { $this->table_retour['href.precedent'] = $url['precedent']; }
|
242 |
if ($url['suivant'] != '') { $this->table_retour['href.suivant'] = $url['suivant']; }
|
258 |
if (isset($url['suivant']) && $url['suivant'] != '') { $this->table_retour['href.suivant'] = $url['suivant']; }
|
243 |
$table_retour_json['entete'] = $this->table_retour;
|
259 |
$table_retour_json['entete'] = $this->table_retour;
|
Line 244... |
Line 260... |
244 |
|
260 |
|
245 |
//on remplit la table $table_retour_json['resultat']
|
261 |
//on remplit la table $table_retour_json['resultat']
|
246 |
$this->table_retour = array();
|
262 |
$this->table_retour = array();
|