Commit 18eca58f99babd24a1f62494dcc1530570949036
1 parent
66580ef2
Exists in
master
Alterado bootstrap para dar preferência a production.ini caso encontre algum e p…
…ara tentar carregar as configurações especificas de uma seção com mesmo nome do host
Showing
2 changed files
with
21 additions
and
2 deletions
Show diff stats
ieducar/includes/bootstrap.php
@@ -74,8 +74,12 @@ else { | @@ -74,8 +74,12 @@ else { | ||
74 | define('CORE_EXT_CONFIGURATION_ENV', 'production'); | 74 | define('CORE_EXT_CONFIGURATION_ENV', 'production'); |
75 | } | 75 | } |
76 | 76 | ||
77 | -// Arquivo de configuração INI | ||
78 | -$configFile = realpath(dirname(__FILE__) . '/../') . '/configuration/ieducar.ini'; | 77 | +// por padrão busca uma configuração para o ambiente atual definido em CORE_EXT_CONFIGURATION_ENV |
78 | +$configFile = realpath(dirname(__FILE__) . '/../') . '/configuration/' . CORE_EXT_CONFIGURATION_ENV . '.ini'; | ||
79 | + | ||
80 | +// caso não exista o ini para o ambiente atual, usa o arquivo padrão ieducar.ini | ||
81 | +if (! file_exists($configFile)) | ||
82 | + $configFile = realpath(dirname(__FILE__) . '/../') . '/configuration/ieducar.ini'; | ||
79 | 83 | ||
80 | // Classe de configuração | 84 | // Classe de configuração |
81 | require_once 'CoreExt/Config.class.php'; | 85 | require_once 'CoreExt/Config.class.php'; |
@@ -97,6 +101,13 @@ $coreExt['Locale'] = $locale; | @@ -97,6 +101,13 @@ $coreExt['Locale'] = $locale; | ||
97 | // Timezone | 101 | // Timezone |
98 | date_default_timezone_set($coreExt['Config']->app->locale->timezone); | 102 | date_default_timezone_set($coreExt['Config']->app->locale->timezone); |
99 | 103 | ||
104 | +$tenantEnv = $_SERVER['HTTP_HOST']; | ||
105 | + | ||
106 | +// tenta carregar as configurações da seção especifica do tenant, | ||
107 | +// ex: ao acessar http://tenant.ieducar.com.br será carregado a seção tenant.ieducar.com.br caso exista | ||
108 | +if ($coreExt['Config']->hasEnviromentSection($tenantEnv)) | ||
109 | + $coreExt['Config']->changeEnviroment($tenantEnv); | ||
110 | + | ||
100 | /** | 111 | /** |
101 | * Altera o diretório da aplicação. chamadas a fopen() na aplicação não | 112 | * Altera o diretório da aplicação. chamadas a fopen() na aplicação não |
102 | * verificam em que diretório está, assumindo sempre uma requisição a | 113 | * verificam em que diretório está, assumindo sempre uma requisição a |
ieducar/lib/CoreExt/Config/Ini.class.php
@@ -88,6 +88,14 @@ class CoreExt_Config_Ini extends CoreExt_Config | @@ -88,6 +88,14 @@ class CoreExt_Config_Ini extends CoreExt_Config | ||
88 | } | 88 | } |
89 | 89 | ||
90 | /** | 90 | /** |
91 | + * Verifica se possui a seção desejada. | ||
92 | + * @param string $section | ||
93 | + */ | ||
94 | + function hasEnviromentSection($section) { | ||
95 | + return is_array($this->iniArr[$section]); | ||
96 | + } | ||
97 | + | ||
98 | + /** | ||
91 | * Carrega as configuração da seção desejada. | 99 | * Carrega as configuração da seção desejada. |
92 | * @param string $section | 100 | * @param string $section |
93 | */ | 101 | */ |