Subversion Repositories Applications.referentiel

Rev

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

Rev 33 Rev 37
Line 14... Line 14...
14
abstract class AppliControleur extends Controleur {
14
abstract class AppliControleur extends Controleur {
Line 15... Line 15...
15
	
15
	
16
	const RENDU_TETE = 'tete';
16
	const RENDU_TETE = 'tete';
17
	const RENDU_CORPS = 'corps';
17
	const RENDU_CORPS = 'corps';
-
 
18
	const RENDU_PIED = 'pied';
-
 
19
	const RENDU_NAVIGATION = 'navigation';
Line 18... Line 20...
18
	const RENDU_PIED = 'pied';
20
	const RENDU_MENU = 'menu';
19
	
21
	
20
	// FIXME : voir s'il est plus intéressant d'utiliser une méthode dans les classes filles
22
	// FIXME : voir s'il est plus intéressant d'utiliser une méthode dans les classes filles
21
	protected $url = null;
23
	protected $url = null;
Line 82... Line 84...
82
	 */
84
	 */
83
	private function verifierExistencePosition($position) {
85
	private function verifierExistencePosition($position) {
84
		$existe = true;
86
		$existe = true;
85
		if ($position != self::RENDU_TETE &&
87
		if ($position != self::RENDU_TETE &&
86
			$position != self::RENDU_CORPS &&
88
			$position != self::RENDU_CORPS &&
87
			$position != self::RENDU_PIED) {
89
			$position != self::RENDU_PIED &&
-
 
90
			$position != self::RENDU_NAVIGATION &&
-
 
91
			$position != self::RENDU_MENU) {
88
			trigger_error("La position '$position' n'est pas une valeur prédéfinie.", E_USER_WARNING);
92
			trigger_error("La position '$position' n'est pas une valeur prédéfinie.", E_USER_WARNING);
89
			$existe = false;
93
			$existe = false;
90
		}
94
		}
91
		return $existe;
95
		return $existe;
92
	}
96
	}
Line 137... Line 141...
137
	
141
	
138
	private function remplacerEsperluette($txt) {
142
	private function remplacerEsperluette($txt) {
139
		$txt = preg_replace('/&(?!([a-z]+|#[0-9]+|#x[0-9a-f]+);)/i', '&', $txt, -1);
143
		$txt = preg_replace('/&(?!([a-z]+|#[0-9]+|#x[0-9a-f]+);)/i', '&', $txt, -1);
140
		return $txt;
144
		return $txt;
-
 
145
	}
-
 
146
	/**
-
 
147
	 * Construction du menu et stockage dans le conteneur de sortie RENDU_MENU.
-
 
148
	 * 
-
 
149
	 * @param string $referentiel code du référentiel.
-
 
150
	 */
-
 
151
	protected function construireMenu($referentiel) {
-
 
152
		$menu['nom'] = 'Accueil';
-
 
153
		$menu['url'] = $this->obtenirUrlMenuAccueil(); 
-
 
154
		$donnees['menus'][] = $menu;
-
 
155
		$menu['nom'] = 'Tests';
-
 
156
		$menu['url'] = $this->obtenirUrlMenuTest($referentiel); 
-
 
157
		$donnees['menus'][] = $menu;
-
 
158
		$menu['nom'] = 'Versionnage';
-
 
159
		$menu['url'] = $this->obtenirUrlMenuVersionnage($referentiel);
-
 
160
		$donnees['menus'][] = $menu;
-
 
161
		$menu['nom'] = 'Consultation';
-
 
162
		$menu['url'] = $this->obtenirUrlMenuConsultation($referentiel);
-
 
163
		$donnees['menus'][] = $menu;
-
 
164
		$this->setSortie(self::RENDU_MENU, $this->getVue('menu', $donnees), false);
-
 
165
	}
-
 
166
	/**
-
 
167
	 * Construction du fil d'ariane et stockage dans le conteneur de sortie RENDU_NAVIGATION.
-
 
168
	 * 
-
 
169
	 * @param $referentiel code du référentiel
-
 
170
	 * @param $id_traitement id du traitement
-
 
171
	 * @param $id_resultat id du résultat
-
 
172
	 */
-
 
173
	protected function construireFilAriane($referentiel = null, $id_traitement = null, $id_resultat = null) {
-
 
174
		$entree['nom'] = 'Accueil';
-
 
175
		$entree['url'] = $this->obtenirUrlMenuAccueil();
-
 
176
		$donnees['entrees'][] = $entree;
-
 
177
		
-
 
178
		if (isset($referentiel)) {
-
 
179
			$entree['nom'] = strtoupper($referentiel);
-
 
180
			$entree['url'] = $this->obtenirUrlDetailReferentiel($referentiel);
-
 
181
			$donnees['entrees'][] = $entree;
-
 
182
			
-
 
183
			$module = Referentiel::getModule();
-
 
184
			if ($module != 'Accueil') {
-
 
185
				$entree['nom'] = $module;
-
 
186
				$entree['url'] = $this->obtenirUrlMenu($module, $referentiel);
-
 
187
				$donnees['entrees'][] = $entree;
-
 
188
			}
-
 
189
			
-
 
190
			if (isset($id_traitement)) {
-
 
191
				$entree['nom'] = "Traitement #$id_traitement";
-
 
192
				$entree['url'] = $this->obtenirUrlFicheTraitement($referentiel, $id_traitement);
-
 
193
				$donnees['entrees'][] = $entree;
-
 
194
			}
-
 
195
			
-
 
196
			if (isset($id_resultat)) {
-
 
197
				$entree['nom'] = "Résultat #$id_resultat";
-
 
198
				$entree['url'] = $this->obtenirUrlFicheResultat($referentiel, $id_resultat);
-
 
199
				$donnees['entrees'][] = $entree;
-
 
200
			}
-
 
201
		}
-
 
202
		
-
 
203
		$this->setSortie(self::RENDU_NAVIGATION, $this->getVue('fil_ariane', $donnees), false);
-
 
204
	}
-
 
205
	
-
 
206
	protected function obtenirUrlDetailReferentiel($referentiel) {
-
 
207
		$this->url->setRequete(false);
-
 
208
		$this->url->setVariableRequete('module', 'Accueil');
-
 
209
		$this->url->setVariableRequete('action', 'afficherDetail');
-
 
210
		$this->url->setVariableRequete('ref', $referentiel);
-
 
211
		$url = $this->url->getURL();
-
 
212
		$this->url->unsetVariablesRequete(array('module', 'action', 'ref'));
-
 
213
		return $url;
Line -... Line 214...
-
 
214
	}
-
 
215
	
-
 
216
	protected function obtenirUrlMenuAccueil() {
-
 
217
		return $this->obtenirUrlMenu('Accueil');
-
 
218
	}
-
 
219
	
-
 
220
	protected function obtenirUrlMenuTest($referentiel) {
-
 
221
		return $this->obtenirUrlMenu('Test', $referentiel);
-
 
222
	}
-
 
223
	
-
 
224
	protected function obtenirUrlMenuVersionnage($referentiel) {
-
 
225
		return $this->obtenirUrlMenu('Versionnage', $referentiel);
-
 
226
	}
-
 
227
	
-
 
228
	protected function obtenirUrlMenuConsultation($referentiel) {
-
 
229
		return $this->obtenirUrlMenu('Consultation', $referentiel);
-
 
230
	}
-
 
231
	
-
 
232
	private function obtenirUrlMenu($menu, $referentiel = null) {
-
 
233
		$this->url->setRequete(false);
-
 
234
		$this->url->setVariableRequete('module', $menu);
-
 
235
		if (isset($referentiel)) {
-
 
236
			$this->url->setVariableRequete('ref', $referentiel);
-
 
237
		}
-
 
238
		$url = $this->url->getURL();
-
 
239
		$this->url->unsetVariablesRequete(array('module', 'ref'));
-
 
240
		return $url;
-
 
241
	}
-
 
242
	
-
 
243
	protected function obtenirUrlFicheTraitement($referentiel, $id_traitement) {
-
 
244
		$this->url->setRequete(false);
-
 
245
		$this->url->setVariableRequete('module', 'Traitement');
-
 
246
		$this->url->setVariableRequete('id-t', $id_traitement);
-
 
247
		$this->url->setVariableRequete('ref', $referentiel);
-
 
248
		$url = $this->url->getURL();
-
 
249
		$this->url->unsetVariablesRequete(array('module', 'id-t', 'ref'));
-
 
250
		return $url;
-
 
251
	}
-
 
252
	
-
 
253
	protected function obtenirUrlFicheResultat($referentiel, $id_resultat) {
-
 
254
		$this->url->setRequete(false);
-
 
255
		$this->url->setVariableRequete('module', 'Resultat');
-
 
256
		$this->url->setVariableRequete('id-r', $id_resultat);
-
 
257
		$this->url->setVariableRequete('ref', $referentiel);
-
 
258
		$url = $this->url->getURL();
-
 
259
		$this->url->unsetVariablesRequete(array('module', 'id-r', 'ref'));
141
	}
260
		return $url;
142
	
261
	}