diff --git a/application/startup.inc.php b/application/startup.inc.php index 764e581c6..3516200fa 100644 --- a/application/startup.inc.php +++ b/application/startup.inc.php @@ -1,5 +1,5 @@ +MetaModel::Startup($sConfigFile, false /* $bModelOnly */, true /* $bAllowCache */, false /* $bTraceSourceFiles */, $sEnv); \ No newline at end of file diff --git a/core/metamodel.class.php b/core/metamodel.class.php index 9306e87ae..51062ecd1 100644 --- a/core/metamodel.class.php +++ b/core/metamodel.class.php @@ -108,6 +108,7 @@ abstract class MetaModel private static $m_bTraceSourceFiles = false; private static $m_aClassToFile = array(); + protected static $m_sEnvironment = 'production'; public static function GetClassFiles() { @@ -305,7 +306,7 @@ abstract class MetaModel return self::GetClassIcon($sParentClass, $bImgTag, $sMoreStyles); } } - $sIcon = str_replace('/modules/', '/env-'.utils::GetCurrentEnvironment().'/', $sIcon); // Support of pre-2.0 modules + $sIcon = str_replace('/modules/', '/env-'.self::$m_sEnvironment.'/', $sIcon); // Support of pre-2.0 modules if ($bImgTag && ($sIcon != '')) { $sIcon = ""; @@ -3484,9 +3485,10 @@ abstract class MetaModel $aAlterTableItems = array(); // array of => foreach (self::GetClasses() as $sClass) - { + { if (!self::HasTable($sClass)) continue; + // Check that the table exists // $sTable = self::DBGetTable($sClass); @@ -4125,11 +4127,13 @@ abstract class MetaModel } } - public static function Startup($config, $bModelOnly = false, $bAllowCache = true, $bTraceSourceFiles = false) + public static function Startup($config, $bModelOnly = false, $bAllowCache = true, $bTraceSourceFiles = false, $sEnvironment = 'production') { + self::$m_sEnvironment = $sEnvironment; + if (!defined('MODULESROOT')) { - define('MODULESROOT', APPROOT.'env-'.utils::GetCurrentEnvironment().'/'); + define('MODULESROOT', APPROOT.'env-'.self::$m_sEnvironment.'/'); self::$m_bTraceSourceFiles = $bTraceSourceFiles; @@ -4226,7 +4230,7 @@ abstract class MetaModel { Dict::EnableCache($sAppIdentity); } - require_once(APPROOT.'env-'.utils::GetCurrentEnvironment().'/dictionaries/languages.php'); + require_once(APPROOT.'env-'.self::$m_sEnvironment.'/dictionaries/languages.php'); // Set the default language... Dict::SetDefaultLanguage(self::$m_oConfig->GetDefaultLanguage()); @@ -4236,7 +4240,7 @@ abstract class MetaModel require_once(APPROOT.'/application/cmdbabstract.class.inc.php'); require_once(APPROOT.'core/autoload.php'); - require_once(APPROOT.'env-'.utils::GetCurrentEnvironment().'/autoload.php'); + require_once(APPROOT.'env-'.self::$m_sEnvironment.'/autoload.php'); foreach (self::$m_oConfig->GetAddons() as $sModule => $sToInclude) { @@ -4359,7 +4363,7 @@ abstract class MetaModel public static function GetEnvironmentId() { - return md5(APPROOT).'-'.utils::GetCurrentEnvironment(); + return md5(APPROOT).'-'.self::$m_sEnvironment; } protected static $m_aExtensionClasses = array(); diff --git a/setup/runtimeenv.class.inc.php b/setup/runtimeenv.class.inc.php index e98cedc1f..d578f3de8 100644 --- a/setup/runtimeenv.class.inc.php +++ b/setup/runtimeenv.class.inc.php @@ -103,7 +103,7 @@ class RunTimeEnvironment MetaModel::ResetCache(md5(APPROOT).'-'.$this->sTargetEnv); } - MetaModel::Startup($oConfig, $bModelOnly, $bUseCache); + MetaModel::Startup($oConfig, $bModelOnly, $bUseCache, false /* $bTraceSourceFiles */, $this->sTargetEnv); } /**