Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 402 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
396 mathilde 1
<?php
2
/**
3
* Classe Graphiques.php permet de
4
*  fin d'url possibles :
5
*  graphiques/#bdnt.nn:#num_nomen --> renvoie une graphique avec les données connues
6
*
7
* Encodage en entrée : utf8
8
* Encodage en sortie : utf8
9
* @package eflore-projets
10
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
11
* @author Mathilde SALTHUN-LASSALLE <mathilde@tela-botanica.org>
12
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
13
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
14
* @version 1.0
15
* @copyright 1999-2011 Tela Botanica (accueil@tela-botanica.org)
16
*/
17
 
18
class Graphiques {
19
 
20
	private $parametres = array();
21
	private $ressources = array();
22
	private $sousService;
23
 
24
	public function consulter($ressources, $parametres) {
25
		$this->parametres = $parametres;
26
		$this->ressources = $ressources;
27
 
28
		$this->traiterRessources();
29
		$resultat = $this->executerSousService();
30
 
31
		return $resultat;
32
	}
33
 
34
	public function traiterRessources() {
35
		if (isset($this->ressources) && !empty($this->ressources[0])) {
36
			if ($this->ressources[0] == 'climat' ){
37
				$this->sousService = 'Climat';
38
			  }
39
			 elseif ($this->ressources[0] == 'sol' ){
40
			 	$message = "non encore implémenté : graphique des données climatiques";
41
			 	$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
42
			 	throw new Exception($message, $code);
43
			 }
44
		}
45
 
46
	}
47
 
48
	private function executerSousService() {
49
		if (isset($this->sousService)) {
50
			$classe = $this->sousService.'Graph';
51
			require_once dirname(__FILE__).DS.'graphiques'.DS.$classe.'.php';
52
			$sousService = new $classe(new Conteneur());
53
			$resultat = $sousService->consulter($this->ressources, $this->parametres);
54
		} else {
55
			$message = "L'analyse des ressources n'a pu aboutir à déterminer le sous service à executer.";
56
			$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
57
			throw new Exception($message, $code);
58
		}
59
		return $resultat;
60
	}
61
 
62
}
63
?>