From c53f0a4382d0415badb60d4f2635a41addf5f6aa Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Sat, 23 Feb 2019 12:48:39 +0100 Subject: [PATCH 1/3] Fixing DBA::reconnect() --- src/Database/DBA.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Database/DBA.php b/src/Database/DBA.php index 97e5c63c8..95f721e7c 100644 --- a/src/Database/DBA.php +++ b/src/Database/DBA.php @@ -169,7 +169,7 @@ class DBA public static function reconnect() { self::disconnect(); - $ret = self::connect(self::$configCache, self::$profiler, self::$db_serveraddr, self::$db_user, self::$db_pass, self::$db_name, self::$db_charset); + $ret = self::connect(self::$basedir, self::$configCache, self::$profiler, self::$db_serveraddr, self::$db_user, self::$db_pass, self::$db_name, self::$db_charset); return $ret; } From a73235b6eee32f41895eb5d4098e40d6a363caaf Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Sat, 23 Feb 2019 12:49:56 +0100 Subject: [PATCH 2/3] Fixing DBA::(re-)connect() --- src/Core/Console/AutomaticInstallation.php | 2 +- src/Core/Installer.php | 5 +++-- src/Module/Install.php | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Core/Console/AutomaticInstallation.php b/src/Core/Console/AutomaticInstallation.php index 682d10971..9d1e8506c 100644 --- a/src/Core/Console/AutomaticInstallation.php +++ b/src/Core/Console/AutomaticInstallation.php @@ -146,7 +146,7 @@ HELP; $installer->resetChecks(); - if (!$installer->checkDB($a->getConfigCache(), $a->getProfiler(), $db_host, $db_user, $db_pass, $db_data)) { + if (!$installer->checkDB($a->getBasePath(), $a->getConfigCache(), $a->getProfiler(), $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 ed4721014..b6090bddb 100644 --- a/src/Core/Installer.php +++ b/src/Core/Installer.php @@ -591,6 +591,7 @@ class Installer /** * Checking the Database connection and if it is available for the current installation * + * @param string $basePath The basepath of this call * @param IConfigCache $configCache The configuration cache * @param Profiler $profiler The profiler of this app * @param string $dbhost Hostname/IP of the Friendica Database @@ -601,9 +602,9 @@ class Installer * @return bool true if the check was successful, otherwise false * @throws Exception */ - public function checkDB(IConfigCache $configCache, Profiler $profiler, $dbhost, $dbuser, $dbpass, $dbdata) + public function checkDB($basePath, IConfigCache $configCache, Profiler $profiler, $dbhost, $dbuser, $dbpass, $dbdata) { - if (!DBA::connect($configCache, $profiler, $dbhost, $dbuser, $dbpass, $dbdata)) { + if (!DBA::connect($basePath, $configCache, $profiler, $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 3414e887f..d1e267758 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($a->getConfigCache(), $a->getProfiler(), $dbhost, $dbuser, $dbpass, $dbdata)) { + if (!self::$installer->checkDB($a->getBasePath(), $a->getConfigCache(), $a->getProfiler(), $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($a->getConfigCache(), $a->getProfiler(), $dbhost, $dbuser, $dbpass, $dbdata)) { + if (!self::$installer->checkDB($a->getBasePath(), $a->getConfigCache(), $a->getProfiler(), $dbhost, $dbuser, $dbpass, $dbdata)) { self::$currentWizardStep = self::DATABASE_CONFIG; return; } From 5f17ce574fa37e84592d1dc1518ae34d58654b6f Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Sat, 23 Feb 2019 12:50:52 +0100 Subject: [PATCH 3/3] Fixing DBA::(re-)connect() --- src/Database/DBA.php | 10 +++++----- tests/DatabaseTest.php | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Database/DBA.php b/src/Database/DBA.php index 95f721e7c..897ab2e6e 100644 --- a/src/Database/DBA.php +++ b/src/Database/DBA.php @@ -43,7 +43,7 @@ class DBA /** * @var string */ - private static $basedir; + private static $basePath; private static $server_info = ''; private static $connection; private static $driver; @@ -59,14 +59,14 @@ class DBA private static $db_name = ''; private static $db_charset = ''; - public static function connect($basedir, IConfigCache $configCache, Profiler $profiler, $serveraddr, $user, $pass, $db, $charset = null) + public static function connect($basePath, IConfigCache $configCache, Profiler $profiler, $serveraddr, $user, $pass, $db, $charset = null) { if (!is_null(self::$connection) && self::connected()) { return true; } // We are storing these values for being able to perform a reconnect - self::$basedir = $basedir; + self::$basePath = $basePath; self::$configCache = $configCache; self::$profiler = $profiler; self::$db_serveraddr = $serveraddr; @@ -169,7 +169,7 @@ class DBA public static function reconnect() { self::disconnect(); - $ret = self::connect(self::$basedir, self::$configCache, self::$profiler, self::$db_serveraddr, self::$db_user, self::$db_pass, self::$db_name, self::$db_charset); + $ret = self::connect(self::$basePath, self::$configCache, self::$profiler, self::$db_serveraddr, self::$db_user, self::$db_pass, self::$db_name, self::$db_charset); return $ret; } @@ -1039,7 +1039,7 @@ class DBA * This process must only be started once, since the value is cached. */ private static function buildRelationData() { - $definition = DBStructure::definition(self::$basedir); + $definition = DBStructure::definition(self::$basePath); foreach ($definition AS $table => $structure) { foreach ($structure['fields'] AS $field => $field_struct) { diff --git a/tests/DatabaseTest.php b/tests/DatabaseTest.php index bb87cf36d..3ff4c6fe1 100644 --- a/tests/DatabaseTest.php +++ b/tests/DatabaseTest.php @@ -40,14 +40,14 @@ abstract class DatabaseTest extends MockedTest $this->markTestSkipped('Please set the MYSQL_* environment variables to your test database credentials.'); } - $basedir = BasePath::create(dirname(__DIR__)); - $configLoader = new Cache\ConfigCacheLoader($basedir); + $basePath = BasePath::create(dirname(__DIR__)); + $configLoader = new Cache\ConfigCacheLoader($basePath); $config = Factory\ConfigFactory::createCache($configLoader); $profiler = \Mockery::mock(Profiler::class); DBA::connect( - $basedir, + $basePath, $config, $profiler, getenv('MYSQL_HOST'),