From cdaaf02fb0a5f1bd83fdcc82411a1b1ae0dd3613 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Fri, 22 Mar 2024 21:09:44 +0100 Subject: [PATCH] Extract checkWhetherDatabasesExist() Signed-off-by: Kamil Tekiela --- phpstan-baseline.neon | 5 ++++ src/Table/TableMover.php | 57 ++++++++++++++++++++++++---------------- 2 files changed, 39 insertions(+), 23 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index e1aa7485b1..4b1d2ab750 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -14250,6 +14250,11 @@ parameters: count: 2 path: src/Table/TableMover.php + - + message: "#^Parameter \\#1 \\$query of method PhpMyAdmin\\\\DatabaseInterface\\:\\:query\\(\\) expects string, mixed given\\.$#" + count: 1 + path: src/Table/TableMover.php + - message: "#^Parameter \\#1 \\$str of method PhpMyAdmin\\\\DatabaseInterface\\:\\:quoteString\\(\\) expects string, string\\|null given\\.$#" count: 6 diff --git a/src/Table/TableMover.php b/src/Table/TableMover.php index 538dd27ee2..597173eb03 100644 --- a/src/Table/TableMover.php +++ b/src/Table/TableMover.php @@ -60,33 +60,16 @@ class TableMover } } - // Setting required export settings. - $GLOBALS['asfile'] = 1; - - // Ensuring the target database is valid. - $databaseList = $dbi->getDatabaseList(); - if (! $databaseList->exists($sourceDb, $targetDb)) { - if (! $databaseList->exists($sourceDb)) { - $GLOBALS['message'] = Message::rawError( - sprintf( - __('Source database `%s` was not found!'), - htmlspecialchars($sourceDb), - ), - ); - } - - if (! $databaseList->exists($targetDb)) { - $GLOBALS['message'] = Message::rawError( - sprintf( - __('Target database `%s` was not found!'), - htmlspecialchars($targetDb), - ), - ); - } + $missingDatabaseMessage = self::checkWhetherDatabasesExist($dbi, $sourceDb, $targetDb); + if ($missingDatabaseMessage !== null) { + $GLOBALS['message'] = $missingDatabaseMessage; return false; } + // Setting required export settings. + $GLOBALS['asfile'] = 1; + /** * The full name of source table, quoted. */ @@ -526,4 +509,32 @@ class TableMover // Building back the query. return $statement->build() . ';'; } + + private static function checkWhetherDatabasesExist( + DatabaseInterface $dbi, + string $sourceDb, + string $targetDb, + ): Message|null { + $databaseList = $dbi->getDatabaseList(); + + if (! $databaseList->exists($sourceDb)) { + return Message::rawError( + sprintf( + __('Source database `%s` was not found!'), + htmlspecialchars($sourceDb), + ), + ); + } + + if (! $databaseList->exists($targetDb)) { + return Message::rawError( + sprintf( + __('Target database `%s` was not found!'), + htmlspecialchars($targetDb), + ), + ); + } + + return null; + } }