Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev 47 Rev 61
Line 22... Line 22...
22
	const RENDU_PIED = 'pied';
22
	const RENDU_PIED = 'pied';
23
	const RENDU_NAVIGATION = 'navigation';
23
	const RENDU_NAVIGATION = 'navigation';
24
	const RENDU_MENU = 'menu';
24
	const RENDU_MENU = 'menu';
Line 25... Line 25...
25
	
25
	
26
	private $sortie = array();
26
	private $sortie = array();
27
	private $parametres = array();
27
	protected $urlBase = null;
Line 28... Line 28...
28
	protected $url = null;
28
	protected $urlCourante = null;
29
	
29
	
30
	public function __construct()  {
30
	public function __construct()  {
31
		$chemin = Config::get('chemin_modules').
31
		$chemin = Config::get('chemin_modules').
32
			AppControleur::getNomDossierDepuisClasse(get_class($this)).DS.
32
			AppControleur::getNomDossierDepuisClasse(get_class($this)).DS.
-
 
33
			Config::get('dossier_squelettes').DS;
33
			Config::get('dossier_squelettes').DS;
34
		Registre::set('tbf.chemin_squelettes', $chemin);
34
		Registre::set('tbf.chemin_squelettes', $chemin);
35
		
-
 
36
		$this->urlBase = Registre::get('eFlore.urlBase');
-
 
37
		$this->urlCourante = Registre::get('eFlore.urlCourante');
35
		$this->parametres = Registre::get('parametres');
38
		$this->urlRedirection = Registre::get('eFlore.urlRedirection');
36
		$this->url = $this->parametres['url'];
39
		
Line -... Line 40...
-
 
40
		parent::__construct();
-
 
41
	}
-
 
42
	
37
		parent::__construct();
43
	//+------------------------------------------------------------------------------------------------------+
38
	}
44
	// GESTION de l'AFFICHAGE en SORTIE
39
	
45
	
40
	/**
46
	/**
41
 	* Attribue une position de sortie à un contenu.
47
 	* Attribue une position de sortie à un contenu.
Line 77... Line 83...
77
	public function getSortie() {
83
	public function getSortie() {
78
		return $this->sortie;
84
		return $this->sortie;
79
	}
85
	}
Line 80... Line 86...
80
 
86
 
-
 
87
	/**
-
 
88
	 * Fusionne un tableau de sortie par défaut avec le tableau passé en paramêtre.
-
 
89
	 * @param array le tableau à fusionner
-
 
90
	 */
-
 
91
	private function fusionnerSortie($sortie) {
-
 
92
		$this->sortie = array_merge($this->sortie, $sortie);
-
 
93
	}
-
 
94
 
81
	/**
95
	/**
82
	 * Execute l'action d'un module donnée et fusionne le résultat avec le tableau de sortie.
96
	 * Execute l'action d'un module donnée et fusionne le résultat avec le tableau de sortie.
83
	 * Permet à une action d'un module donnée de charger le résultat d'une autre action de module.
97
	 * Permet à une action d'un module donnée de charger le résultat d'une autre action de module.
84
	 */
98
	 */
85
	protected function executerAction($ClasseModule, $action) {
99
	protected function executerAction($ClasseModule, $action) {
86
		$module = new $ClasseModule();
100
		$module = new $ClasseModule();
87
		$module->$action();
101
		$module->$action();
Line 88... Line 102...
88
		$this->fusionnerSortie($module->getSortie());
102
		$this->fusionnerSortie($module->getSortie());
Line 89... Line -...
89
		
-
 
90
	}
103
		
91
	
104
	}
92
	/**
-
 
93
	 * Fusionne un tableau de sortie par défaut avec le tableau passé en paramêtre.
-
 
94
	 * @param array le tableau à fusionner
-
 
95
	 */
-
 
96
	private function fusionnerSortie($sortie) {
-
 
97
		$this->sortie = array_merge($this->sortie, $sortie);
105
	
98
	}
106
	//+------------------------------------------------------------------------------------------------------+
99
	
107
	// GESTION du VUES COMMUNES
100
	/**
108
	/**
101
	 * Charge un squelette de vue depuis l'emplacement commune. 
109
	 * Charge un squelette de vue depuis l'emplacement commune. 
Line 141... Line 149...
141
		$donnees['courrielContact'] = Config::get('courriel_contact');
149
		$donnees['courrielContact'] = Config::get('courriel_contact');
Line 142... Line 150...
142
		
150
		
143
		$this->setSortie(self::RENDU_PIED, $this->getVueCommune('pied_page', $donnees));
151
		$this->setSortie(self::RENDU_PIED, $this->getVueCommune('pied_page', $donnees));
Line -... Line 152...
-
 
152
	}
-
 
153
	
144
	}
154
	//+------------------------------------------------------------------------------------------------------+
-
 
155
	// GESTION du CHARGEMENT des CLASSES MÉTIERS
145
	
156
	protected function getEfloreNoms() {
-
 
157
		if (! isset($this->EfloreNoms)) {
146
	protected function obtenirUrlRecherche($txt = null) {
158
			$this->EfloreNoms = new Noms();
-
 
159
		}
-
 
160
		return $this->EfloreNoms;
147
		$this->url->setRequete(false);
161
	}
148
		$this->url->setVariableRequete('module', 'Recherche');
162
	
149
		$this->url->setVariableRequete('action', 'rechercher');
163
	protected function getEfloreTaxons() {
150
		if (!is_null($txt)) {
164
		if (! isset($this->EfloreTaxons)) {
-
 
165
			$this->EfloreTaxons = new Taxons();
-
 
166
		}
-
 
167
		return $this->EfloreTaxons;
-
 
168
	}
-
 
169
	
-
 
170
	//+------------------------------------------------------------------------------------------------------+
151
			$this->url->setVariableRequete('recherche', $txt);
171
	// GESTION des URLs
-
 
172
	protected function obtenirUrlBase() {
-
 
173
		$url = $this->urlBase->getURL();
-
 
174
		return $url;
-
 
175
	}
-
 
176
	
-
 
177
	private function getParametresUrlListe() {
-
 
178
		$parametres = array(
-
 
179
			'referentiel' => Registre::get('parametres.referentiel'),
-
 
180
			'module' => 'liste',
-
 
181
			'action' => 'liste',
-
 
182
			'rang' => $this->rang,
-
 
183
			'lettre' => $this->lettre
-
 
184
		);
-
 
185
		return $parametres;
-
 
186
	}
-
 
187
	
-
 
188
	protected function obtenirUrlListeFamille() {
-
 
189
		$parametres = $this->getParametresUrlListe();
-
 
190
		$parametres['rang'] = 'F';
-
 
191
		$this->urlBase->setRequete($parametres);
-
 
192
		$url = $this->urlBase->getURL();
-
 
193
		return $url;
-
 
194
	}
-
 
195
	
-
 
196
	protected function obtenirUrlListeGenre() {
152
		}
197
		$parametres = $this->getParametresUrlListe();
-
 
198
		$parametres['rang'] = 'G';
-
 
199
		$this->urlBase->setRequete($parametres);
-
 
200
		$url = $this->urlBase->getURL();
-
 
201
		return $url;
-
 
202
	}
-
 
203
	
-
 
204
	
153
		$url = $this->url->getURL();
205
	protected function obtenirUrlRecherche($txt = null) {
154
		$this->url->unsetVariablesRequete(array('module', 'action', 'recherche'));
206
		// TODO : à revoir selon le modèle ci-dessus
155
		return $url;
207
		return $url;
156
	}
208
	}
157
}
209
}