Create UrlParams::$params

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
This commit is contained in:
Kamil Tekiela 2024-11-10 18:02:54 +00:00 committed by Maurício Meneghini Fauth
parent 9ccec4b4c1
commit 039481df30
41 changed files with 174 additions and 486 deletions

View File

@ -1549,11 +1549,6 @@ parameters:
count: 1
path: src/Controllers/Database/ExportController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Controllers/Database/ExportController.php
-
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
count: 2
@ -1663,11 +1658,6 @@ parameters:
count: 3
path: src/Controllers/Database/RoutinesController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Database/RoutinesController.php
-
message: "#^Parameter \\#1 \\$string of function htmlentities expects string, mixed given\\.$#"
count: 3
@ -1711,11 +1701,6 @@ parameters:
count: 1
path: src/Controllers/Database/SearchController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Controllers/Database/SearchController.php
-
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
count: 1
@ -1967,26 +1952,11 @@ parameters:
count: 1
path: src/Controllers/Database/TrackingController.php
-
message: "#^Cannot access offset 'back' on mixed\\.$#"
count: 1
path: src/Controllers/Database/TrackingController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Controllers/Database/TrackingController.php
-
message: "#^Parameter \\#2 \\$selected of method PhpMyAdmin\\\\Tracking\\\\Tracking\\:\\:createTrackingForMultipleTables\\(\\) expects array, mixed given\\.$#"
count: 1
path: src/Controllers/Database/TrackingController.php
-
message: "#^Parameter \\#2 \\$urlParams of method PhpMyAdmin\\\\Tracking\\\\Tracking\\:\\:getHtmlForDbTrackingTables\\(\\) expects array, mixed given\\.$#"
count: 1
path: src/Controllers/Database/TrackingController.php
-
message: """
#^Call to deprecated method getInstance\\(\\) of class PhpMyAdmin\\\\Config\\:
@ -2311,21 +2281,11 @@ parameters:
count: 4
path: src/Controllers/Import/ImportController.php
-
message: "#^Cannot access offset 'local_import_file' on mixed\\.$#"
count: 1
path: src/Controllers/Import/ImportController.php
-
message: "#^Cannot access offset 'message' on mixed\\.$#"
count: 6
path: src/Controllers/Import/ImportController.php
-
message: "#^Cannot access offset 'offset' on mixed\\.$#"
count: 1
path: src/Controllers/Import/ImportController.php
-
message: "#^Cannot access offset 'reload' on mixed\\.$#"
count: 5
@ -2336,11 +2296,6 @@ parameters:
count: 1
path: src/Controllers/Import/ImportController.php
-
message: "#^Cannot access offset 'timeout_passed' on mixed\\.$#"
count: 1
path: src/Controllers/Import/ImportController.php
-
message: "#^Cannot call method getDisplay\\(\\) on mixed\\.$#"
count: 1
@ -2371,11 +2326,6 @@ parameters:
count: 1
path: src/Controllers/Import/ImportController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 2
path: src/Controllers/Import/ImportController.php
-
message: "#^Parameter \\#1 \\$sqlQuery of method PhpMyAdmin\\\\Import\\\\Import\\:\\:handleRollbackRequest\\(\\) expects string, mixed given\\.$#"
count: 1
@ -2552,11 +2502,6 @@ parameters:
count: 1
path: src/Controllers/Operations/DatabaseController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Controllers/Operations/DatabaseController.php
-
message: "#^Cannot call method isSuccess\\(\\) on mixed\\.$#"
count: 1
@ -2595,16 +2540,6 @@ parameters:
count: 1
path: src/Controllers/Operations/TableController.php
-
message: "#^Cannot access offset 'back' on mixed\\.$#"
count: 2
path: src/Controllers/Operations/TableController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 2
path: src/Controllers/Operations/TableController.php
-
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
count: 9
@ -2620,16 +2555,6 @@ parameters:
count: 1
path: src/Controllers/Operations/TableController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Operations/TableController.php
-
message: "#^Parameter \\#1 \\$urlParams of method PhpMyAdmin\\\\Operations\\:\\:getForeignersForReferentialIntegrityCheck\\(\\) expects array, mixed given\\.$#"
count: 1
path: src/Controllers/Operations/TableController.php
-
message: "#^Parameter \\#2 \\$sqlQuery of static method PhpMyAdmin\\\\Html\\\\Generator\\:\\:getMessage\\(\\) expects string\\|null, mixed given\\.$#"
count: 3
@ -2648,21 +2573,6 @@ parameters:
count: 1
path: src/Controllers/Operations/ViewController.php
-
message: "#^Cannot access offset 'back' on mixed\\.$#"
count: 1
path: src/Controllers/Operations/ViewController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Controllers/Operations/ViewController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Operations/ViewController.php
-
message: "#^Parameter \\#2 \\$sqlQuery of static method PhpMyAdmin\\\\Html\\\\Generator\\:\\:getMessage\\(\\) expects string\\|null, mixed given\\.$#"
count: 1
@ -3378,16 +3288,6 @@ parameters:
count: 1
path: src/Controllers/Table/AddFieldController.php
-
message: "#^Cannot access offset 'db' on mixed\\.$#"
count: 1
path: src/Controllers/Table/ChangeController.php
-
message: "#^Cannot access offset 'table' on mixed\\.$#"
count: 1
path: src/Controllers/Table/ChangeController.php
-
message: "#^Cannot access offset \\(int\\|string\\) on mixed\\.$#"
count: 1
@ -3418,11 +3318,6 @@ parameters:
count: 1
path: src/Controllers/Table/ChangeController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/ChangeController.php
-
message: "#^Parameter \\#1 \\$rowId of method PhpMyAdmin\\\\InsertEdit\\:\\:getHtmlForIgnoreOption\\(\\) expects int, \\(int\\<1, max\\>\\|string\\) given\\.$#"
count: 1
@ -3438,16 +3333,6 @@ parameters:
count: 1
path: src/Controllers/Table/ChangeController.php
-
message: "#^Parameter \\#1 \\$urlParams of method PhpMyAdmin\\\\Controllers\\\\Table\\\\ChangeController\\:\\:urlParamsInEditMode\\(\\) expects array, mixed given\\.$#"
count: 1
path: src/Controllers/Table/ChangeController.php
-
message: "#^Parameter \\#1 \\$urlParams of method PhpMyAdmin\\\\InsertEdit\\:\\:getHtmlForInsertEditRow\\(\\) expects array, mixed given\\.$#"
count: 1
path: src/Controllers/Table/ChangeController.php
-
message: "#^Parameter \\#1 \\$value of function count expects array\\|Countable, mixed given\\.$#"
count: 2
@ -3493,11 +3378,6 @@ parameters:
count: 1
path: src/Controllers/Table/ChangeController.php
-
message: "#^Parameter \\#5 \\$errorUrl of method PhpMyAdmin\\\\InsertEdit\\:\\:getFormParametersForInsertForm\\(\\) expects string, mixed given\\.$#"
count: 1
path: src/Controllers/Table/ChangeController.php
-
message: "#^Parameter \\#7 \\$isUpload of method PhpMyAdmin\\\\InsertEdit\\:\\:getHtmlForInsertEditRow\\(\\) expects bool, mixed given\\.$#"
count: 1
@ -3536,11 +3416,6 @@ parameters:
count: 1
path: src/Controllers/Table/ChartController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/ChartController.php
-
message: "#^Parameter \\#1 \\$query of method PhpMyAdmin\\\\DatabaseInterface\\:\\:tryQuery\\(\\) expects string, mixed given\\.$#"
count: 1
@ -3609,11 +3484,6 @@ parameters:
count: 1
path: src/Controllers/Table/DeleteConfirmController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/DeleteConfirmController.php
-
message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#"
count: 1
@ -3700,16 +3570,6 @@ parameters:
count: 1
path: src/Controllers/Table/ExportController.php
-
message: "#^Cannot access offset 'back' on mixed\\.$#"
count: 1
path: src/Controllers/Table/ExportController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Controllers/Table/ExportController.php
-
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
count: 3
@ -3720,11 +3580,6 @@ parameters:
count: 1
path: src/Controllers/Table/ExportController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/ExportController.php
-
message: "#^Parameter \\#2 \\$list of static method PhpMyAdmin\\\\SqlParser\\\\Utils\\\\Query\\:\\:replaceClauses\\(\\) expects PhpMyAdmin\\\\SqlParser\\\\TokensList, PhpMyAdmin\\\\SqlParser\\\\TokensList\\|null given\\.$#"
count: 1
@ -3768,11 +3623,6 @@ parameters:
count: 16
path: src/Controllers/Table/FindReplaceController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/FindReplaceController.php
-
message: "#^Parameter \\#1 \\$str of method PhpMyAdmin\\\\DatabaseInterface\\:\\:quoteString\\(\\) expects string, mixed given\\.$#"
count: 2
@ -3796,16 +3646,6 @@ parameters:
count: 3
path: src/Controllers/Table/GisVisualizationController.php
-
message: "#^Cannot access offset 'back' on mixed\\.$#"
count: 1
path: src/Controllers/Table/GisVisualizationController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Controllers/Table/GisVisualizationController.php
-
message: "#^Cannot access offset 'max_rows' on mixed\\.$#"
count: 1
@ -3816,16 +3656,6 @@ parameters:
count: 1
path: src/Controllers/Table/GisVisualizationController.php
-
message: "#^Cannot access offset 'sql_query' on mixed\\.$#"
count: 1
path: src/Controllers/Table/GisVisualizationController.php
-
message: "#^Cannot access offset 'sql_signature' on mixed\\.$#"
count: 1
path: src/Controllers/Table/GisVisualizationController.php
-
message: "#^Cannot cast mixed to int\\.$#"
count: 3
@ -3844,16 +3674,6 @@ parameters:
count: 1
path: src/Controllers/Table/ImportController.php
-
message: "#^Cannot access offset 'back' on mixed\\.$#"
count: 1
path: src/Controllers/Table/ImportController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Controllers/Table/ImportController.php
-
message: "#^Cannot access offset 'handler' on mixed\\.$#"
count: 2
@ -3874,11 +3694,6 @@ parameters:
count: 1
path: src/Controllers/Table/ImportController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/ImportController.php
-
message: """
#^Call to deprecated method getInstance\\(\\) of class PhpMyAdmin\\\\Config\\:
@ -3887,11 +3702,6 @@ parameters:
count: 1
path: src/Controllers/Table/IndexRenameController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/IndexRenameController.php
-
message: """
#^Call to deprecated method getInstance\\(\\) of class PhpMyAdmin\\\\Config\\:
@ -3925,11 +3735,6 @@ parameters:
count: 1
path: src/Controllers/Table/IndexesController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/IndexesController.php
-
message: "#^Parameter \\#1 \\$value of function count expects array\\|Countable, mixed given\\.$#"
count: 2
@ -4096,11 +3901,6 @@ parameters:
count: 2
path: src/Controllers/Table/ReplaceController.php
-
message: "#^Cannot access offset 'after_insert' on mixed\\.$#"
count: 1
path: src/Controllers/Table/ReplaceController.php
-
message: "#^Cannot access offset 'multi_edit' on mixed\\.$#"
count: 11
@ -4113,11 +3913,6 @@ parameters:
-
message: "#^Cannot access offset 'sql_query' on mixed\\.$#"
count: 2
path: src/Controllers/Table/ReplaceController.php
-
message: "#^Cannot access offset 'where_clause' on mixed\\.$#"
count: 1
path: src/Controllers/Table/ReplaceController.php
@ -4226,11 +4021,6 @@ parameters:
count: 1
path: src/Controllers/Table/ReplaceController.php
-
message: "#^Parameter \\#1 \\$urlParams of method PhpMyAdmin\\\\InsertEdit\\:\\:getErrorUrl\\(\\) expects array, mixed given\\.$#"
count: 1
path: src/Controllers/Table/ReplaceController.php
-
message: "#^Parameter \\#2 \\$relationField of method PhpMyAdmin\\\\InsertEdit\\:\\:getLinkForRelationalDisplayField\\(\\) expects string, \\(int\\|string\\) given\\.$#"
count: 1
@ -4319,11 +4109,6 @@ parameters:
count: 1
path: src/Controllers/Table/SearchController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/SearchController.php
-
message: "#^Parameter \\#1 \\$string of function strtoupper expects string, string\\|null given\\.$#"
count: 1
@ -4455,11 +4240,6 @@ parameters:
count: 1
path: src/Controllers/Table/Structure/PrimaryController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/Structure/PrimaryController.php
-
message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#"
count: 1
@ -4712,46 +4492,16 @@ parameters:
count: 1
path: src/Controllers/Table/TrackingController.php
-
message: "#^Cannot access offset 'back' on mixed\\.$#"
count: 1
path: src/Controllers/Table/TrackingController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Controllers/Table/TrackingController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/TrackingController.php
-
message: "#^Parameter \\#2 \\$entries of method PhpMyAdmin\\\\Tracking\\\\Tracking\\:\\:getDownloadInfoForExport\\(\\) expects array\\<int, array\\<string, int\\|string\\>\\>, array given\\.$#"
count: 1
path: src/Controllers/Table/TrackingController.php
-
message: "#^Parameter \\#2 \\$urlParams of method PhpMyAdmin\\\\Tracking\\\\Tracking\\:\\:getHtmlForTrackingReport\\(\\) expects array, mixed given\\.$#"
count: 1
path: src/Controllers/Table/TrackingController.php
-
message: "#^Parameter \\#3 \\$urlParams of method PhpMyAdmin\\\\Tracking\\\\Tracking\\:\\:getHtmlForMainPage\\(\\) expects array, mixed given\\.$#"
count: 1
path: src/Controllers/Table/TrackingController.php
-
message: "#^Parameter \\#3 \\$version of method PhpMyAdmin\\\\Tracking\\\\Tracking\\:\\:deleteTrackingVersion\\(\\) expects string, mixed given\\.$#"
count: 1
path: src/Controllers/Table/TrackingController.php
-
message: "#^Parameter \\#4 \\$params of method PhpMyAdmin\\\\Tracking\\\\Tracking\\:\\:getHtmlForSchemaSnapshot\\(\\) expects array, mixed given\\.$#"
count: 1
path: src/Controllers/Table/TrackingController.php
-
message: """
#^Call to deprecated method getInstance\\(\\) of class PhpMyAdmin\\\\Config\\:
@ -4825,11 +4575,6 @@ parameters:
count: 2
path: src/Controllers/Table/ZoomSearchController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Table/ZoomSearchController.php
-
message: "#^Parameter \\#1 \\$sqlQuery of static method PhpMyAdmin\\\\Core\\:\\:checkSqlQuerySignature\\(\\) expects string, mixed given\\.$#"
count: 1
@ -4921,11 +4666,6 @@ parameters:
count: 1
path: src/Controllers/Triggers/IndexController.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
count: 1
path: src/Controllers/Triggers/IndexController.php
-
message: "#^Parameter \\#1 \\$string of function mb_strtoupper expects string, mixed given\\.$#"
count: 1
@ -4972,26 +4712,6 @@ parameters:
count: 1
path: src/Controllers/View/CreateController.php
-
message: "#^Cannot access offset 'back' on mixed\\.$#"
count: 1
path: src/Controllers/View/CreateController.php
-
message: "#^Cannot access offset 'db' on mixed\\.$#"
count: 1
path: src/Controllers/View/CreateController.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Controllers/View/CreateController.php
-
message: "#^Cannot access offset 'reload' on mixed\\.$#"
count: 1
path: src/Controllers/View/CreateController.php
-
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
count: 3
@ -7687,16 +7407,6 @@ parameters:
count: 1
path: src/Http/Middleware/ConfigLoading.php
-
message: "#^Cannot access offset 'server' on mixed\\.$#"
count: 1
path: src/Http/Middleware/CurrentServerGlobalSetting.php
-
message: "#^Cannot access offset 'table' on mixed\\.$#"
count: 1
path: src/Http/Middleware/DatabaseAndTableSetting.php
-
message: """
#^Call to deprecated method getInstance\\(\\) of class PhpMyAdmin\\\\DatabaseInterface\\:
@ -7754,11 +7464,6 @@ parameters:
count: 1
path: src/Http/Middleware/TokenRequestParamChecking.php
-
message: "#^Cannot access offset 'goto' on mixed\\.$#"
count: 1
path: src/Http/Middleware/UrlParamsSetting.php
-
message: "#^Parameter \\#1 \\$page of static method PhpMyAdmin\\\\Core\\:\\:checkPageValidity\\(\\) expects string, mixed given\\.$#"
count: 2
@ -11923,21 +11628,6 @@ parameters:
count: 1
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset 'primary_add_user' on mixed\\.$#"
count: 1
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset 'replica_clear_screen' on mixed\\.$#"
count: 2
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset 'replica_configure' on mixed\\.$#"
count: 1
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset 'sr_action_info' on mixed\\.$#"
count: 6
@ -11948,31 +11638,6 @@ parameters:
count: 7
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset 'sr_replica_action' on mixed\\.$#"
count: 7
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset 'sr_replica_control…' on mixed\\.$#"
count: 3
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset 'sr_replica_server…' on mixed\\.$#"
count: 1
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset 'sr_replica_skip…' on mixed\\.$#"
count: 1
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset 'sr_take_action' on mixed\\.$#"
count: 2
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset string on mixed\\.$#"
count: 1
@ -11994,12 +11659,12 @@ parameters:
path: src/Replication/ReplicationGui.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, mixed given\\.$#"
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommon\\(\\) expects array\\<string, bool\\|int\\|string\\>, array given\\.$#"
count: 6
path: src/Replication/ReplicationGui.php
-
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommonRaw\\(\\) expects array\\<int\\|string, bool\\|int\\|string\\>, mixed given\\.$#"
message: "#^Parameter \\#1 \\$params of static method PhpMyAdmin\\\\Url\\:\\:getCommonRaw\\(\\) expects array\\<int\\|string, bool\\|int\\|string\\>, array given\\.$#"
count: 1
path: src/Replication/ReplicationGui.php
@ -12018,11 +11683,6 @@ parameters:
count: 1
path: src/Replication/ReplicationGui.php
-
message: "#^Cannot access offset 'primary_connection' on mixed\\.$#"
count: 1
path: src/Replication/ReplicationInfo.php
-
message: "#^Cannot access offset string on mixed\\.$#"
count: 1
@ -13987,6 +13647,11 @@ parameters:
count: 1
path: src/Url.php
-
message: "#^Property PhpMyAdmin\\\\UrlParams\\:\\:\\$params type has no value type specified in iterable type array\\.$#"
count: 1
path: src/UrlParams.php
-
message: """
#^Call to deprecated method getInstance\\(\\) of class PhpMyAdmin\\\\DatabaseInterface\\:
@ -16605,6 +16270,11 @@ parameters:
count: 1
path: tests/unit/Html/MySQLDocumentationTest.php
-
message: "#^Static property PhpMyAdmin\\\\UrlParams\\:\\:\\$params \\(array\\) does not accept null\\.$#"
count: 1
path: tests/unit/Http/Middleware/UrlParamsSettingTest.php
-
message: "#^Call to static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertTrue\\(\\) with true will always evaluate to true\\.$#"
count: 1

