retourne toutes les relations d'un syntaxon en fonction du numéro catminat * * * @package eflore-projets * @author mathilde Salthun-Lassalle * @license GPL v3 * @license CECILL v2 * @version 1.0 * @copyright 1999-2012 Tela Botanica (accueil@tela-botanica.org) * */ class SyntaxonsRelationsToutes extends SyntaxonsCommun { public function consulter($ressources, $parametres) { $this->ressources = $ressources; $this->parametres = $parametres; $this->traiterParametres(); $resultats = null; $resultat = $this->retournerResultatRelations(); // puisque notre implémentation de retournerResultatFormate() n'utilise pas NULL // et que le prototype de Commun::traiterResultat() doit être respecté, nous passons // NULL comme second paramètre. $versionResultat = $this->traiterResultat($resultat, NULL); $resultats = $versionResultat; return $resultats; } // si je ne réinstancie pas la classe entre les appels à la méthode consulter, çà ne marche pas ! private function retournerResultatRelations () { $resultat_relation = array(); $classe = new SyntaxonsRelation(new Conteneur()); $ressources_syn = array_merge($this->ressources, array('synonymie') ); $synonymie = $classe->consulter($ressources_syn,$this->parametres); if ($synonymie != 'Les données recherchées sont introuvables') { $resultat_relation['synonymie'] = $synonymie['resultat']; } $ressources_niv = array_merge($this->ressources, array('niveaux-sup') ); $classe = new SyntaxonsRelation(new Conteneur()); $niveaux = $classe->consulter($ressources_niv,$this->parametres); if ($niveaux != 'Les données recherchées sont introuvables') { $resultat_relation['niveaux_superieurs'] = $niveaux['resultat']; } return $resultat_relation; } //+-------------------------------------traitement des ressources et des paramètres----------------------------------------+// public function traiterParametres() { if (isset($this->parametres) && !empty($this->parametres) ) { foreach ($this->parametres as $param => $valeur) { if ($param != 'version.projet' || $param != 'retour.champs' ) { $e = 'Erreur dans les parametres de votre requête :
Le paramètre " ' .$param.' " n\'existe pas.'; $this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $e); } } } } //+--------------------------formatages de resultats -------------------------------------------+ public function retournerResultatFormate($resultat) { $resultat_json = array(); $resultat_json['entete']['catminat'] = str_replace('-','/',$this->ressources[0]); $resultat_json['resultat'] = $resultat; return $resultat_json; } } ?>