From 3a285fc63e9d8e5e18eb4c3663ad71c5042c6ccc Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Wed, 14 May 2025 07:34:27 +0200 Subject: [PATCH] check connection --- lam/templates/config/mainmanage.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lam/templates/config/mainmanage.php b/lam/templates/config/mainmanage.php index 6c25729ca..d5c9e7935 100644 --- a/lam/templates/config/mainmanage.php +++ b/lam/templates/config/mainmanage.php @@ -1,9 +1,11 @@ configDatabaseUser = $_POST['configDatabaseUser']; $cfg->configDatabasePassword = $_POST['configDatabasePassword']; if ($cfg->configDatabaseType === LAMCfgMain::DATABASE_MYSQL) { + $mySqlConfigOk = true; if (empty($cfg->configDatabaseServer) || !get_preg($cfg->configDatabaseServer, 'hostname')) { $errors[] = _('Please enter a valid database host name.'); + $mySqlConfigOk = false; } if (empty($cfg->configDatabaseName)) { $errors[] = _('Please enter a valid database name.'); + $mySqlConfigOk = false; } if (empty($cfg->configDatabaseUser)) { $errors[] = _('Please enter a valid database user.'); + $mySqlConfigOk = false; } if (empty($cfg->configDatabasePassword)) { $errors[] = _('Please enter a valid database password.'); + $mySqlConfigOk = false; } + if ($mySqlConfigOk) { + try { + $configurationDatabase = new ConfigurationDatabase($cfg); + $configurationDatabase->checkConnection(); + } + catch (Exception $e) { + $errors[] = _('Unable to connect to configuration database.'); + } + } } } // set master password