View File

@ -1841,7 +1841,7 @@
<code><![CDATA[$GLOBALS['result']]]></code>
</InvalidArrayOffset>
<MixedArgumentTypeCoercion>
<code><![CDATA[$GLOBALS['urlParams']]]></code>
<code><![CDATA[UrlParams::$params]]></code>
</MixedArgumentTypeCoercion>
<MixedArrayAssignment>
<code><![CDATA[$_SESSION['Import_message']['go_back_url']]]></code>
@ -2916,8 +2916,12 @@
<code><![CDATA[$GLOBALS['current_result']]]></code>
</PossiblyInvalidArgument>
<PossiblyNullArgument>
<code><![CDATA[$GLOBALS['goto']]]></code>
<code><![CDATA[$isUpload]]></code>
</PossiblyNullArgument>
<PossiblyNullOperand>
<code><![CDATA[$GLOBALS['goto']]]></code>
</PossiblyNullOperand>
<RiskyTruthyFalsyComparison>
<code><![CDATA[$currentRow]]></code>
<code><![CDATA[empty($GLOBALS['disp_message'])]]></code>
@ -2948,7 +2952,7 @@
<code><![CDATA[$GLOBALS['errorUrl']]]></code>
</InvalidArrayOffset>
<MixedArgumentTypeCoercion>
<code><![CDATA[$GLOBALS['urlParams']]]></code>
<code><![CDATA[UrlParams::$params]]></code>
</MixedArgumentTypeCoercion>
<MixedAssignment>
<code><![CDATA[$GLOBALS['errorUrl']]]></code>
@ -3431,11 +3435,11 @@
<code><![CDATA[$request->getParsedBodyParam('fields_name')['multi_edit']]]></code>
</MixedArrayAccess>
<MixedArrayAssignment>
<code><![CDATA[$GLOBALS['urlParams']['where_clause'][]]]></code>
<code><![CDATA[$extraData['relations']]]></code>
<code><![CDATA[$extraData['relations'][$cellIndex]]]></code>
<code><![CDATA[$multiEditColumns[$key]]]></code>
<code><![CDATA[$multiEditColumns[$key]]]></code>
<code><![CDATA[UrlParams::$params['where_clause'][]]]></code>
</MixedArrayAssignment>
<MixedArrayOffset>
<code><![CDATA[$mimeMap[$columnName]]]></code>
@ -3447,7 +3451,6 @@
<code><![CDATA[$GLOBALS['query']]]></code>
<code><![CDATA[$GLOBALS['unsaved_values']]]></code>
<code><![CDATA[$GLOBALS['unsaved_values'][$rowNumber]]]></code>
<code><![CDATA[$GLOBALS['urlParams']['where_clause'][]]]></code>
<code><![CDATA[$clauseIsUnique]]></code>
<code><![CDATA[$columnName]]></code>
<code><![CDATA[$columnName]]></code>
@ -3470,13 +3473,11 @@
<code><![CDATA[$submitType]]></code>
<code><![CDATA[$whereClause]]></code>
<code><![CDATA[$whereClause]]></code>
<code><![CDATA[UrlParams::$params['where_clause'][]]]></code>
</MixedAssignment>
<MixedOperand>
<code><![CDATA[$relationFieldValue]]></code>
</MixedOperand>
<PossiblyNullArgument>
<code><![CDATA[$GLOBALS['urlParams']]]></code>
</PossiblyNullArgument>
<PossiblyUndefinedVariable>
<code><![CDATA[$extraData]]></code>
</PossiblyUndefinedVariable>
@ -9596,13 +9597,13 @@
<code><![CDATA[$successMessage]]></code>
</MixedArgument>
<MixedArgumentTypeCoercion>
<code><![CDATA[$GLOBALS['urlParams']]]></code>
<code><![CDATA[$urlParams]]></code>
<code><![CDATA[$urlParams]]></code>
<code><![CDATA[$urlParams]]></code>
<code><![CDATA[$urlParams]]></code>
<code><![CDATA[$urlParams]]></code>
<code><![CDATA[$urlParams]]></code>
<code><![CDATA[UrlParams::$params]]></code>
</MixedArgumentTypeCoercion>
<MixedArrayAccess>
<code><![CDATA[$serverReplication[0][$variable]]]></code>

