Commit 18eca58f99babd24a1f62494dcc1530570949036

Authored by Lucas D'Avila
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
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 */
... ...