From 347d959f25b94edc3df723a8c8c94f930f79f88a Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Thu, 14 Feb 2019 17:44:17 +0100 Subject: [PATCH 1/2] fixing #6652 Manual installer bricked --- src/Core/Console/AutomaticInstallation.php | 2 +- src/Core/Installer.php | 14 ++++++++------ src/Module/Install.php | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/Core/Console/AutomaticInstallation.php b/src/Core/Console/AutomaticInstallation.php index da078545e3..7f2585e63a 100644 --- a/src/Core/Console/AutomaticInstallation.php +++ b/src/Core/Console/AutomaticInstallation.php @@ -146,7 +146,7 @@ HELP; $installer->resetChecks(); - if (!$installer->checkDB($db_host, $db_user, $db_pass, $db_data)) { + if (!$installer->checkDB($a->getConfig(), $db_host, $db_user, $db_pass, $db_data)) { $errorMessage = $this->extractErrors($installer->getChecks()); throw new RuntimeException($errorMessage); } diff --git a/src/Core/Installer.php b/src/Core/Installer.php index 7e79f29f15..02d9509610 100644 --- a/src/Core/Installer.php +++ b/src/Core/Installer.php @@ -6,6 +6,7 @@ namespace Friendica\Core; use DOMDocument; use Exception; +use Friendica\Core\Config\ConfigCache; use Friendica\Database\DBA; use Friendica\Database\DBStructure; use Friendica\Object\Image; @@ -581,17 +582,18 @@ class Installer /** * Checking the Database connection and if it is available for the current installation * - * @param string $dbhost Hostname/IP of the Friendica Database - * @param string $dbuser Username of the Database connection credentials - * @param string $dbpass Password of the Database connection credentials - * @param string $dbdata Name of the Database + * @param ConfigCache $configCache The configuration cache + * @param string $dbhost Hostname/IP of the Friendica Database + * @param string $dbuser Username of the Database connection credentials + * @param string $dbpass Password of the Database connection credentials + * @param string $dbdata Name of the Database * * @return bool true if the check was successful, otherwise false * @throws Exception */ - public function checkDB($dbhost, $dbuser, $dbpass, $dbdata) + public function checkDB($configCache, $dbhost, $dbuser, $dbpass, $dbdata) { - if (!DBA::connect($dbhost, $dbuser, $dbpass, $dbdata)) { + if (!DBA::connect($configCache, $dbhost, $dbuser, $dbpass, $dbdata)) { $this->addCheck(L10n::t('Could not connect to database.'), false, true, ''); return false; diff --git a/src/Module/Install.php b/src/Module/Install.php index 327e59422c..6948dee6e0 100644 --- a/src/Module/Install.php +++ b/src/Module/Install.php @@ -75,7 +75,7 @@ class Install extends BaseModule $dbdata = Strings::escapeTags(trim(defaults($_POST, 'dbdata', ''))); // If we cannot connect to the database, return to the previous step - if (!self::$installer->checkDB($dbhost, $dbuser, $dbpass, $dbdata)) { + if (!self::$installer->checkDB($a->getConfig(), $dbhost, $dbuser, $dbpass, $dbdata)) { self::$currentWizardStep = self::DATABASE_CONFIG; } @@ -92,7 +92,7 @@ class Install extends BaseModule $adminmail = Strings::escapeTags(trim(defaults($_POST, 'adminmail', ''))); // If we cannot connect to the database, return to the Database config wizard - if (!self::$installer->checkDB($dbhost, $dbuser, $dbpass, $dbdata)) { + if (!self::$installer->checkDB($a->getConfig(), $dbhost, $dbuser, $dbpass, $dbdata)) { self::$currentWizardStep = self::DATABASE_CONFIG; return; } From b321ef776d56d999cf74718c345bcbcaa2c27747 Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Thu, 14 Feb 2019 17:54:34 +0100 Subject: [PATCH 2/2] added type-hint --- src/Core/Installer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Core/Installer.php b/src/Core/Installer.php index 02d9509610..4a287a885f 100644 --- a/src/Core/Installer.php +++ b/src/Core/Installer.php @@ -591,7 +591,7 @@ class Installer * @return bool true if the check was successful, otherwise false * @throws Exception */ - public function checkDB($configCache, $dbhost, $dbuser, $dbpass, $dbdata) + public function checkDB(ConfigCache $configCache, $dbhost, $dbuser, $dbpass, $dbdata) { if (!DBA::connect($configCache, $dbhost, $dbuser, $dbpass, $dbdata)) { $this->addCheck(L10n::t('Could not connect to database.'), false, true, '');