View File

@ -110,7 +110,6 @@
tbl_storage_engine: string,
token_mismatch: bool,
token_provided: bool,
urlParams: array,
username: string,
xml_export_triggers: bool,
xml_export_views: bool

View File

@ -18,6 +18,7 @@ use PhpMyAdmin\Message;
use PhpMyAdmin\Plugins;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -38,7 +39,6 @@ final class ExportController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['table_select'] ??= null;
$GLOBALS['unlim_num_rows'] ??= null;
$GLOBALS['errorUrl'] ??= null;
@ -73,7 +73,7 @@ final class ExportController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams']['goto'] = Url::getFromRoute('/database/export');
UrlParams::$params['goto'] = Url::getFromRoute('/database/export');
$tableNames = $this->export->getTableNames(Current::$database);
$GLOBALS['num_tables'] = count($tableNames);

View File

@ -19,6 +19,7 @@ use PhpMyAdmin\Message;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\UserPrivilegesFactory;
use PhpMyAdmin\Util;
@ -51,7 +52,6 @@ final class RoutinesController implements InvocableController
{
$GLOBALS['errors'] ??= null;
$GLOBALS['errorUrl'] ??= null;
$GLOBALS['urlParams'] ??= null;
$this->response->addScriptFiles(['database/routines.js', 'sql.js']);
@ -69,9 +69,9 @@ final class RoutinesController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption($config->settings['DefaultTabTable'], 'table');
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {

View File

@ -18,6 +18,7 @@ use PhpMyAdmin\Message;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -35,7 +36,6 @@ final class SearchController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['errorUrl'] ??= null;
$GLOBALS['urlParams'] ??= null;
$this->response->addScriptFiles(['database/search.js', 'sql.js', 'makegrid.js']);
@ -81,7 +81,7 @@ final class SearchController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams']['goto'] = Url::getFromRoute('/database/search');
UrlParams::$params['goto'] = Url::getFromRoute('/database/search');
// Create a database search instance
$databaseSearch = new Search($this->dbi, Current::$database, $this->template);

View File

@ -18,6 +18,7 @@ use PhpMyAdmin\Query\Utilities;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Tracking\Tracking;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -39,7 +40,6 @@ final class TrackingController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
$this->response->addScriptFiles(['vendor/jquery/jquery.tablesorter.js', 'database/tracking.js']);
@ -66,8 +66,8 @@ final class TrackingController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams']['goto'] = Url::getFromRoute('/table/tracking');
$GLOBALS['urlParams']['back'] = Url::getFromRoute('/database/tracking');
UrlParams::$params['goto'] = Url::getFromRoute('/table/tracking');
UrlParams::$params['back'] = Url::getFromRoute('/database/tracking');
$isSystemSchema = Utilities::isSystemSchema(Current::$database);
@ -105,7 +105,7 @@ final class TrackingController implements InvocableController
} elseif ($request->getParsedBodyParam('submit_mult') === 'track') {
$this->response->render('create_tracking_version', [
'route' => '/database/tracking',
'url_params' => $GLOBALS['urlParams'],
'url_params' => UrlParams::$params,
'last_version' => 0,
'db' => Current::$database,
'selected' => $selectedTable,
@ -138,7 +138,7 @@ final class TrackingController implements InvocableController
$this->response->addHTML($this->tracking->getHtmlForDbTrackingTables(
Current::$database,
$GLOBALS['urlParams'],
UrlParams::$params,
));
// If available print out database log

View File

@ -26,6 +26,7 @@ use PhpMyAdmin\Plugins\Import\ImportFormat;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Sql;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use PhpMyAdmin\Utils\ForeignKey;
use Throwable;
@ -66,7 +67,6 @@ final class ImportController implements InvocableController
$GLOBALS['import_text'] ??= null;
$GLOBALS['message'] ??= null;
$GLOBALS['errorUrl'] ??= null;
$GLOBALS['urlParams'] ??= null;
$GLOBALS['error'] ??= null;
$GLOBALS['result'] ??= null;
@ -197,11 +197,11 @@ final class ImportController implements InvocableController
}
if (Current::$table !== '' && Current::$database !== '') {
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
} elseif (Current::$database !== '') {
$GLOBALS['urlParams'] = ['db' => Current::$database];
UrlParams::$params = ['db' => Current::$database];
} else {
$GLOBALS['urlParams'] = [];
UrlParams::$params = [];
}
// Create error and goto url
@ -221,7 +221,7 @@ final class ImportController implements InvocableController
}
}
$GLOBALS['errorUrl'] = $GLOBALS['goto'] . Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] = $GLOBALS['goto'] . Url::getCommon(UrlParams::$params, '&');
$_SESSION['Import_message']['go_back_url'] = $GLOBALS['errorUrl'];
if (Current::$database !== '') {
@ -553,13 +553,13 @@ final class ImportController implements InvocableController
// Did we hit timeout? Tell it user.
if (ImportSettings::$timeoutPassed) {
$GLOBALS['urlParams']['timeout_passed'] = '1';
$GLOBALS['urlParams']['offset'] = ImportSettings::$offset;
UrlParams::$params['timeout_passed'] = '1';
UrlParams::$params['offset'] = ImportSettings::$offset;
if (ImportSettings::$localImportFile !== '') {
$GLOBALS['urlParams']['local_import_file'] = ImportSettings::$localImportFile;
UrlParams::$params['local_import_file'] = ImportSettings::$localImportFile;
}
$importUrl = $GLOBALS['errorUrl'] = $GLOBALS['goto'] . Url::getCommon($GLOBALS['urlParams'], '&');
$importUrl = $GLOBALS['errorUrl'] = $GLOBALS['goto'] . Url::getCommon(UrlParams::$params, '&');
$GLOBALS['message'] = Message::error(
__(

View File

@ -24,6 +24,7 @@ use PhpMyAdmin\Plugins;
use PhpMyAdmin\Query\Utilities;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\UserPrivilegesFactory;
use PhpMyAdmin\Util;
@ -50,7 +51,6 @@ final class DatabaseController implements InvocableController
{
$GLOBALS['message'] ??= null;
$GLOBALS['errorUrl'] ??= null;
$GLOBALS['urlParams'] ??= null;
$GLOBALS['single_table'] ??= null;
$userPrivileges = $this->userPrivilegesFactory->getPrivileges();
@ -247,7 +247,7 @@ final class DatabaseController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams']['goto'] = Url::getFromRoute('/database/operations');
UrlParams::$params['goto'] = Url::getFromRoute('/database/operations');
$oldMessage = '';
if (isset($GLOBALS['message'])) {

View File

@ -26,6 +26,7 @@ use PhpMyAdmin\Query\Utilities;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\StorageEngine;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\UserPrivilegesFactory;
use PhpMyAdmin\Util;
@ -54,7 +55,6 @@ final class TableController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['auto_increment'] ??= null;
$GLOBALS['message_to_show'] ??= null;
$GLOBALS['errorUrl'] ??= null;
@ -74,10 +74,10 @@ final class TableController implements InvocableController
}
$isSystemSchema = Utilities::isSystemSchema(Current::$database);
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$config = Config::getInstance();
$GLOBALS['errorUrl'] = Util::getScriptNameForOption($config->settings['DefaultTabTable'], 'table');
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {
@ -107,7 +107,7 @@ final class TableController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams']['goto'] = $GLOBALS['urlParams']['back'] = Url::getFromRoute('/table/operations');
UrlParams::$params['goto'] = UrlParams::$params['back'] = Url::getFromRoute('/table/operations');
$relationParameters = $this->relation->getRelationParameters();
@ -400,7 +400,7 @@ final class TableController implements InvocableController
unset($newMessage);
}
$GLOBALS['urlParams']['goto'] = $GLOBALS['urlParams']['back'] = Url::getFromRoute('/table/operations');
UrlParams::$params['goto'] = UrlParams::$params['back'] = Url::getFromRoute('/table/operations');
$columns = $this->dbi->getColumns(Current::$database, Current::$table);
@ -482,14 +482,14 @@ final class TableController implements InvocableController
}
$foreigners = $this->operations->getForeignersForReferentialIntegrityCheck(
$GLOBALS['urlParams'],
UrlParams::$params,
$relationParameters->relationFeature !== null,
);
$this->response->render('table/operations/index', [
'db' => Current::$database,
'table' => Current::$table,
'url_params' => $GLOBALS['urlParams'],
'url_params' => UrlParams::$params,
'columns' => $columns,
'hide_order_table' => $hideOrderTable,
'table_comment' => $comment,

View File

@ -18,6 +18,7 @@ use PhpMyAdmin\Message;
use PhpMyAdmin\MessageType;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -39,7 +40,6 @@ final class ViewController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$tableObject = $this->dbi->getTable(Current::$database, Current::$table);
$GLOBALS['errorUrl'] ??= null;
@ -49,12 +49,12 @@ final class ViewController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabTable'],
'table',
);
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {
@ -84,7 +84,7 @@ final class ViewController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams']['goto'] = $GLOBALS['urlParams']['back'] = Url::getFromRoute('/view/operations');
UrlParams::$params['goto'] = UrlParams::$params['back'] = Url::getFromRoute('/view/operations');
$message = new Message();
$type = MessageType::Success;
@ -137,7 +137,7 @@ final class ViewController implements InvocableController
$this->response->render('table/operations/view', [
'db' => Current::$database,
'table' => Current::$table,
'url_params' => $GLOBALS['urlParams'],
'url_params' => UrlParams::$params,
]);
return $this->response->response();

View File

@ -15,6 +15,7 @@ use PhpMyAdmin\Replication\ReplicationGui;
use PhpMyAdmin\Replication\ReplicationInfo;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use function is_array;
@ -32,7 +33,6 @@ final class ReplicationController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
$hasReplicaClearScreen = (bool) $request->getParsedBodyParamAsStringOrNull('replica_clear_screen');
@ -56,7 +56,7 @@ final class ReplicationController implements InvocableController
$urlParams = $request->getParsedBodyParam('url_params');
if (is_array($urlParams)) {
$GLOBALS['urlParams'] = $urlParams;
UrlParams::$params = $urlParams;
}
if ($this->dbi->isSuperUser()) {
@ -113,7 +113,7 @@ final class ReplicationController implements InvocableController
}
$this->response->render('server/replication/index', [
'url_params' => $GLOBALS['urlParams'],
'url_params' => UrlParams::$params,
'is_super_user' => $this->dbi->isSuperUser(),
'error_messages' => $errorMessages,
'is_primary' => $primaryInfo['status'],

View File

@ -21,6 +21,7 @@ use PhpMyAdmin\Message;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use function __;
use function array_fill;
@ -51,7 +52,6 @@ class ChangeController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['disp_message'] ??= null;
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
$GLOBALS['where_clause'] ??= null;
$GLOBALS['unsaved_values'] ??= null;
@ -135,17 +135,17 @@ class ChangeController implements InvocableController
/** @var mixed $sqlQuery */
$sqlQuery = $request->getParsedBodyParam('sql_query');
$GLOBALS['urlParams'] = ['db' => Current::$database, 'sql_query' => is_string($sqlQuery) ? $sqlQuery : ''];
UrlParams::$params = ['db' => Current::$database, 'sql_query' => is_string($sqlQuery) ? $sqlQuery : ''];
if (str_starts_with($GLOBALS['goto'] ?? '', 'index.php?route=/table')) {
$GLOBALS['urlParams']['table'] = Current::$table;
UrlParams::$params['table'] = Current::$table;
}
$GLOBALS['errorUrl'] = $GLOBALS['goto'] . Url::getCommon(
$GLOBALS['urlParams'],
UrlParams::$params,
! str_contains($GLOBALS['goto'], '?') ? '?' : '&',
);
unset($GLOBALS['urlParams']);
unset(UrlParams::$params);
$commentsMap = $this->insertEdit->getCommentsMap(Current::$database, Current::$table);
@ -192,9 +192,9 @@ class ChangeController implements InvocableController
$htmlOutput = '';
$GLOBALS['urlParams']['db'] = Current::$database;
$GLOBALS['urlParams']['table'] = Current::$table;
$GLOBALS['urlParams'] = $this->urlParamsInEditMode($GLOBALS['urlParams'], $whereClauseArray);
UrlParams::$params['db'] = Current::$database;
UrlParams::$params['table'] = Current::$table;
UrlParams::$params = $this->urlParamsInEditMode(UrlParams::$params, $whereClauseArray);
$hasBlobField = false;
foreach ($tableColumns as $tableColumn) {
@ -220,11 +220,11 @@ class ChangeController implements InvocableController
}
if (! $this->config->settings['ShowFunctionFields']) {
$htmlOutput .= $this->insertEdit->showTypeOrFunction('function', $GLOBALS['urlParams'], false);
$htmlOutput .= $this->insertEdit->showTypeOrFunction('function', UrlParams::$params, false);
}
if (! $this->config->settings['ShowFieldTypesInDataEditView']) {
$htmlOutput .= $this->insertEdit->showTypeOrFunction('type', $GLOBALS['urlParams'], false);
$htmlOutput .= $this->insertEdit->showTypeOrFunction('type', UrlParams::$params, false);
}
$GLOBALS['plugin_scripts'] = [];
@ -244,7 +244,7 @@ class ChangeController implements InvocableController
}
$htmlOutput .= $this->insertEdit->getHtmlForInsertEditRow(
$GLOBALS['urlParams'],
UrlParams::$params,
$tableColumns,
$commentsMap,
$GLOBALS['current_result'],

View File

@ -21,6 +21,7 @@ use PhpMyAdmin\SqlParser\Components\Limit;
use PhpMyAdmin\SqlParser\Parser;
use PhpMyAdmin\SqlParser\Statements\SelectStatement;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -209,15 +210,14 @@ final class ChartController implements InvocableController
*/
public function ajax(ServerRequest $request): void
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
if (Current::$table !== '' && Current::$database !== '') {
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabTable'],
'table',
);
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {

View File

@ -15,6 +15,7 @@ use PhpMyAdmin\Identifiers\TableName;
use PhpMyAdmin\Message;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use PhpMyAdmin\Utils\ForeignKey;
@ -31,7 +32,6 @@ final class DeleteConfirmController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
$selected = $_POST['rows_to_delete'] ?? null;
@ -47,12 +47,12 @@ final class DeleteConfirmController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabTable'],
'table',
);
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {

View File

@ -18,6 +18,7 @@ use PhpMyAdmin\SqlParser\Parser;
use PhpMyAdmin\SqlParser\Statements\SelectStatement;
use PhpMyAdmin\SqlParser\Utils\Query;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -36,7 +37,6 @@ class ExportController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
$GLOBALS['where_clause'] ??= null;
$GLOBALS['unlim_num_rows'] ??= null;
@ -51,15 +51,15 @@ class ExportController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabTable'],
'table',
);
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$GLOBALS['urlParams']['goto'] = Url::getFromRoute('/table/export');
$GLOBALS['urlParams']['back'] = Url::getFromRoute('/table/export');
UrlParams::$params['goto'] = Url::getFromRoute('/table/export');
UrlParams::$params['back'] = Url::getFromRoute('/table/export');
// When we have some query, we need to remove LIMIT from that and possibly
// generate WHERE clause (if we are asked to export specific rows)

View File

@ -19,6 +19,7 @@ use PhpMyAdmin\MessageType;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -54,18 +55,17 @@ final class FindReplaceController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
if (! $this->response->checkParameters(['db', 'table'])) {
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabTable'],
'table',
);
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {

View File

@ -22,6 +22,7 @@ use PhpMyAdmin\Message;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -137,7 +138,7 @@ final class GisVisualizationController implements InvocableController
/**
* Displays the page
*/
$urlParams = $GLOBALS['urlParams'] ?? [];
$urlParams = UrlParams::$params;
$urlParams['goto'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabDatabase'],
'database',

View File

@ -23,6 +23,7 @@ use PhpMyAdmin\Message;
use PhpMyAdmin\Plugins;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use PhpMyAdmin\Utils\ForeignKey;
@ -41,7 +42,6 @@ final class ImportController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['SESSION_KEY'] ??= null;
$GLOBALS['errorUrl'] ??= null;
@ -55,10 +55,10 @@ final class ImportController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$config = Config::getInstance();
$GLOBALS['errorUrl'] = Util::getScriptNameForOption($config->settings['DefaultTabTable'], 'table');
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {
@ -88,8 +88,8 @@ final class ImportController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams']['goto'] = Url::getFromRoute('/table/import');
$GLOBALS['urlParams']['back'] = Url::getFromRoute('/table/import');
UrlParams::$params['goto'] = Url::getFromRoute('/table/import');
UrlParams::$params['back'] = Url::getFromRoute('/table/import');
[$GLOBALS['SESSION_KEY'], $uploadId] = Ajax::uploadProgressSetup();

View File

@ -21,6 +21,7 @@ use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Table\Indexes;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -38,19 +39,18 @@ final class IndexRenameController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
if (! $this->response->checkParameters(['db', 'table'])) {
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabTable'],
'table',
);
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {

View File

@ -22,6 +22,7 @@ use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Table\Indexes;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -47,7 +48,6 @@ final class IndexesController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
if (! isset($_POST['create_edit_table'])) {
@ -55,12 +55,12 @@ final class IndexesController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabTable'],
'table',
);
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {

View File

@ -20,6 +20,7 @@ use PhpMyAdmin\MessageType;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Table\Table;
use PhpMyAdmin\Template;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use PhpMyAdmin\Utils\ForeignKey;
@ -206,7 +207,7 @@ final class RelationController implements InvocableController
'tbl_storage_engine' => $storageEngine,
'db' => Current::$database,
'table' => Current::$table,
'url_params' => $GLOBALS['urlParams'],
'url_params' => UrlParams::$params,
'databases' => $this->dbi->getDatabaseList(),
'foreign_db' => $foreignDb,
'foreign_table' => $foreignTable,
@ -225,7 +226,7 @@ final class RelationController implements InvocableController
'tbl_storage_engine' => $storageEngine,
'db' => Current::$database,
'table' => Current::$table,
'url_params' => $GLOBALS['urlParams'],
'url_params' => UrlParams::$params,
'databases' => $this->dbi->getDatabaseList(),
'foreign_db' => false,
'foreign_table' => false,
@ -293,7 +294,7 @@ final class RelationController implements InvocableController
'tbl_storage_engine' => $storageEngine,
'options_array' => $options,
'internal_relation_columns' => $internalRelationColumns,
'url_params' => $GLOBALS['urlParams'],
'url_params' => UrlParams::$params,
'databases' => $this->dbi->getDatabaseList(),
'default_sliders_state' => $config->settings['InitialSlidersState'],
'route' => $request->getRoute(),

View File

@ -25,6 +25,7 @@ use PhpMyAdmin\Query\Generator as QueryGenerator;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Table\Table;
use PhpMyAdmin\Transformations;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -56,7 +57,6 @@ final class ReplaceController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['message'] ??= null;
if (! $this->response->checkParameters(['db', 'table', 'goto'])) {
return $this->response->response();
@ -74,12 +74,12 @@ final class ReplaceController implements InvocableController
$afterInsert = $request->getParsedBodyParamAsStringOrNull('after_insert');
if (in_array($afterInsert, ['new_insert', 'same_insert', 'edit_next'], true)) {
$GLOBALS['urlParams']['after_insert'] = $afterInsert;
UrlParams::$params['after_insert'] = $afterInsert;
$whereClause = $request->getParsedBodyParam('where_clause');
if ($whereClause !== null) {
foreach ($whereClause as $oneWhereClause) {
if ($afterInsert === 'same_insert') {
$GLOBALS['urlParams']['where_clause'][] = $oneWhereClause;
UrlParams::$params['where_clause'][] = $oneWhereClause;
} elseif ($afterInsert === 'edit_next') {
$this->insertEdit->setSessionForEditNext($oneWhereClause);
}
@ -91,7 +91,7 @@ final class ReplaceController implements InvocableController
$gotoInclude = $this->insertEdit->getGotoInclude(false);
// Defines the url to return in case of failure of the query
$GLOBALS['errorUrl'] = $this->insertEdit->getErrorUrl($GLOBALS['urlParams']);
$GLOBALS['errorUrl'] = $this->insertEdit->getErrorUrl(UrlParams::$params);
/**
* Prepares the update/insert of a row
@ -304,7 +304,7 @@ final class ReplaceController implements InvocableController
$returnToSqlQuery = '';
if (! empty($GLOBALS['sql_query'])) {
$GLOBALS['urlParams']['sql_query'] = $GLOBALS['sql_query'];
UrlParams::$params['sql_query'] = $GLOBALS['sql_query'];
$returnToSqlQuery = $GLOBALS['sql_query'];
}

View File

@ -23,6 +23,7 @@ use PhpMyAdmin\Table\Search;
use PhpMyAdmin\Template;
use PhpMyAdmin\Transformations;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use PhpMyAdmin\Utils\Gis;
@ -159,12 +160,12 @@ final class SearchController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabTable'],
'table',
);
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {

View File

@ -17,6 +17,7 @@ use PhpMyAdmin\Identifiers\TableName;
use PhpMyAdmin\Message;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -36,7 +37,6 @@ final class PrimaryController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['message'] ??= null;
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
/** @var string[]|null $selected */
@ -59,12 +59,12 @@ final class PrimaryController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabTable'],
'table',
);
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {

View File

@ -22,6 +22,7 @@ use PhpMyAdmin\Tracking\Tracker;
use PhpMyAdmin\Tracking\Tracking;
use PhpMyAdmin\Tracking\TrackingChecker;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use Throwable;
use Webmozart\Assert\Assert;
@ -48,7 +49,6 @@ final class TrackingController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
$this->response->addScriptFiles(['vendor/jquery/jquery.tablesorter.js', 'table/tracking.js']);
@ -57,12 +57,12 @@ final class TrackingController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
Config::getInstance()->settings['DefaultTabTable'],
'table',
);
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {
@ -98,8 +98,8 @@ final class TrackingController implements InvocableController
)->getDisplay();
}
$GLOBALS['urlParams']['goto'] = Url::getFromRoute('/table/tracking');
$GLOBALS['urlParams']['back'] = Url::getFromRoute('/table/tracking');
UrlParams::$params['goto'] = Url::getFromRoute('/table/tracking');
UrlParams::$params['back'] = Url::getFromRoute('/table/tracking');
$versionParam = $request->getParsedBodyParamAsString('version', '');
$tableParam = $request->getParsedBodyParamAsString('table', '');
@ -178,7 +178,7 @@ final class TrackingController implements InvocableController
$trackingReport = $this->tracking->getHtmlForTrackingReport(
$trackedData,
$GLOBALS['urlParams'],
UrlParams::$params,
$logType,
$filterUsers,
$versionParam,
@ -239,11 +239,11 @@ final class TrackingController implements InvocableController
$db,
$tableParam,
$versionParam,
$GLOBALS['urlParams'],
UrlParams::$params,
);
}
$main = $this->tracking->getHtmlForMainPage(Current::$database, Current::$table, $GLOBALS['urlParams']);
$main = $this->tracking->getHtmlForMainPage(Current::$database, Current::$table, UrlParams::$params);
$this->response->render('table/tracking/index', [
'active_message' => $activeMessage,

View File

@ -21,6 +21,7 @@ use PhpMyAdmin\Table\Search;
use PhpMyAdmin\Template;
use PhpMyAdmin\UniqueCondition;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use PhpMyAdmin\Utils\Gis;
@ -82,16 +83,15 @@ final class ZoomSearchController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['goto'] ??= null;
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
if (! $this->response->checkParameters(['db', 'table'])) {
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$config = Config::getInstance();
$GLOBALS['errorUrl'] = Util::getScriptNameForOption($config->settings['DefaultTabTable'], 'table');
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {

View File

@ -20,6 +20,7 @@ use PhpMyAdmin\Template;
use PhpMyAdmin\Triggers\Trigger;
use PhpMyAdmin\Triggers\Triggers;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -47,7 +48,6 @@ final class IndexController implements InvocableController
public function __invoke(ServerRequest $request): Response
{
$GLOBALS['errors'] ??= null;
$GLOBALS['urlParams'] ??= null;
$GLOBALS['errorUrl'] ??= null;
$this->response->addScriptFiles(['triggers.js', 'sql.js']);
@ -62,9 +62,9 @@ final class IndexController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] = ['db' => Current::$database, 'table' => Current::$table];
UrlParams::$params = ['db' => Current::$database, 'table' => Current::$table];
$GLOBALS['errorUrl'] = Util::getScriptNameForOption($config->settings['DefaultTabTable'], 'table');
$GLOBALS['errorUrl'] .= Url::getCommon($GLOBALS['urlParams'], '&');
$GLOBALS['errorUrl'] .= Url::getCommon(UrlParams::$params, '&');
$databaseName = DatabaseName::tryFrom($request->getParam('db'));
if ($databaseName === null || ! $this->dbTableExists->selectDatabase($databaseName)) {

View File

@ -22,6 +22,7 @@ use PhpMyAdmin\SqlParser\Statements\CreateStatement;
use PhpMyAdmin\SqlParser\TokensList;
use PhpMyAdmin\SystemDatabase;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -58,7 +59,6 @@ final class CreateController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams'] ??= null;
$GLOBALS['message'] ??= null;
$GLOBALS['errorUrl'] = Util::getScriptNameForOption(
@ -81,8 +81,8 @@ final class CreateController implements InvocableController
return $this->response->response();
}
$GLOBALS['urlParams']['goto'] = Url::getFromRoute('/table/structure');
$GLOBALS['urlParams']['back'] = Url::getFromRoute('/view/create');
UrlParams::$params['goto'] = Url::getFromRoute('/table/structure');
UrlParams::$params['back'] = Url::getFromRoute('/view/create');
/** @var array|null $view */
$view = $request->getParsedBodyParam('view');
@ -181,14 +181,14 @@ final class CreateController implements InvocableController
$viewData = array_merge($viewData, $view);
}
$GLOBALS['urlParams']['db'] = Current::$database;
$GLOBALS['urlParams']['reload'] = 1;
UrlParams::$params['db'] = Current::$database;
UrlParams::$params['reload'] = 1;
$this->response->addScriptFiles(['sql.js']);
$this->response->render('view_create', [
'ajax_dialog' => $ajaxdialog,
'url_params' => $GLOBALS['urlParams'],
'url_params' => UrlParams::$params,
'view' => $viewData,
'view_algorithm_options' => self::VIEW_ALGORITHM_OPTIONS,
'view_with_options' => self::VIEW_WITH_OPTIONS,

View File

@ -7,6 +7,7 @@ namespace PhpMyAdmin\Http\Middleware;
use PhpMyAdmin\Config;
use PhpMyAdmin\Current;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\UrlParams;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
@ -33,6 +34,6 @@ final class CurrentServerGlobalSetting implements MiddlewareInterface
mixed $serverParamFromRequest,
): void {
Current::$server = $config->selectServer($serverParamFromRequest);
$GLOBALS['urlParams']['server'] = Current::$server;
UrlParams::$params['server'] = Current::$server;
}
}

View File

@ -8,6 +8,7 @@ use PhpMyAdmin\Current;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Identifiers\DatabaseName;
use PhpMyAdmin\Identifiers\TableName;
use PhpMyAdmin\UrlParams;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
@ -28,19 +29,13 @@ final class DatabaseAndTableSetting implements MiddlewareInterface
private function setDatabaseAndTableFromRequest(ServerRequest $request): void
{
$GLOBALS['urlParams'] ??= null;
$db = DatabaseName::tryFrom($request->getParam('db'));
$table = TableName::tryFrom($request->getParam('table'));
Current::$database = $db?->getName() ?? '';
Current::$table = $table?->getName() ?? '';
if (! is_array($GLOBALS['urlParams'])) {
$GLOBALS['urlParams'] = [];
}
$GLOBALS['urlParams']['db'] = Current::$database;
$GLOBALS['urlParams']['table'] = Current::$table;
UrlParams::$params['db'] = Current::$database;
UrlParams::$params['table'] = Current::$table;
}
}

View File

@ -6,6 +6,7 @@ namespace PhpMyAdmin\Http\Middleware;
use PhpMyAdmin\Config;
use PhpMyAdmin\Core;
use PhpMyAdmin\UrlParams;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
@ -19,7 +20,7 @@ final class UrlParamsSetting implements MiddlewareInterface
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$GLOBALS['urlParams'] = [];
UrlParams::$params = [];
$this->setGotoAndBackGlobals();
@ -33,7 +34,7 @@ final class UrlParamsSetting implements MiddlewareInterface
if (isset($_REQUEST['goto']) && Core::checkPageValidity($_REQUEST['goto'])) {
$GLOBALS['goto'] = $_REQUEST['goto'];
$GLOBALS['urlParams']['goto'] = $GLOBALS['goto'];
UrlParams::$params['goto'] = $GLOBALS['goto'];
} else {
if ($this->config->issetCookie('goto')) {
$this->config->removeCookie('goto');

View File

@ -15,6 +15,7 @@ use PhpMyAdmin\Query\Utilities;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use function __;
@ -83,7 +84,7 @@ class ReplicationGui
$replicas = $dbi->fetchResult('SHOW SLAVE HOSTS');
}
$urlParams = $GLOBALS['urlParams'];
$urlParams = UrlParams::$params;
$urlParams['primary_add_user'] = true;
$urlParams['replica_clear_screen'] = true;
}
@ -146,7 +147,7 @@ class ReplicationGui
$isReplicaSqlRunning = false;
if ($serverReplicaStatus) {
$urlParams = $GLOBALS['urlParams'];
$urlParams = UrlParams::$params;
$urlParams['sr_take_action'] = true;
$urlParams['sr_replica_server_control'] = true;
@ -190,12 +191,12 @@ class ReplicationGui
$urlParams['sr_replica_action'] = 'reset';
$replicaControlResetLink = Url::getCommon($urlParams, '', false);
$urlParams = $GLOBALS['urlParams'];
$urlParams = UrlParams::$params;
$urlParams['sr_take_action'] = true;
$urlParams['sr_replica_skip_error'] = true;
$replicaSkipErrorLink = Url::getCommon($urlParams, '', false);
$urlParams = $GLOBALS['urlParams'];
$urlParams = UrlParams::$params;
$urlParams['replica_configure'] = true;
$urlParams['replica_clear_screen'] = true;
@ -206,7 +207,7 @@ class ReplicationGui
return $this->template->render('server/replication/replica_configuration', [
'server_replica_multi_replication' => $serverReplicaMultiReplication,
'url_params' => $GLOBALS['urlParams'],
'url_params' => UrlParams::$params,
'primary_connection' => $connection ?? '',
'server_replica_status' => $serverReplicaStatus,
'replica_status_table' => $replicaStatusTable ?? '',
@ -491,7 +492,7 @@ class ReplicationGui
);
} else {
$response->redirect(
'./index.php?route=/server/replication' . Url::getCommonRaw($GLOBALS['urlParams'], '&'),
'./index.php?route=/server/replication' . Url::getCommonRaw(UrlParams::$params, '&'),
);
}
}

View File

@ -6,6 +6,7 @@ namespace PhpMyAdmin\Replication;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Query\Compatibility;
use PhpMyAdmin\UrlParams;
use function explode;
use function sprintf;
@ -90,8 +91,6 @@ final class ReplicationInfo
public function load(string|null $connection = null): void
{
$GLOBALS['urlParams'] ??= null;
$this->setPrimaryStatus();
if ($connection !== null && $connection !== '') {
@ -99,7 +98,7 @@ final class ReplicationInfo
if ($this->multiPrimaryStatus !== []) {
$this->setDefaultPrimaryConnection($connection);
$GLOBALS['urlParams']['primary_connection'] = $connection;
UrlParams::$params['primary_connection'] = $connection;
}
}

View File

@ -1675,7 +1675,7 @@ class Sql
$template = new Template();
return $template->render('indexes', [
'url_params' => $GLOBALS['urlParams'],
'url_params' => UrlParams::$params,
'indexes' => $indexes,
'indexes_duplicates' => $indexesDuplicates,
]);

13
src/UrlParams.php Normal file
View File

@ -0,0 +1,13 @@
<?php
/**
* Static class for URL params
*/
declare(strict_types=1);
namespace PhpMyAdmin;
class UrlParams
{
public static array $params = [];
}

View File

@ -12,6 +12,7 @@ use PhpMyAdmin\Http\Factory\ServerRequestFactory;
use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PhpMyAdmin\UrlParams;
use PHPUnit\Framework\Attributes\CoversClass;
#[CoversClass(DeleteRowsController::class)]
@ -22,7 +23,7 @@ class DeleteRowsControllerTest extends AbstractTestCase
$GLOBALS['goto'] = null;
Current::$database = 'test_db';
Current::$table = 'test_table';
$GLOBALS['urlParams'] = [];
UrlParams::$params = [];
$config = Config::getInstance();
$config->selectedServer = $config->getSettings()->Servers[1]->asArray();
$config->selectedServer['DisableIS'] = true;

View File

@ -19,6 +19,7 @@ use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer as ResponseStub;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PHPUnit\Framework\Attributes\CoversClass;
use ReflectionMethod;
@ -43,7 +44,7 @@ class IndexesControllerTest extends AbstractTestCase
$config = Config::getInstance();
$config->selectedServer['pmadb'] = '';
$config->selectedServer['DisableIS'] = false;
$GLOBALS['urlParams'] = ['db' => 'db', 'server' => 1];
UrlParams::$params = ['db' => 'db', 'server' => 1];
}
protected function tearDown(): void

View File

@ -26,6 +26,7 @@ use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\DbiDummy;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PhpMyAdmin\Transformations;
use PhpMyAdmin\UrlParams;
use PHPUnit\Framework\Attributes\CoversClass;
use ReflectionProperty;
@ -71,7 +72,7 @@ class ReplaceControllerTest extends AbstractTestCase
public function testReplace(): void
{
$GLOBALS['urlParams'] = [];
UrlParams::$params = [];
$_POST['db'] = Current::$database;
$_POST['table'] = Current::$table;
$_POST['ajax_request'] = 'true';

View File

@ -7,6 +7,7 @@ namespace PhpMyAdmin\Tests\Http\Middleware;
use PhpMyAdmin\Config;
use PhpMyAdmin\Http\Middleware\UrlParamsSetting;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\UrlParams;
use PHPUnit\Framework\Attributes\CoversClass;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
@ -17,7 +18,7 @@ final class UrlParamsSettingTest extends AbstractTestCase
{
public function testProcess(): void
{
$GLOBALS['urlParams'] = null;
UrlParams::$params = null;
$GLOBALS['goto'] = null;
$GLOBALS['back'] = null;
$_REQUEST['goto'] = 'index.php?route=/';
@ -35,6 +36,6 @@ final class UrlParamsSettingTest extends AbstractTestCase
/** @psalm-suppress TypeDoesNotContainType */
self::assertSame('index.php?route=/', $GLOBALS['back']);
/** @psalm-suppress TypeDoesNotContainType */
self::assertSame(['goto' => 'index.php?route=/'], $GLOBALS['urlParams']);
self::assertSame(['goto' => 'index.php?route=/'], UrlParams::$params);
}
}

View File

@ -12,6 +12,7 @@ use PhpMyAdmin\Replication\ReplicationGui;
use PhpMyAdmin\Replication\ReplicationInfo;
use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\UrlParams;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\Medium;
@ -48,7 +49,7 @@ class ReplicationGuiTest extends AbstractTestCase
$config->settings['ShowHint'] = true;
Current::$table = 'table';
$GLOBALS['urlParams'] = [];
UrlParams::$params = [];
$this->replicationGui = new ReplicationGui(new Replication(DatabaseInterface::getInstance()), new Template());
}