From 18eca58f99babd24a1f62494dcc1530570949036 Mon Sep 17 00:00:00 2001 From: Lucas D'Avila Date: Thu, 31 Jan 2013 19:56:05 -0200 Subject: [PATCH] Alterado bootstrap para dar preferência a production.ini caso encontre algum e para tentar carregar as configurações especificas de uma seção com mesmo nome do host --- ieducar/includes/bootstrap.php | 15 +++++++++++++-- ieducar/lib/CoreExt/Config/Ini.class.php | 8 ++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/ieducar/includes/bootstrap.php b/ieducar/includes/bootstrap.php index 5327bea..3ce17d1 100644 --- a/ieducar/includes/bootstrap.php +++ b/ieducar/includes/bootstrap.php @@ -74,8 +74,12 @@ else { define('CORE_EXT_CONFIGURATION_ENV', 'production'); } -// Arquivo de configuração INI -$configFile = realpath(dirname(__FILE__) . '/../') . '/configuration/ieducar.ini'; +// por padrão busca uma configuração para o ambiente atual definido em CORE_EXT_CONFIGURATION_ENV +$configFile = realpath(dirname(__FILE__) . '/../') . '/configuration/' . CORE_EXT_CONFIGURATION_ENV . '.ini'; + +// caso não exista o ini para o ambiente atual, usa o arquivo padrão ieducar.ini +if (! file_exists($configFile)) + $configFile = realpath(dirname(__FILE__) . '/../') . '/configuration/ieducar.ini'; // Classe de configuração require_once 'CoreExt/Config.class.php'; @@ -97,6 +101,13 @@ $coreExt['Locale'] = $locale; // Timezone date_default_timezone_set($coreExt['Config']->app->locale->timezone); +$tenantEnv = $_SERVER['HTTP_HOST']; + +// tenta carregar as configurações da seção especifica do tenant, +// ex: ao acessar http://tenant.ieducar.com.br será carregado a seção tenant.ieducar.com.br caso exista +if ($coreExt['Config']->hasEnviromentSection($tenantEnv)) + $coreExt['Config']->changeEnviroment($tenantEnv); + /** * Altera o diretório da aplicação. chamadas a fopen() na aplicação não * verificam em que diretório está, assumindo sempre uma requisição a diff --git a/ieducar/lib/CoreExt/Config/Ini.class.php b/ieducar/lib/CoreExt/Config/Ini.class.php index d221cb2..5f2118f 100644 --- a/ieducar/lib/CoreExt/Config/Ini.class.php +++ b/ieducar/lib/CoreExt/Config/Ini.class.php @@ -88,6 +88,14 @@ class CoreExt_Config_Ini extends CoreExt_Config } /** + * Verifica se possui a seção desejada. + * @param string $section + */ + function hasEnviromentSection($section) { + return is_array($this->iniArr[$section]); + } + + /** * Carrega as configuração da seção desejada. * @param string $section */ -- libgit2 0.21.2