Rev 584 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/**** syntaxons/relations -> retourne toutes les relations d'un syntaxon en fonction du numéro catminat** * @package eflore-projets* @author mathilde Salthun-Lassalle* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>* @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 : </br> 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;}}?>