Subversion Repositories Applications.framework

Rev

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

Rev 105 Rev 109
Line 34... Line 34...
34
		// Chargement du fichier config.ini par défaut de l'application
34
		// Chargement du fichier config.ini par défaut de l'application
35
		$chemin_config_defaut_appli = self::$parametres['chemin_configurations'].sprintf(self::$parametres['fw_fichier_config'], '');
35
		$chemin_config_defaut_appli = self::$parametres['chemin_configurations'].sprintf(self::$parametres['fw_fichier_config'], '');
36
		self::parserFichierIni($chemin_config_defaut_appli);
36
		self::parserFichierIni($chemin_config_defaut_appli);
Line 37... Line 37...
37
 
37
 
-
 
38
		// Chargement des fichiers config.ini contextuels
-
 
39
		if (PHP_SAPI == 'cli') {// mode console
-
 
40
			foreach ($_SERVER['argv'] as $cle => $valeur) {
-
 
41
				if ($valeur == '-contexte') {
-
 
42
					chargerFichierContexte($_SERVER['argv'][($cle+1)]);
-
 
43
					break;
-
 
44
				}
-
 
45
			}
-
 
46
		} else {// mode web
38
		// Chargement des fichiers config.ini contextuels
47
			// Pour Papyrus
-
 
48
			if (defined('PAP_VERSION')) {
-
 
49
				chargerFichierContexte('papyrus');
-
 
50
			}
-
 
51
			// Via le fichie .ini par défaut de l'appli
39
		if (defined('PAP_VERSION')) {
52
			if (Config::existe('info.contexte')) {
-
 
53
				chargerFichierContexte(Config::get('info.contexte'));
-
 
54
			}
-
 
55
			// Chargement du contexte présent dans le GET
40
			$chemin_config_appli_contextuel = self::$parametres['chemin_configurations'];
56
			if (isset($_GET['contexte'])) {
-
 
57
				chargerFichierContexte($_GET['contexte']);
-
 
58
			}
-
 
59
			// Chargement du contexte présent dans le POST
41
			$chemin_config_appli_contextuel .= sprintf(self::$parametres['fw_fichier_config'], '_papyrus');
60
			if (isset($_POST['contexte'])) {
-
 
61
				chargerFichierContexte($_POST['contexte']);
42
			self::parserFichierIni($chemin_config_appli_contextuel);
62
			}
43
		}
63
		}
Line -... Line 64...
-
 
64
	}
-
 
65
 
-
 
66
	private static function chargerFichierContexte($contexte) {
-
 
67
		$chemin_config_appli_contextuel = self::$parametres['chemin_configurations'];
-
 
68
		$chemin_config_appli_contextuel .= sprintf(self::$parametres['fw_fichier_config'], '_'.$contexte);
-
 
69
		self::parserFichierIni($chemin_config_appli_contextuel);
44
	}
70
	}
45
 
71
 
46
	private static function parserFichierIni($fichier_ini) {
72
	private static function parserFichierIni($fichier_ini) {
47
    	$retour = false;
73
    	$retour = false;
48
		if (file_exists($fichier_ini)) {
74
		if (file_exists($fichier_ini)) {
Line 146... Line 172...
146
	}
172
	}
Line 147... Line 173...
147
 
173
 
148
	private static function evaluerReferences(&$config, $cle) {
174
	private static function evaluerReferences(&$config, $cle) {
149
		if (preg_match_all('/{ref:([A-Za-z0-9_-]+)}/', $config[$cle], $correspondances,  PREG_SET_ORDER)) {
175
		if (preg_match_all('/{ref:([A-Za-z0-9_-]+)}/', $config[$cle], $correspondances,  PREG_SET_ORDER)) {
150
    		foreach ($correspondances as $ref) {
176
    		foreach ($correspondances as $ref) {
151
    			$config[$cle] = str_replace($ref[0], $config[$ref[1]], $config[$cle]);
177
    			$config[$cle] = str_replace($ref[0], self::getValeur($ref[1], self::$parametres), $config[$cle]);
152
    		}
178
    		}
153
    	}
179
    	}
Line 154... Line 180...
154
	}
180
	}