Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 880 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
584 mathilde 1
<?php
2
/**
3
 *
4
 *  syntaxons/relations -> retourne toutes les relations d'un syntaxon en fonction du numéro catminat
5
 *
6
 * * @package eflore-projets
7
* @author mathilde Salthun-Lassalle
8
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
9
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
10
* @version 1.0
11
* @copyright 1999-2012 Tela Botanica (accueil@tela-botanica.org)
12
 *
13
 */
14
 
15
 
16
 
17
class SyntaxonsRelationsToutes  extends SyntaxonsCommun {
18
 
19
 
20
	public function consulter($ressources, $parametres) {
21
		$this->ressources = $ressources;
22
		$this->parametres = $parametres;
23
		$this->traiterParametres();
24
		$resultats = null;
25
		$resultat =  $this->retournerResultatRelations();
26
		$versionResultat = $this->traiterResultat($resultat);
27
		$resultats = $versionResultat;
28
		return $resultats;
29
	}
30
 
31
 
32
	// si je ne réinstancie pas la classe entre les appels à la méthode consulter, çà ne marche pas !
33
	private function retournerResultatRelations () {
34
		$resultat_relation = array();
35
 
36
		$classe = new SyntaxonsRelation(new Conteneur());
37
		$ressources_syn = array_merge($this->ressources, array('synonymie') );
38
		$synonymie = $classe->consulter($ressources_syn,$this->parametres);
39
		if ($synonymie != 'Les données recherchées sont introuvables') {
40
			$resultat_relation['synonymie'] =  $synonymie['resultat'];
41
		}
42
 
43
		$ressources_niv = array_merge($this->ressources, array('niveaux-sup') );
44
		$classe = new SyntaxonsRelation(new Conteneur());
45
		$niveaux = $classe->consulter($ressources_niv,$this->parametres);
46
		if ($niveaux != 'Les données recherchées sont introuvables') {
47
			$resultat_relation['niveaux_superieurs'] =  $niveaux['resultat'];
48
		}
49
 
50
		return 	$resultat_relation;
51
	}
52
 
53
 
54
 
55
	//+-------------------------------------traitement des ressources et des paramètres----------------------------------------+//
56
 
57
 
58
	public function traiterParametres() {
59
		if (isset($this->parametres) && !empty($this->parametres) ) {
60
			foreach ($this->parametres as $param => $valeur) {
61
					if ($param != 'version.projet' || $param != 'retour.champs' ) {
62
						$e = 'Erreur dans les parametres de votre requête : </br> Le paramètre " '
63
						.$param.' " n\'existe pas.';
64
						$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $e);
65
					}
66
			}
67
		}
68
 
69
	}
70
 
71
 
72
 
73
	//+--------------------------formatages de resultats  -------------------------------------------+
74
 
75
	public function retournerResultatFormate($resultat) {
76
		$resultat_json = array();
77
		$resultat_json['entete']['catminat'] = str_replace('-','/',$this->ressources[0]);
78
		$resultat_json['resultat'] = $resultat;
79
		return $resultat_json;
80
	}
81
 
82
 
83
 
84
 
85
}
86
 
87
?>