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);
}
/**