Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 584 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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