Line 45... |
Line 45... |
45 |
$this->testerResultat($resultat, $resultat_formate, $requete);
|
45 |
$this->testerResultat($resultat, $resultat_formate, $requete);
|
46 |
}
|
46 |
}
|
47 |
return $this->formerReponseHTTP($resultat_formate);
|
47 |
return $this->formerReponseHTTP($resultat_formate);
|
48 |
}
|
48 |
}
|
Line -... |
Line 49... |
- |
|
49 |
|
- |
|
50 |
public function formerReponseHTTP($resultat_formate, $mime = 'application/json', $encodage= 'utf-8') {
|
- |
|
51 |
// Si aucune erreur n'a été établie (donc un tableau de résultat a bien ete renvoyé...)
|
- |
|
52 |
if ($this->corps_http == '' && $this->entete_http == '') {
|
- |
|
53 |
$this->entete_http = RestServeur::HTTP_CODE_OK;
|
- |
|
54 |
$this->corps_http = $resultat_formate;
|
- |
|
55 |
}
|
- |
|
56 |
if ($this->entete_http != RestServeur::HTTP_CODE_OK) {
|
- |
|
57 |
$mime = 'text/html';
|
- |
|
58 |
}
|
- |
|
59 |
// Gestion du type de contenu
|
- |
|
60 |
if (!is_null($mime) && !is_null($encodage)) {
|
- |
|
61 |
header("Content-Type: $mime; charset=$encodage");
|
- |
|
62 |
} else if (!is_null($mime) && is_null($encodage)) {
|
- |
|
63 |
header("Content-Type: $mime");
|
- |
|
64 |
}
|
- |
|
65 |
// Envoie de l'entête
|
- |
|
66 |
RestServeur::envoyerEnteteStatutHttp($this->entete_http);
|
- |
|
67 |
// Envoie du corps
|
- |
|
68 |
return $this->corps_http;
|
- |
|
69 |
}
|
Line 49... |
Line 70... |
49 |
|
70 |
|
50 |
|
71 |
|
51 |
public function testerResultat($resultat, &$resultat_formate, $requete) {
|
72 |
public function testerResultat($resultat, &$resultat_formate, $requete) {
|
52 |
if ($resultat == '') { //cas ou coste/services/ ou la requete comporte des erreurs
|
73 |
if ($resultat == '') { //cas ou coste/services/ ou la requete comporte des erreurs
|
Line 97... |
Line 118... |
97 |
public function traiterRessourceId($id) {
|
118 |
public function traiterRessourceId($id) {
|
98 |
$this->format_reponse .= '/id';
|
119 |
$this->format_reponse .= '/id';
|
99 |
if ($this->recherche == 'etendue') {
|
120 |
if ($this->recherche == 'etendue') {
|
100 |
$id = '%'.str_replace(' ','%', $id).'%';
|
121 |
$id = '%'.str_replace(' ','%', $id).'%';
|
101 |
}
|
122 |
}
|
- |
|
123 |
|
- |
|
124 |
$this->requete_champ = 'c.id AS num_nom, i.nom_sci AS titre, t1.resource AS tag, p.body AS texte';
|
- |
|
125 |
$this->table = array(Config::get("bdd_correspondance_bdnff").' c',
|
- |
|
126 |
Config::get("bdd_triples").' t1',
|
- |
|
127 |
Config::get("bdd_index").' i',
|
- |
|
128 |
Config::get("bdd_pages").' p');
|
- |
|
129 |
$this->requete_condition[] = 'c.num_nom ='.$this->getBdd()->proteger($id);
|
- |
|
130 |
$this->requete_condition[] = 'c.id = i.num_nom';
|
- |
|
131 |
$this->requete_condition[] = 'i.nom_sci = t1.value';
|
- |
|
132 |
$this->requete_condition[] = 't1.resource = p.tag';
|
- |
|
133 |
|
102 |
$this->requete_champ = ' t1.resource AS tag, t1.value AS num_nom, t2.value AS titre, p.body AS texte';
|
134 |
/*$this->requete_champ = ' t1.resource AS tag, t1.value AS num_nom, t2.value AS titre, p.body AS texte';
|
103 |
$this->requete_condition[] = 't1.resource LIKE '.$this->getBdd()->proteger($id);
|
135 |
$this->requete_condition[] = 't1.resource LIKE '.$this->getBdd()->proteger($id);
|
104 |
$this->requete_condition[] = 't1.property = "num_nom"';
|
136 |
$this->requete_condition[] = 't1.property = "num_nom"';
|
105 |
$this->requete_condition[] = '(t1.resource = t2.resource AND t2.property = "titre")';
|
137 |
$this->requete_condition[] = '(t1.resource = t2.resource AND t2.property = "titre")';
|
106 |
$this->requete_condition[] = 't1.resource = p.tag';
|
138 |
$this->requete_condition[] = 't1.resource = p.tag';
|
107 |
$this->table = array(Config::get("bdd_triples").' t1',
|
139 |
$this->table = array(Config::get("bdd_triples").' t1',
|
108 |
Config::get("bdd_triples").' t2',
|
140 |
Config::get("bdd_triples").' t2',
|
109 |
Config::get("bdd_pages").' p');
|
141 |
Config::get("bdd_pages").' p');
|
110 |
$this->ajouterRechercheFloue('t1.resource', $id);
|
142 |
$this->ajouterRechercheFloue('t1.resource', $id);*/
|
111 |
}
|
143 |
}
|
Line 112... |
Line 144... |
112 |
|
144 |
|
113 |
public function traiterRessourcesListe() {
|
145 |
public function traiterRessourcesListe() {
|
114 |
$this->requete_condition[] = "t1.property = 'num_nom'";
|
146 |
$this->requete_condition[] = "t1.property = 'num_nom'";
|
Line 156... |
Line 188... |
156 |
if (isset($parametres['recherche']) && $parametres['recherche'] != '') {
|
188 |
if (isset($parametres['recherche']) && $parametres['recherche'] != '') {
|
157 |
$this->recherche = $parametres['recherche'];
|
189 |
$this->recherche = $parametres['recherche'];
|
158 |
}
|
190 |
}
|
159 |
foreach ($parametres as $param => $val) {
|
191 |
foreach ($parametres as $param => $val) {
|
160 |
switch ($param) {
|
192 |
switch ($param) {
|
161 |
case 'retour_format' : $this->retour_format = $val; break;
|
193 |
case 'retour.format' : $this->retour_format = $val; break;
|
162 |
case 'masque_titre' : $this->ajouterLeFiltreMasque('titre', $val); break;
|
194 |
case 'masque.titre' : $this->ajouterLeFiltreMasque('titre', $val); break;
|
163 |
case 'masque_famille' : $this->ajouterLeFiltreMasque('famille', $val); break;
|
195 |
case 'masque.famille' : $this->ajouterLeFiltreMasque('famille', $val); break;
|
164 |
case 'masque_ns' : $this->ajouterLeFiltreMasque('nom_sci', $val); break;
|
196 |
case 'masque.ns' : $this->ajouterLeFiltreMasque('nom_sci', $val); break;
|
165 |
case 'masque_type' : $this->ajouterLeFiltreMasque('type', $val); break;
|
197 |
case 'masque.type' : $this->ajouterLeFiltreMasque('type', $val); break;
|
166 |
case 'masque_txt' : $this->ajouterLeFiltreMasque('texte', $val); break;
|
198 |
case 'masque.txt' : $this->ajouterLeFiltreMasque('texte', $val); break;
|
167 |
case 'masque_page' : $this->ajouterLeFiltreMasque('page',$val); break;
|
199 |
case 'masque.page' : $this->ajouterLeFiltreMasque('page',$val); break;
|
168 |
case 'masque_tome' : $this->ajouterLeFiltreMasque('tome',$val); break;
|
200 |
case 'masque.tome' : $this->ajouterLeFiltreMasque('tome',$val); break;
|
169 |
case 'navigation_depart': $this->limite_requete['depart'] = $val; break;
|
201 |
case 'navigation.depart': $this->limite_requete['depart'] = $val; break;
|
170 |
case 'navigation_limite': $this->limite_requete['limite'] = $val; break;
|
202 |
case 'navigation.limite': $this->limite_requete['limite'] = $val; break;
|
171 |
case 'recherche' : break;
|
203 |
case 'recherche' : break;
|
172 |
default :
|
204 |
default :
|
173 |
$e = "Erreur dans les paramètres de recherche de votre requête : </br> Le parametre $param n\'existe pas.";
|
205 |
$e = "Erreur dans les paramètres de recherche de votre requête : </br> Le parametre $param n\'existe pas.";
|
174 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE,$e);
|
206 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE,$e);
|
175 |
break;
|
207 |
break;
|
Line 284... |
Line 316... |
284 |
case 'textes/relations' : $reponse = $this->formaterTextesRelations($resultat); break;
|
316 |
case 'textes/relations' : $reponse = $this->formaterTextesRelations($resultat); break;
|
285 |
case 'textes/id' : $reponse = $this->formaterTextesId($resultat[0]); break;
|
317 |
case 'textes/id' : $reponse = $this->formaterTextesId($resultat[0]); break;
|
286 |
case 'textes/id/champ' : $reponse = $this->formaterTextesIdChamp($resultat[0]); break;
|
318 |
case 'textes/id/champ' : $reponse = $this->formaterTextesIdChamp($resultat[0]); break;
|
287 |
default : break;
|
319 |
default : break;
|
288 |
}
|
320 |
}
|
289 |
$reponse = json_encode($reponse);
|
- |
|
290 |
return $reponse;
|
321 |
return $reponse;
|
291 |
}
|
322 |
}
|
Line 292... |
Line 323... |
292 |
|
323 |
|