Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev 34 Rev 41
Line 22... Line 22...
22
	 * Instance de la classe pointant sur elle même (pour le pattern singleton)
22
	 * Instance de la classe pointant sur elle même (pour le pattern singleton)
23
	 */
23
	 */
24
	private static $instance = null;
24
	private static $instance = null;
Line 25... Line 25...
25
	
25
	
26
	/**
26
	/**
27
	 * Paramètres pour les collections
27
	 * Paramètres d'AppControleur
28
	 */
28
	 */
Line 29... Line 29...
29
	private static $parametres = array();
29
	private static $parametres = array();
30
	
30
	
Line 49... Line 49...
49
	 */
49
	 */
50
	public static function initialiser() {
50
	public static function initialiser() {
51
		self::verifierCreationInstance();
51
		self::verifierCreationInstance();
52
		self::gererSession();
52
		self::gererSession();
Line -... Line 53...
-
 
53
		
53
		
54
		self::nettoyerGet();
54
		self::capturerParametres();
-
 
55
		self::$parametres['url']->setRequete(array('action' => self::$parametres['action'], 'module' => self::$parametres['module']));
55
		self::capturerParametres();
-
 
56
		self::initialiserRegistre();
56
		Registre::set('parametres', &self::$parametres);
57
		
Line 57... Line 58...
57
		spl_autoload_register(array(get_class(), 'chargerClasse'));
58
		spl_autoload_register(array(get_class(), 'chargerClasse'));
58
		
59
		
Line 72... Line 73...
72
			// Démarrage de la session
73
			// Démarrage de la session
73
			session_start();
74
			session_start();
74
		}
75
		}
75
	}
76
	}
Line -... Line 77...
-
 
77
	
-
 
78
	private static function nettoyerGet() {
-
 
79
		foreach ($_GET as $cle => $valeur) {
-
 
80
			$verifier = array('NULL', "\n", "\r", "\\", "'", '"', "\x00", "\x1a", ';');
-
 
81
			$_GET[$cle] = strip_tags(str_replace($verifier, '', $valeur));
-
 
82
		}
-
 
83
	}
76
	
84
	
-
 
85
	private static function capturerParametres() {
-
 
86
		if (isset($_GET['referentiel'])) {
-
 
87
			self::$parametres['referentiel'] = $_GET['referentiel'];
77
	private static function capturerParametres() {
88
		}
78
		if (isset($_GET['module'])) {
89
		if (isset($_GET['module'])) {
79
			self::$parametres['module'] = $_GET['module'];
90
			self::$parametres['module'] = $_GET['module'];
80
		}
91
		}
81
		if (isset($_GET['action'])) {
92
		if (isset($_GET['action'])) {
82
			self::$parametres['action'] = $_GET['action'];
93
			self::$parametres['action'] = $_GET['action'];
83
		}
94
		}
Line -... Line 95...
-
 
95
	}
-
 
96
	
-
 
97
	private static function initialiserRegistre() {
-
 
98
		self::$parametres['url']->setRequete(array('action' => self::$parametres['action'], 'module' => self::$parametres['module']));
-
 
99
		Registre::set('eflore.urlCourrante', &self::$parametres['url']);
-
 
100
		Registre::set('parametres.referentiel', &self::$parametres['referentiel']);
-
 
101
		Registre::set('parametres.module', &self::$parametres['module']);
-
 
102
		Registre::set('parametres.action', &self::$parametres['action']);
84
	}
103
	}
85
	
104
	
86
	private static function chargerClasse($nom_classe) {
105
	private static function chargerClasse($nom_classe) {
87
		$dossiers_classes = array(Config::get('chemin_modules').self::getNomDossierModuleCourrant().DS);
106
		$dossiers_classes = array(Config::get('chemin_modules').self::getNomDossierModuleCourrant().DS);
88
		foreach ($dossiers_classes as $chemin) {
107
		foreach ($dossiers_classes as $chemin) {
Line 124... Line 143...
124
		$classeModule = self::getNomClasseModule();
143
		$classeModule = self::getNomClasseModule();
125
		$action = self::getNomMethodeAction();
144
		$action = self::getNomMethodeAction();
126
		// Nous vérifions que le module existe
145
		// Nous vérifions que le module existe
127
		if (class_exists($classeModule)) {
146
		if (class_exists($classeModule)) {
128
			$module = new $classeModule();
147
			$module = new $classeModule();
-
 
148
			
-
 
149
			// Chargement Entete et Pied de page par défaut 
-
 
150
			$module->chargerEnteteDePage();
-
 
151
			$module->chargerPiedDePage();
-
 
152
			
-
 
153
			// Initialisation du module demandé
-
 
154
			if (method_exists($module, 'initialiser')) {
-
 
155
				$module->initialiser();
-
 
156
			}
-
 
157
			// Lancement de l'action demandé du module chargé
-
 
158
			if (method_exists($module, $action)) {
129
			$module->$action();
159
				$module->$action();
-
 
160
			} else {
-
 
161
				$m = "La méthode '$action' du controleur '$classeModule' est introuvable.";
-
 
162
				trigger_error($m, E_USER_ERROR);
-
 
163
			}
-
 
164
			
130
			self::fusionnerSortie($module->getSortie());
165
			self::fusionnerSortie($module->getSortie());
131
		} else {
166
		} else {
132
			trigger_error("La classe du controleur '$classeModule' est introuvable.");
167
			$m = "La classe du controleur '$classeModule' est introuvable.";
-
 
168
			trigger_error($m, E_USER_ERROR);
133
		}
169
		}
134
	}
170
	}
Line 135... Line 171...
135
	
171
	
136
	/**
172
	/**