New file |
0,0 → 1,89 |
<?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; |
} |
|
|
|
|
} |
?> |