Skip to content

Commit f3e31df

Browse files
committed
Merge branch 'pokemaobr-push'
Closes #17791 Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2 parents d6c3bc7 + 0bd4711 commit f3e31df

File tree

8 files changed

+78
-48
lines changed

8 files changed

+78
-48
lines changed

libraries/classes/Controllers/CollationConnectionController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public function __invoke(ServerRequest $request): void
2626
$this->config->setUserValue(
2727
null,
2828
'DefaultConnectionCollation',
29-
$_POST['collation_connection'],
29+
$request->getParsedBodyParam('collation_connection'),
3030
'utf8mb4_unicode_ci'
3131
);
3232

libraries/classes/Controllers/SchemaExportController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public function __construct(Export $export)
2626

2727
public function __invoke(ServerRequest $request): void
2828
{
29-
if (! isset($_POST['export_type'])) {
29+
if ($request->getParsedBodyParam('export_type') === null) {
3030
$errorMessage = __('Missing parameter:') . ' export_type'
3131
. MySQLDocumentation::showDocumentation('faq', 'faqmissingparameters', true)
3232
. '[br]';

libraries/classes/Controllers/Sql/SetValuesController.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ public function __invoke(ServerRequest $request): void
4242
{
4343
$this->checkUserPrivileges->getPrivileges();
4444

45-
$column = $_POST['column'];
46-
$currentValue = $_POST['curr_value'];
47-
$fullValues = $_POST['get_full_values'] ?? false;
48-
$whereClause = $_POST['where_clause'] ?? null;
45+
$column = $request->getParsedBodyParam('column');
46+
$currentValue = $request->getParsedBodyParam('curr_value');
47+
$fullValues = $request->getParsedBodyParam('get_full_values', false);
48+
$whereClause = $request->getParsedBodyParam('where_clause');
4949

5050
$values = $this->sql->getValuesForColumn($GLOBALS['db'], $GLOBALS['table'], $column);
5151

libraries/classes/Controllers/TableController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ public function __construct(ResponseRenderer $response, Template $template, Data
2323

2424
public function __invoke(ServerRequest $request): void
2525
{
26-
if (! isset($_POST['db'])) {
26+
if ($request->getParsedBodyParam('db') === null) {
2727
$this->response->setRequestStatus(false);
2828
$this->response->addJSON(['message' => Message::error()]);
2929

3030
return;
3131
}
3232

33-
$this->response->addJSON(['tables' => $this->dbi->getTables($_POST['db'])]);
33+
$this->response->addJSON(['tables' => $this->dbi->getTables($request->getParsedBodyParam('db'))]);
3434
}
3535
}

phpstan-baseline.neon

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1010,6 +1010,11 @@ parameters:
10101010
count: 1
10111011
path: libraries/classes/Controllers/AbstractController.php
10121012

1013+
-
1014+
message: "#^Parameter \\#3 \\$new_cfg_value of method PhpMyAdmin\\\\Config\\:\\:setUserValue\\(\\) expects string, mixed given\\.$#"
1015+
count: 1
1016+
path: libraries/classes/Controllers/CollationConnectionController.php
1017+
10131018
-
10141019
message: "#^Parameter \\#3 \\$new_cfg_value of method PhpMyAdmin\\\\Config\\:\\:setUserValue\\(\\) expects string, mixed given\\.$#"
10151020
count: 1
@@ -1465,6 +1470,26 @@ parameters:
14651470
count: 1
14661471
path: libraries/classes/Controllers/Setup/ServersController.php
14671472

1473+
-
1474+
message: "#^Parameter \\#1 \\$string of function htmlentities expects string, mixed given\\.$#"
1475+
count: 1
1476+
path: libraries/classes/Controllers/Sql/SetValuesController.php
1477+
1478+
-
1479+
message: "#^Parameter \\#3 \\$column of method PhpMyAdmin\\\\Sql\\:\\:getFullValuesForSetColumn\\(\\) expects string, mixed given\\.$#"
1480+
count: 1
1481+
path: libraries/classes/Controllers/Sql/SetValuesController.php
1482+
1483+
-
1484+
message: "#^Parameter \\#3 \\$column of method PhpMyAdmin\\\\Sql\\:\\:getValuesForColumn\\(\\) expects string, mixed given\\.$#"
1485+
count: 1
1486+
path: libraries/classes/Controllers/Sql/SetValuesController.php
1487+
1488+
-
1489+
message: "#^Parameter \\#4 \\$whereClause of method PhpMyAdmin\\\\Sql\\:\\:getFullValuesForSetColumn\\(\\) expects string, mixed given\\.$#"
1490+
count: 1
1491+
path: libraries/classes/Controllers/Sql/SetValuesController.php
1492+
14681493
-
14691494
message: "#^Property PhpMyAdmin\\\\SqlParser\\\\Statements\\\\SelectStatement\\:\\:\\$limit \\(PhpMyAdmin\\\\SqlParser\\\\Components\\\\Limit\\) in empty\\(\\) is not falsy\\.$#"
14701495
count: 1
@@ -1755,6 +1780,11 @@ parameters:
17551780
count: 1
17561781
path: libraries/classes/Controllers/Table/ZoomSearchController.php
17571782

1783+
-
1784+
message: "#^Parameter \\#1 \\$database of method PhpMyAdmin\\\\DatabaseInterface\\:\\:getTables\\(\\) expects string, mixed given\\.$#"
1785+
count: 1
1786+
path: libraries/classes/Controllers/TableController.php
1787+
17581788
-
17591789
message: "#^Parameter \\#1 \\$string of function substr expects string, mixed given\\.$#"
17601790
count: 1

psalm-baseline.xml

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -969,12 +969,9 @@
969969
</UnusedFunctionCall>
970970
</file>
971971
<file src="libraries/classes/Controllers/CollationConnectionController.php">
972-
<PossiblyInvalidArgument occurrences="1">
973-
<code>$_POST['collation_connection']</code>
974-
</PossiblyInvalidArgument>
975-
<PossiblyInvalidCast occurrences="1">
976-
<code>$_POST['collation_connection']</code>
977-
</PossiblyInvalidCast>
972+
<MixedArgument occurrences="1">
973+
<code>$request-&gt;getParsedBodyParam('collation_connection')</code>
974+
</MixedArgument>
978975
</file>
979976
<file src="libraries/classes/Controllers/Config/SetConfigController.php">
980977
<MixedArgument occurrences="1">
@@ -3159,18 +3156,17 @@
31593156
</PossiblyInvalidCast>
31603157
</file>
31613158
<file src="libraries/classes/Controllers/Sql/SetValuesController.php">
3162-
<PossiblyInvalidArgument occurrences="4">
3163-
<code>$column</code>
3159+
<MixedArgument occurrences="3">
31643160
<code>$column</code>
31653161
<code>$currentValue</code>
31663162
<code>$whereClause</code>
3167-
</PossiblyInvalidArgument>
3168-
<PossiblyInvalidCast occurrences="4">
3169-
<code>$column</code>
3163+
</MixedArgument>
3164+
<MixedAssignment occurrences="4">
31703165
<code>$column</code>
31713166
<code>$currentValue</code>
3167+
<code>$fullValues</code>
31723168
<code>$whereClause</code>
3173-
</PossiblyInvalidCast>
3169+
</MixedAssignment>
31743170
</file>
31753171
<file src="libraries/classes/Controllers/Sql/SqlController.php">
31763172
<InvalidArrayOffset occurrences="1">
@@ -4466,12 +4462,9 @@
44664462
</RedundantCastGivenDocblockType>
44674463
</file>
44684464
<file src="libraries/classes/Controllers/TableController.php">
4469-
<PossiblyInvalidArgument occurrences="1">
4470-
<code>$_POST['db']</code>
4471-
</PossiblyInvalidArgument>
4472-
<PossiblyInvalidCast occurrences="1">
4473-
<code>$_POST['db']</code>
4474-
</PossiblyInvalidCast>
4465+
<MixedArgument occurrences="1">
4466+
<code>$request-&gt;getParsedBodyParam('db')</code>
4467+
</MixedArgument>
44754468
</file>
44764469
<file src="libraries/classes/Controllers/ThemeSetController.php">
44774470
<InvalidArrayOffset occurrences="1">

test/classes/Controllers/CollationConnectionControllerTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ class CollationConnectionControllerTest extends AbstractTestCase
1919
{
2020
public function testInvoke(): void
2121
{
22-
$_POST['collation_connection'] = 'utf8mb4_general_ci';
22+
$request = $this->createStub(ServerRequest::class);
23+
$request->method('getParsedBodyParam')->willReturnMap([
24+
['collation_connection', null, 'utf8mb4_general_ci'],
25+
]);
2326

2427
$response = $this->createMock(ResponseRenderer::class);
2528
$response->expects($this->once())->method('header')
@@ -33,6 +36,6 @@ public function testInvoke(): void
3336
$response,
3437
new Template(),
3538
$config
36-
))($this->createStub(ServerRequest::class));
39+
))($request);
3740
}
3841
}

test/classes/Controllers/Sql/SetValuesControllerTest.php

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,23 @@ public function testError(): void
3939
{
4040
$this->dummyDbi->addResult('SHOW COLUMNS FROM `cvv`.`enums` LIKE \'set\'', false);
4141

42-
$_POST = [
43-
'ajax_request' => true,
44-
'db' => 'cvv',
45-
'table' => 'enums',
46-
'column' => 'set',
47-
'curr_value' => 'b&c',
48-
];
49-
$GLOBALS['db'] = $_POST['db'];
50-
$GLOBALS['table'] = $_POST['table'];
42+
$request = $this->createStub(ServerRequest::class);
43+
$request->method('getParsedBodyParam')->willReturnMap([
44+
['ajax_request', null, true],
45+
['db', null, 'cvv'],
46+
['table', null, 'enums'],
47+
['column', null, 'set'],
48+
['curr_value', null, 'b&c'],
49+
]);
50+
51+
$GLOBALS['db'] = 'cvv';
52+
$GLOBALS['table'] = 'enums';
5153

5254
$GLOBALS['containerBuilder']->setParameter('db', $GLOBALS['db']);
5355
$GLOBALS['containerBuilder']->setParameter('table', $GLOBALS['table']);
5456
/** @var SetValuesController $sqlController */
5557
$sqlController = $GLOBALS['containerBuilder']->get(SetValuesController::class);
56-
$sqlController($this->createStub(ServerRequest::class));
58+
$sqlController($request);
5759

5860
$this->assertResponseWasNotSuccessfull();
5961

@@ -87,21 +89,23 @@ public function testSuccess(): void
8789
]
8890
);
8991

