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 | 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 | 84 | // Classe de configuração |
81 | 85 | require_once 'CoreExt/Config.class.php'; |
... | ... | @@ -97,6 +101,13 @@ $coreExt['Locale'] = $locale; |
97 | 101 | // Timezone |
98 | 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 | 112 | * Altera o diretório da aplicação. chamadas a fopen() na aplicação não |
102 | 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 | 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 | 99 | * Carrega as configuração da seção desejada. |
92 | 100 | * @param string $section |
93 | 101 | */ | ... | ... |