Line 62... |
Line 62... |
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 |
// +-------------------------------------------------------------------------------------------------------------------+
|
- |
|
67 |
public function consulter($ressources, $parametres) {
|
- |
|
68 |
$this->traiterParametres($parametres);
|
- |
|
69 |
$this->traiterVersionProjet($ressources);
|
- |
|
70 |
$this->traiterRessources($ressources);
|
- |
|
71 |
$resultat_formate = '';
|
- |
|
72 |
|
- |
|
73 |
if ($this->corps_http == '' && $this->entete_http == '') {
|
- |
|
74 |
foreach ($this->table_version as $version) {
|
- |
|
75 |
$this->table = $version; //on stocke le nom de la table correspondant à la version du projet en cours
|
- |
|
76 |
$requete = $this->assemblerLaRequete(); //print_r($requete);
|
- |
|
77 |
$resultat = $this->getBdd()->recupererTous($requete);
|
- |
|
78 |
$res_version = $this->testerResultat($resultat, $requete);
|
- |
|
79 |
}
|
- |
|
80 |
if ($this->corps_http == '' && $this->entete_http == '') {
|
- |
|
81 |
if (isset($res_version)) {
|
- |
|
82 |
$resultat_formate = json_encode($res_version);
|
- |
|
83 |
}
|
- |
|
84 |
}
|
- |
|
85 |
}
|
- |
|
86 |
$this->formerReponseHTTP($resultat_formate);
|
- |
|
87 |
}
|
- |
|
88 |
|
- |
|
89 |
public function testerResultat($resultat, $requete) {
|
- |
|
90 |
if ($resultat == '') { //cas ou la requete comporte des erreurs
|
- |
|
91 |
$s = 'La requête SQL formée comporte une erreur !!';
|
- |
|
92 |
Debug::printr($requete);
|
- |
|
93 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $s);
|
- |
|
94 |
} elseif ($resultat) {
|
- |
|
95 |
if (count($this->table_version) > 1) {
|
- |
|
96 |
$res_version[$version] = $this->retournerResultatFormate($resultat);
|
- |
|
97 |
} else {
|
- |
|
98 |
$res_version = $this->retournerResultatFormate($resultat);
|
- |
|
99 |
}
|
- |
|
100 |
} else {
|
- |
|
101 |
if ($this->format_reponse == 'zone-geo/id/relations') {
|
- |
|
102 |
//si aucune relation n'existe, la valeur null est retournée
|
- |
|
103 |
$res_version = null;
|
- |
|
104 |
} else {
|
- |
|
105 |
$d = 'Données recherchées introuvables dans la base';
|
- |
|
106 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $d);
|
- |
|
107 |
Debug::printr($requete);
|
- |
|
108 |
}
|
- |
|
109 |
}
|
- |
|
110 |
return $res_version;
|
- |
|
111 |
}
|
- |
|
112 |
|
- |
|
113 |
// +-------------------------------------------------------------------------------------------------------------------+
|
66 |
// +-------------------------------------------------------------------------------------------------------------------+
|
114 |
public function traiterParametres($parametres) {
|
67 |
public function traiterParametres() {
|
115 |
if (isset($parametres) && !empty($parametres)) {
|
68 |
if (isset($this->parametres) && !empty($this->parametres)) {
|
Line 116... |
Line 69... |
116 |
$this->table_param = $parametres;
|
69 |
$this->table_param = $this->parametres;
|
117 |
|
70 |
|
118 |
// masque : filtre la liste en fonction d'un masque de recherche portant sur le code, le nom ou la region.
|
71 |
// masque : filtre la liste en fonction d'un masque de recherche portant sur le code, le nom ou la region.
|
119 |
// masque.code : filtre uniquement sur le code. masque.nom : filtre uniquement sur le nom.
|
72 |
// masque.code : filtre uniquement sur le code. masque.nom : filtre uniquement sur le nom.
|
120 |
// masque.region : filtre uniquement sur la region.
|
73 |
// masque.region : filtre uniquement sur la region.
|
121 |
if (isset($parametres['recherche']) && $parametres['recherche'] != '') {
|
74 |
if (isset($this->parametres['recherche']) && $this->parametres['recherche'] != '') {
|
Line 122... |
Line 75... |
122 |
$this->recherche = $parametres['recherche'];
|
75 |
$this->recherche = $this->parametres['recherche'];
|
123 |
}
|
76 |
}
|
124 |
|
77 |
|
125 |
foreach ($parametres as $param => $valeur) {
|
78 |
foreach ($parametres as $param => $valeur) {
|
126 |
switch ($param) {
|
79 |
switch ($param) {
|
127 |
case 'masque' : $this->ajouterLeFiltreMasque('masque', $valeur); break;
|
80 |
case 'masque' : $this->ajouterLeFiltreMasque('masque', $valeur); break;
|
128 |
case 'masque_code' : $this->ajouterLeFiltreMasque('dep', $valeur); break;
|
81 |
case 'masque.code' : $this->ajouterLeFiltreMasque('dep', $valeur); break;
|
129 |
case 'masque_nom' : $this->ajouterLeFiltreMasque('nccenr', $valeur); break;
|
82 |
case 'masque.nom' : $this->ajouterLeFiltreMasque('nccenr', $valeur); break;
|
130 |
case 'masque_region' : $this->ajouterLeFiltreMasque('region', $valeur); break;
|
83 |
case 'masque.region' : $this->ajouterLeFiltreMasque('region', $valeur); break;
|
131 |
case 'retour_format' : $this->retour_format = $valeur; break;
|
84 |
case 'retour.format' : $this->retour_format = $valeur; break;
|
132 |
case 'navigation_depart' : $this->limite_requete['depart'] = $valeur; break;
|
85 |
case 'navigation.depart' : $this->limite_requete['depart'] = $valeur; break;
|
133 |
case 'navigation_limite' : $this->limite_requete['limite'] = $valeur; break;
|
86 |
case 'navigation.limite' : $this->limite_requete['limite'] = $valeur; break;
|
134 |
case 'recherche' : break;
|
87 |
case 'recherche' : break;
|
135 |
default : $p = 'Erreur dans les paramètres de recherche de votre requête : '.
|
88 |
default : $p = 'Erreur dans les paramètres de recherche de votre requête : '.
|
Line 172... |
Line 125... |
172 |
}
|
125 |
}
|
173 |
}
|
126 |
}
|
Line 174... |
Line 127... |
174 |
|
127 |
|
175 |
|
128 |
|
176 |
// +-------------------------------------------------------------------------------------------------------------------+
|
129 |
// +-------------------------------------------------------------------------------------------------------------------+
|
177 |
public function traiterRessources(&$ressources) {
|
130 |
public function traiterRessources() {
|
178 |
if (isset($ressources) && !empty($ressources)) {
|
131 |
if (isset($this->ressources) && !empty($this->ressources)) {
|
179 |
$this->table_ressources = $ressources;
|
132 |
$this->table_ressources = $this->ressources;
|
180 |
if (isset($this->table_ressources[0]) && !empty($this->table_ressources[0])) {
|
133 |
if (isset($this->table_ressources[0]) && !empty($this->table_ressources[0])) {
|
181 |
//requete = /zone-geo/#id
|
134 |
//requete = /zone-geo/#id
|
182 |
$this->traiterRessourceId();
|
135 |
$this->traiterRessourceId();
|