90-
$_POST = [
91-
'ajax_request' => true,
92-
'db' => 'cvv',
93-
'table' => 'enums',
94-
'column' => 'set',
95-
'curr_value' => 'b&c',
96-
];
97-
$GLOBALS['db'] = $_POST['db'];
98-
$GLOBALS['table'] = $_POST['table'];
92+
$request = $this->createStub(ServerRequest::class);
93+
$request->method('getParsedBodyParam')->willReturnMap([
94+
['ajax_request', null, true],
95+
['db', null, 'cvv'],
96+
['table', null, 'enums'],
97+
['column', null, 'set'],
98+
['curr_value', null, 'b&c'],
99+
]);
100+
101+
$GLOBALS['db'] = 'cvv';
102+
$GLOBALS['table'] = 'enums';
99103

100104
$GLOBALS['containerBuilder']->setParameter('db', $GLOBALS['db']);
101105
$GLOBALS['containerBuilder']->setParameter('table', $GLOBALS['table']);
102106
/** @var SetValuesController $sqlController */
103107
$sqlController = $GLOBALS['containerBuilder']->get(SetValuesController::class);
104-
$sqlController($this->createStub(ServerRequest::class));
108+
$sqlController($request);
105109

106110
$this->assertResponseWasSuccessfull();
107111

0 commit comments

Comments
 (0)