Line 46... |
Line 46... |
46 |
switch ($param) {
|
46 |
switch ($param) {
|
47 |
case 'masque' :
|
47 |
case 'masque' :
|
48 |
$this->ajouterFiltreMasque('nom_sci', $val);
|
48 |
$this->ajouterFiltreMasque('nom_sci', $val);
|
49 |
break;
|
49 |
break;
|
50 |
case 'masque.nt' :
|
50 |
case 'masque.nt' :
|
51 |
$this->requete_condition[] = "num_taxonomique IN ($val)";
|
51 |
$this->requete_condition[] = "num_tax IN ($val)";
|
52 |
$this->masque[] = "num_tax=$val";
|
52 |
$this->masque[] = "num_tax=$val";
|
53 |
break;
|
53 |
break;
|
54 |
case 'masque.rg':
|
54 |
case 'masque.rg':
|
55 |
$this->requete_condition[] = 'rang = '.$this->getBdd()->proteger($val);
|
55 |
$this->requete_condition[] = 'rang = '.$this->getBdd()->proteger($val);
|
56 |
$this->masque[] = "rang=$val";
|
56 |
$this->masque[] = "rang=$val";
|
Line 62... |
Line 62... |
62 |
//------------------------------------------Fonction ressources---------------------------------------------------------------------
|
62 |
//------------------------------------------Fonction ressources---------------------------------------------------------------------
|
Line 63... |
Line 63... |
63 |
|
63 |
|
64 |
public function gererNumTax() {
|
64 |
public function gererNumTax() {
|
65 |
if (!in_array('num_taxonomique', $this->champs_table)) {
|
65 |
if (!in_array('num_taxonomique', $this->champs_table)) {
|
66 |
$this->presence_num_tax = false;
|
66 |
$this->presence_num_tax = false;
|
67 |
$this->requete_champ = str_replace(', num_taxonomique ', '', $this->requete_champ);
|
67 |
$this->requete_champ = str_replace(', num_tax ', '', $this->requete_champ);
|
68 |
} else {
|
68 |
} else {
|
69 |
$this->presence_num_tax = true;
|
69 |
$this->presence_num_tax = true;
|
70 |
}
|
70 |
}
|
Line 98... |
Line 98... |
98 |
|
98 |
|
99 |
public function traiterRessourceNtId() {
|
99 |
public function traiterRessourceNtId() {
|
100 |
if (strrpos($this->ressources[0], 'nt:') !== false) {
|
100 |
if (strrpos($this->ressources[0], 'nt:') !== false) {
|
101 |
if ($this->presence_num_tax) {
|
101 |
if ($this->presence_num_tax) {
|
102 |
// SELECT num_nom FROM bdtfx_v2_00 WHERE num_nom = num_nom_retenu AND num_taxonomique = X;
|
102 |
// SELECT num_nom FROM bdtfx_v2_00 WHERE num_nom = num_nom_retenu AND num_taxonomique = X;
|
103 |
$this->requete_condition[0] = ' num_taxonomique = '
|
103 |
$this->requete_condition[0] = ' num_tax = '
|
104 |
.str_replace('nt:', '', $this->ressources[0]).' ';
|
104 |
.str_replace('nt:', '', $this->ressources[0]).' ';
|
105 |
} else {
|
105 |
} else {
|
106 |
$e = 'Erreur dans votre requête : </br> Le numéro taxonomique n\'existe pas dans ce projet';
|
106 |
$e = 'Erreur dans votre requête : </br> Le numéro taxonomique n\'existe pas dans ce projet';
|
107 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $e);
|
107 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $e);
|
Line 149... |
Line 149... |
149 |
case 'inferieurs' :
|
149 |
case 'inferieurs' :
|
150 |
$rel = 'recupererIdInf';
|
150 |
$rel = 'recupererIdInf';
|
151 |
$this->format_reponse .= '/inferieurs';
|
151 |
$this->format_reponse .= '/inferieurs';
|
152 |
$this->traiterRessourceIdRelationInfSup($rel);
|
152 |
$this->traiterRessourceIdRelationInfSup($rel);
|
153 |
break;
|
153 |
break;
|
- |
|
154 |
case 'hierarchie' :
|
- |
|
155 |
$rel = 'recupererIdHierarchie';
|
- |
|
156 |
$this->format_reponse .= '/hierarchie';
|
- |
|
157 |
$this->traiterRessourceIdRelationHierarchie($rel);
|
- |
|
158 |
break;
|
154 |
default :
|
159 |
default :
|
155 |
$e = 'Erreur dans votre requête </br> Ressources disponibles : <br/>
|
160 |
$e = 'Erreur dans votre requête </br> Ressources disponibles : <br/>
|
156 |
<li> taxons/#id/relations </li><li> #id/relations/inferieurs </li>
|
161 |
<li> taxons/#id/relations </li><li> #id/relations/inferieurs </li>
|
157 |
<li> #id/relations/superieurs </li>';
|
162 |
<li> #id/relations/superieurs </li>';
|
158 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $e);
|
163 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $e);
|
159 |
break;
|
164 |
break;
|
160 |
}
|
165 |
}
|
161 |
}
|
166 |
}
|
162 |
}
|
167 |
}
|
- |
|
168 |
|
- |
|
169 |
public function traiterRessourceIdRelationHierarchie($rel) {
|
- |
|
170 |
//Appel de la fct récupérerIdSup ou recupererIdInf : retourne les num_nom des noms inferieurs ou superieurs
|
- |
|
171 |
$res_relation = $this->$rel();
|
- |
|
172 |
//analyse du résultat retourné par la requete de recherche des identifiants correspondant aux taxons inf|sup :
|
- |
|
173 |
if ($res_relation == '') {
|
- |
|
174 |
//dans le cas ou la requete comporte des erreurs
|
- |
|
175 |
$e = 'Fct traiterRessourceIdRelationInfSup : La requête forme comporte une erreur!';
|
- |
|
176 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $e);
|
- |
|
177 |
} elseif ($res_relation) {
|
- |
|
178 |
//dans le cas ou une ou plusieurs relations est retournée, on récupère les identifiants ss la forme (id, id, id)
|
- |
|
179 |
foreach ($res_relation as $ligne) $res[] = $ligne['num_nom'];
|
- |
|
180 |
$res = implode(',',$res);
|
- |
|
181 |
$this->requete_condition[0] = "num_nom IN ($res)";
|
- |
|
182 |
$this->requete_champ .= ', rang, num_tax_sup ';
|
- |
|
183 |
} else { //dans le cas ou aucune relation n'existe
|
- |
|
184 |
$res = array($this->num_nom_taxon => null);
|
- |
|
185 |
$this->corps_http = json_encode($res);
|
- |
|
186 |
$this->entete_http = RestServeur::HTTP_CODE_OK;
|
- |
|
187 |
}
|
- |
|
188 |
}
|
- |
|
189 |
|
- |
|
190 |
public function recupererIdHierarchie() {
|
- |
|
191 |
$req_relation = 'SELECT num_nom FROM '.$this->table.' '.
|
- |
|
192 |
' WHERE hierarchie LIKE CONCAT('.
|
- |
|
193 |
'(SELECT hierarchie FROM '.
|
- |
|
194 |
$this->table.' '.
|
- |
|
195 |
'WHERE num_nom = '.$this->getBdd()->proteger($this->num_nom_taxon).')'.
|
- |
|
196 |
', '.$this->getBdd()->proteger($this->num_nom_taxon.'-%').
|
- |
|
197 |
')';
|
- |
|
198 |
$res_relation = $this->getBdd()->recupererTous($req_relation);
|
- |
|
199 |
return $res_relation;
|
- |
|
200 |
}
|
Line 163... |
Line 201... |
163 |
|
201 |
|
164 |
public function traiterRessourceIdRelationInfSup($rel) {
|
202 |
public function traiterRessourceIdRelationInfSup($rel) {
|
165 |
//Appel de la fct récupérerIdSup ou recupererIdInf : retourne les num_nom des noms inferieurs ou superieurs
|
203 |
//Appel de la fct récupérerIdSup ou recupererIdInf : retourne les num_nom des noms inferieurs ou superieurs
|
166 |
$res_relation = $this->$rel();
|
204 |
$res_relation = $this->$rel();
|
Line 284... |
Line 322... |
284 |
$reponse = $this->formaterIdSuperieur($resultat, $version);
|
322 |
$reponse = $this->formaterIdSuperieur($resultat, $version);
|
285 |
break;
|
323 |
break;
|
286 |
case 'taxons/id/relations/inferieurs' :
|
324 |
case 'taxons/id/relations/inferieurs' :
|
287 |
$reponse = $this->formaterIdInferieur($resultat);
|
325 |
$reponse = $this->formaterIdInferieur($resultat);
|
288 |
break;
|
326 |
break;
|
- |
|
327 |
case 'taxons/id/relations/hierarchie' :
|
- |
|
328 |
// le formatage de la hiérarchie est identique aux relations inférieures
|
- |
|
329 |
$reponse = $this->formaterIdInferieur($resultat);
|
- |
|
330 |
break;
|
289 |
case 'taxons/stats/annees' : //ds CommunNomsTaxons
|
331 |
case 'taxons/stats/annees' : //ds CommunNomsTaxons
|
290 |
$reponse = $this->formaterStatsAnnee($resultat);
|
332 |
$reponse = $this->formaterStatsAnnee($resultat);
|
291 |
break;
|
333 |
break;
|
292 |
case 'taxons/stats/rangs' ://ds CommunNomsTaxons
|
334 |
case 'taxons/stats/rangs' ://ds CommunNomsTaxons
|
293 |
$reponse = $this->formaterStatsRang($resultat);
|
335 |
$reponse = $this->formaterStatsRang($resultat);
|