diff --git a/setup/parameters.class.inc.php b/setup/parameters.class.inc.php index 40680a2da..bb22e2889 100644 --- a/setup/parameters.class.inc.php +++ b/setup/parameters.class.inc.php @@ -7,6 +7,7 @@ class InvalidParameterException extends Exception abstract class Parameters { public $aData = null; + private ?array $aParamValues = null; public function __construct() { @@ -26,24 +27,26 @@ abstract class Parameters */ public function GetParamForConfigArray() { - $aDBParams = $this->Get('database'); - $aParamValues = [ - 'mode' => $this->Get('mode'), - 'db_server' => $aDBParams['server'], - 'db_user' => $aDBParams['user'], - 'db_pwd' => $aDBParams['pwd'], - 'db_name' => $aDBParams['name'], - 'new_db_name' => $aDBParams['name'], - 'db_prefix' => $aDBParams['prefix'], - 'db_tls_enabled' => $aDBParams['db_tls_enabled'], - 'db_tls_ca' => $aDBParams['db_tls_ca'], - 'application_path' => $this->Get('url', ''), - 'language' => $this->Get('language', ''), - 'graphviz_path' => $this->Get('graphviz_path', ''), - 'source_dir' => $this->Get('source_dir', ''), - ]; + if (is_null($this->aParamValues)) { + $aDBParams = $this->Get('database'); + $this->aParamValues = [ + 'mode' => $this->Get('mode'), + 'db_server' => $aDBParams['server'], + 'db_user' => $aDBParams['user'], + 'db_pwd' => $aDBParams['pwd'], + 'db_name' => $aDBParams['name'], + 'new_db_name' => $aDBParams['name'], + 'db_prefix' => $aDBParams['prefix'], + 'db_tls_enabled' => $aDBParams['db_tls_enabled'], + 'db_tls_ca' => $aDBParams['db_tls_ca'], + 'application_path' => $this->Get('url', ''), + 'language' => $this->Get('language', ''), + 'graphviz_path' => $this->Get('graphviz_path', ''), + 'source_dir' => $this->Get('source_dir', ''), + ]; + } - return $aParamValues; + return $this->aParamValues; } public function Set($sCode, $value)