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 | */ | ... | ... |