Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 485 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 485 Rev 1068
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
/**
-
 
3
 * Le conteneur encapsule les classes servant aux scripts.
-
 
4
 * Il gère leur instanciation, ainsi que la récupération des paramètres depuis le fichier de configuration, et
-
 
5
 * de la ligne de commande.
-
 
6
 *
-
 
7
 * @category	eFlore
-
 
8
 * @package		Scripts
-
 
9
 * @subpackage	Bibliotheque
-
 
10
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
-
 
11
 * @copyright	Copyright (c) 2014, Tela Botanica (accueil@tela-botanica.org)
-
 
12
 * @license		CeCILL v2 http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt
-
 
13
 * @license		GNU-GPL http://www.gnu.org/licenses/gpl.html
-
 
14
 */
-
 
15
//TODO : initialiser tous les objets dans le conteneur
2
class Conteneur {
16
class Conteneur {
3
	protected $parametres = array();
17
	protected $parametres = array();
4
	protected $partages = array();
18
	protected $partages = array();
Line 5... Line 19...
5
 
19
 
Line 10... Line 24...
10
	public function getParametre($cle) {
24
	public function getParametre($cle) {
11
		$valeur = isset($this->parametres[$cle]) ? $this->parametres[$cle] : Config::get($cle);
25
		$valeur = isset($this->parametres[$cle]) ? $this->parametres[$cle] : Config::get($cle);
12
		return $valeur;
26
		return $valeur;
13
	}
27
	}
Line -... Line 28...
-
 
28
 
-
 
29
	/**
-
 
30
	 * Obtenir un paramètre depuis le tableau de paramètres ou depuis le fichier de config
-
 
31
	 * et le transformer en tableau s'il est de la forme : "cle=valeur,cle=valeur,..."
-
 
32
	 * @param String $cle le nom du paramètre
-
 
33
	 * @return la valeur du paramètre
14
 
34
	 */
15
	public function getParametreTableau($cle) {
35
	public function getParametreTableau($cle) {
16
		$tableau = array();
36
		$tableau = array();
17
		$parametre = $this->getParametre($cle);
37
		$parametre = $this->getParametre($cle);
18
		if (empty($parametre) === false) {
38
		if (empty($parametre) === false) {
19
			$tableauPartiel = explode(',', $parametre);
-
 
20
			$tableauPartiel = array_map('trim', $tableauPartiel);
39
			$tableauPartiel = explode(',', $parametre);
21
			foreach ($tableauPartiel as $champ) {
40
			foreach ($tableauPartiel as $champ) {
22
				if (strpos($champ, '=') === false) {
41
				if (strpos($champ, '=') === false) {
23
					$tableau[] = trim($champ);
42
					$tableau[] = trim($champ);
24
				} else {
43
				} else {
Line 48... Line 67...
48
		return $this->partages['EfloreCommun'];
67
		return $this->partages['EfloreCommun'];
49
	}
68
	}
Line 50... Line 69...
50
 
69
 
51
	public function getMessages() {
70
	public function getMessages() {
52
		if (!isset($this->partages['Messages'])){
71
		if (!isset($this->partages['Messages'])){
53
			$this->partages['Messages'] = new Messages($this->getParametre('-v'));
72
			$this->partages['Messages'] = new Messages($this->getParametre('v'));
54
		}
73
		}
55
		return $this->partages['Messages'];
74
		return $this->partages['Messages'];
Line 56... Line 75...
56
	}
75
	}
Line 74... Line 93...
74
			$this->partages['Bdd'] = new Bdd();
93
			$this->partages['Bdd'] = new Bdd();
75
		}
94
		}
76
		return $this->partages['Bdd'];
95
		return $this->partages['Bdd'];
77
	}
96
	}
78
}
97
}
79
?>
-
 
80
98