diff --git a/setup/runtimeenv.class.inc.php b/setup/runtimeenv.class.inc.php index 5d2dcd021..23b477cea 100644 --- a/setup/runtimeenv.class.inc.php +++ b/setup/runtimeenv.class.inc.php @@ -911,11 +911,21 @@ class RunTimeEnvironment { if ($this->sFinalEnv != $this->sTargetEnv) { - $this->CommitFile( - APPROOT.'data/'.$this->sTargetEnv.'.delta.xml', - APPROOT.'data/'.$this->sFinalEnv.'.delta.xml', - false - ); + if (file_exists(APPROOT.'data/'.$this->sTargetEnv.'.delta.xml')) + { + if (file_exists(APPROOT.'data/'.$this->sFinalEnv.'.delta.xml')) + { + // Make a "previous" file + copy( + APPROOT.'data/'.$this->sTargetEnv.'.delta.xml', + APPROOT.'data/'.$this->sFinalEnv.'.delta.prev.xml' + ); + } + $this->CommitFile( + APPROOT.'data/'.$this->sTargetEnv.'.delta.xml', + APPROOT.'data/'.$this->sFinalEnv.'.delta.xml' + ); + } $this->CommitFile( APPROOT.'data/datamodel-'.$this->sTargetEnv.'.xml', APPROOT.'data/datamodel-'.$this->sFinalEnv.'.xml' @@ -940,11 +950,14 @@ class RunTimeEnvironment APPROOT.'env-'.$this->sFinalEnv ); + // Move the config file + // $sTargetConfig = APPCONF.$this->sTargetEnv.'/config-itop.php'; $sFinalConfig = APPCONF.$this->sFinalEnv.'/config-itop.php'; @chmod($sFinalConfig, 0770); // In case it exists: RWX for owner and group, nothing for others $this->CommitFile($sTargetConfig, $sFinalConfig); @chmod($sFinalConfig, 0440); // Read-only for owner and group, nothing for others + @rmdir(dirname($sTargetConfig)); // Cleanup the temporary build dir if empty } }