Subversion Repositories Applications.framework

Compare Revisions

Ignore whitespace Rev 108 → Rev 109

/trunk/framework/Config.php
36,13 → 36,39
self::parserFichierIni($chemin_config_defaut_appli);
 
// Chargement des fichiers config.ini contextuels
if (defined('PAP_VERSION')) {
$chemin_config_appli_contextuel = self::$parametres['chemin_configurations'];
$chemin_config_appli_contextuel .= sprintf(self::$parametres['fw_fichier_config'], '_papyrus');
self::parserFichierIni($chemin_config_appli_contextuel);
if (PHP_SAPI == 'cli') {// mode console
foreach ($_SERVER['argv'] as $cle => $valeur) {
if ($valeur == '-contexte') {
chargerFichierContexte($_SERVER['argv'][($cle+1)]);
break;
}
}
} else {// mode web
// Pour Papyrus
if (defined('PAP_VERSION')) {
chargerFichierContexte('papyrus');
}
// Via le fichie .ini par défaut de l'appli
if (Config::existe('info.contexte')) {
chargerFichierContexte(Config::get('info.contexte'));
}
// Chargement du contexte présent dans le GET
if (isset($_GET['contexte'])) {
chargerFichierContexte($_GET['contexte']);
}
// Chargement du contexte présent dans le POST
if (isset($_POST['contexte'])) {
chargerFichierContexte($_POST['contexte']);
}
}
}
 
private static function chargerFichierContexte($contexte) {
$chemin_config_appli_contextuel = self::$parametres['chemin_configurations'];
$chemin_config_appli_contextuel .= sprintf(self::$parametres['fw_fichier_config'], '_'.$contexte);
self::parserFichierIni($chemin_config_appli_contextuel);
}
 
private static function parserFichierIni($fichier_ini) {
$retour = false;
if (file_exists($fichier_ini)) {
148,7 → 174,7
private static function evaluerReferences(&$config, $cle) {
if (preg_match_all('/{ref:([A-Za-z0-9_-]+)}/', $config[$cle], $correspondances, PREG_SET_ORDER)) {
foreach ($correspondances as $ref) {
$config[$cle] = str_replace($ref[0], $config[$ref[1]], $config[$cle]);
$config[$cle] = str_replace($ref[0], self::getValeur($ref[1], self::$parametres), $config[$cle]);
}
}
}