From 96cf13cac654b774bdcf5709e69ef4917090dbed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Thu, 9 Jan 2025 20:46:07 -0300 Subject: [PATCH] Remove the ajax_reload global variable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces it with a local variable. Signed-off-by: MaurĂ­cio Meneghini Fauth --- phpstan-baseline.neon | 32 +++++---------------- psalm-baseline.xml | 10 ------- src/Controllers/Import/ImportController.php | 17 ++++++----- src/Controllers/Sql/SqlController.php | 8 ------ 4 files changed, 15 insertions(+), 52 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index a0272fe10c..9d83c1af1b 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -2874,18 +2874,6 @@ parameters: count: 6 path: src/Controllers/Import/ImportController.php - - - message: '#^Cannot access offset ''reload'' on mixed\.$#' - identifier: offsetAccess.nonOffsetAccessible - count: 4 - path: src/Controllers/Import/ImportController.php - - - - message: '#^Cannot access offset ''table_name'' on mixed\.$#' - identifier: offsetAccess.nonOffsetAccessible - count: 1 - path: src/Controllers/Import/ImportController.php - - message: '#^Casting to string something that''s already string\.$#' identifier: cast.useless @@ -2907,7 +2895,7 @@ parameters: - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse - count: 1 + count: 2 path: src/Controllers/Import/ImportController.php - @@ -2934,12 +2922,6 @@ parameters: count: 1 path: src/Controllers/Import/ImportController.php - - - message: '#^Only booleans are allowed in an if condition, mixed given\.$#' - identifier: if.condNotBoolean - count: 1 - path: src/Controllers/Import/ImportController.php - - message: '#^Parameter \#2 \$size of method PhpMyAdmin\\Import\\Import\:\:getNextChunk\(\) expects int, float\|int\\|int\<1, max\> given\.$#' identifier: argument.type @@ -2976,6 +2958,12 @@ parameters: count: 1 path: src/Controllers/Import/ImportController.php + - + message: '#^Strict comparison using \=\=\= between false and false will always evaluate to true\.$#' + identifier: identical.alwaysTrue + count: 1 + path: src/Controllers/Import/ImportController.php + - message: '#^Construct empty\(\) is not allowed\. Use more strict comparison\.$#' identifier: empty.notAllowed @@ -3735,12 +3723,6 @@ parameters: count: 1 path: src/Controllers/Sql/SqlController.php - - - message: '#^Cannot access offset ''reload'' on mixed\.$#' - identifier: offsetAccess.nonOffsetAccessible - count: 1 - path: src/Controllers/Sql/SqlController.php - - message: '#^Loose comparison via "\!\=" is not allowed\.$#' identifier: notEqual.notAllowed diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 29c853bea9..ef3d1389e2 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1528,11 +1528,6 @@ - - - - - @@ -1540,7 +1535,6 @@ - @@ -2288,11 +2282,7 @@ getQueryParam('sql_signature')]]> - - - - diff --git a/src/Controllers/Import/ImportController.php b/src/Controllers/Import/ImportController.php index f5c988be57..ef7b7bca39 100644 --- a/src/Controllers/Import/ImportController.php +++ b/src/Controllers/Import/ImportController.php @@ -61,7 +61,6 @@ final class ImportController implements InvocableController public function __invoke(ServerRequest $request): Response { - $GLOBALS['ajax_reload'] ??= null; $GLOBALS['result'] ??= null; ImportSettings::$charsetOfFile = $request->getParsedBodyParamAsString('charset_of_file', ''); @@ -78,7 +77,7 @@ final class ImportController implements InvocableController // default values ResponseRenderer::$reload = false; - $GLOBALS['ajax_reload'] = []; + $ajaxReload = []; Import::$importText = ''; // Are we just executing plain query or sql file? // (eg. non import, but query box/window run) @@ -122,12 +121,12 @@ final class ImportController implements InvocableController // refresh navigation and main panels if (preg_match('/^(DROP)\s+(VIEW|TABLE|DATABASE|SCHEMA)\s+/i', Current::$sqlQuery) === 1) { ResponseRenderer::$reload = true; - $GLOBALS['ajax_reload']['reload'] = true; + $ajaxReload['reload'] = true; } // refresh navigation panel only if (preg_match('/^(CREATE|ALTER)\s+(VIEW|TABLE|DATABASE|SCHEMA)\s+/i', Current::$sqlQuery) === 1) { - $GLOBALS['ajax_reload']['reload'] = true; + $ajaxReload['reload'] = true; } // do a dynamic reload if table is RENAMED @@ -139,8 +138,8 @@ final class ImportController implements InvocableController $renameTableNames, ) === 1 ) { - $GLOBALS['ajax_reload']['reload'] = true; - $GLOBALS['ajax_reload']['table_name'] = Util::unQuote($renameTableNames[2]); + $ajaxReload['reload'] = true; + $ajaxReload['table_name'] = Util::unQuote($renameTableNames[2]); } Current::$sqlQuery = ''; @@ -275,14 +274,14 @@ final class ImportController implements InvocableController // refresh navigation and main panels if (preg_match('/^(DROP)\s+(VIEW|TABLE|DATABASE|SCHEMA)\s+/i', Import::$importText) === 1) { ResponseRenderer::$reload = true; - $GLOBALS['ajax_reload']['reload'] = true; + $ajaxReload['reload'] = true; } // refresh navigation panel only if ( preg_match('/^(CREATE|ALTER)\s+(VIEW|TABLE|DATABASE|SCHEMA)\s+/i', Import::$importText) === 1 ) { - $GLOBALS['ajax_reload']['reload'] = true; + $ajaxReload['reload'] = true; } break; @@ -664,7 +663,7 @@ final class ImportController implements InvocableController ); } - $this->response->addJSON('ajax_reload', $GLOBALS['ajax_reload']); + $this->response->addJSON('ajax_reload', $ajaxReload); $this->response->addHTML($htmlOutput); return $this->response->response(); diff --git a/src/Controllers/Sql/SqlController.php b/src/Controllers/Sql/SqlController.php index 0b9a33d9ca..f903fef853 100644 --- a/src/Controllers/Sql/SqlController.php +++ b/src/Controllers/Sql/SqlController.php @@ -42,7 +42,6 @@ class SqlController implements InvocableController public function __invoke(ServerRequest $request): Response { - $GLOBALS['ajax_reload'] ??= null; $GLOBALS['unlim_num_rows'] ??= null; $GLOBALS['disp_query'] ??= null; $GLOBALS['message_to_show'] ??= null; @@ -59,13 +58,6 @@ class SqlController implements InvocableController 'multi_column_sort.js', ]); - /** - * Set ajax_reload in the response if it was already set - */ - if (isset($GLOBALS['ajax_reload']) && $GLOBALS['ajax_reload']['reload'] === true) { - $this->response->addJSON('ajax_reload', $GLOBALS['ajax_reload']); - } - /** * Defines the url to return to in case of error in a sql statement */