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