Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 1105 | Rev 1116 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1105 Rev 1115
Line 15... Line 15...
15
abstract class Eflore {
15
abstract class Eflore {
Line 16... Line 16...
16
 
16
 
17
	const RANG_FAMILLE = 180;
17
	const RANG_FAMILLE = 180;
18
	const RANG_GENRE = 220;
18
	const RANG_GENRE = 220;
-
 
19
	const RANG_ESPECE = 290;
-
 
20
	const API_EFLORE = '';
Line 19... Line 21...
19
	const RANG_ESPECE = 290;
21
	const API_DEL = 'del';
20
 
22
 
-
 
23
	private $entete = null;
Line 21... Line 24...
21
	private $entete = null;
24
	private $projet = null;
22
	private $projet = null;
25
	private $api = null;
23
 
26
 
24
	public function __construct($projet = null) {
27
	public function __construct($projet = null) {
25
		$this->projet = Registre::get('parametres.referentiel');
28
		$this->projet = Registre::get('parametres.referentiel');
-
 
29
		if (!is_null($projet)) {
-
 
30
			$this->projet = $projet;
-
 
31
		}
-
 
32
		$this->api = self::API_EFLORE;
-
 
33
	}
-
 
34
 
-
 
35
	public function setApi($api) {
-
 
36
		$this->api = $api;
-
 
37
		return $this;
-
 
38
	}
26
		if (!is_null($projet)) {
39
 
Line 27... Line 40...
27
			$this->projet = $projet;
40
	public function getApi() {
28
		}
41
		return $this->api;
29
	}
42
	}
Line 39... Line 52...
39
	public function getEnteteTotal() {
52
	public function getEnteteTotal() {
40
		return $this->entete['total'];
53
		return $this->entete['total'];
41
	}
54
	}
Line 42... Line 55...
42
 
55
 
-
 
56
	/**
-
 
57
	 * Récupère un squelette d'URL dans le fichier de configuration, en fonction de l'API spécifiée dans $this->api
-
 
58
	 * 
-
 
59
	 * @param string $squelette squelette d'URL à chercher dans le fichier de config, sans le préfixe d'API
-
 
60
	 * @param string $api forcer l'API, false par défaut pour utiliser l'API spécifié dans $this->api (utiliser les constantes)
-
 
61
	 * @throws Exception si la clef générée n'est pas présente dans le fichier de configuration
-
 
62
	 */
-
 
63
	protected function obtenirSqueletteSelonApi($squelette) {
-
 
64
		$api = $this->api;
-
 
65
		if ($api != '') {
-
 
66
			$squelette = ucfirst($squelette);
-
 
67
		}
-
 
68
		$clef = $api . $squelette . 'Tpl';
-
 
69
		if (Config::existe($clef)) {
-
 
70
			return Config::get($clef);
-
 
71
		} else {
-
 
72
			throw new Exception("Squelette indisponible pour l'API spécifiée");
-
 
73
		}
-
 
74
	}
-
 
75
 
43
	/**
76
	/**
44
	 * Formate une url à partir d'un template contenant des paramètres à remplacer sous la forme {monParametre}.
77
	 * Formate une url à partir d'un template contenant des paramètres à remplacer sous la forme {monParametre}.
45
	 * Le tableau associatif de paramètres doit contenir en clé le paramêtre (monParametre) sans les accolades,
78
	 * Le tableau associatif de paramètres doit contenir en clé le paramêtre (monParametre) sans les accolades,
46
	 * la valeur correspondante sera la valeur de remplacement.
79
	 * la valeur correspondante sera la valeur de remplacement.
47
	 * Par défaut, les parametres suivant sont pris en compte par cette méthode :
80
	 * Par défaut, les parametres suivant sont pris en compte par cette méthode :
48
	 *  - {projet} : le code du référentiel courrant ou définit dans le constructeur de l'objet métier.
81
	 *  - {projet} : le code du référentiel courrant ou définit dans le constructeur de l'objet métier.
49
	 *
82
	 *
50
	 * @param String $tpl le squelette d'url à formater.
83
	 * @param String $tpl le squelette d'url à formater.
51
	 * @param Array $parametres le tableau de parametres (sans accolades pour les clés).*/
84
	 * @param Array $parametres le tableau de parametres (sans accolades pour les clés).*/
52
	protected function formaterUrl($tpl, Array $parametres) {
85
	public function formaterUrl($tpl, Array $parametres) {
53
		$parametres = $this->ajouterParametreParDefaut($parametres);
86
		$parametres = $this->ajouterParametreParDefaut($parametres);
54
		foreach($parametres as $key=> $value) {
87
		foreach($parametres as $key=> $value) {
55
			if(is_array($value)) {
88
			if(is_array($value)) {
56
				$value = implode(',', $value);
89
				$value = implode(',', $value);