Merge pull request #17871 from kamil-tekiela/Remove-$params
Remove $params array
This commit is contained in:
commit
05346e5eb8
@ -12,11 +12,9 @@ final class QueryController extends AbstractController
|
||||
{
|
||||
public function __invoke(ServerRequest $request): void
|
||||
{
|
||||
$params = [
|
||||
'sql_query' => $request->getParsedBodyParam('sql_query'),
|
||||
'db' => $request->getParam('db'),
|
||||
];
|
||||
|
||||
$this->response->addHTML(MultiTableQuery::displayResults($params['sql_query'], $params['db']));
|
||||
$this->response->addHTML(MultiTableQuery::displayResults(
|
||||
$request->getParsedBodyParam('sql_query'),
|
||||
$request->getParam('db')
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,13 +26,13 @@ final class TablesController extends AbstractController
|
||||
|
||||
public function __invoke(ServerRequest $request): void
|
||||
{
|
||||
$params = [
|
||||
'tables' => $request->getQueryParam('tables', []),
|
||||
'db' => $request->getQueryParam('db', ''),
|
||||
];
|
||||
/** @var string[] $tables */
|
||||
$tables = $request->getQueryParam('tables', []);
|
||||
/** @var string $db */
|
||||
$db = $request->getQueryParam('db', '');
|
||||
|
||||
$tablesListForQuery = '';
|
||||
foreach ($params['tables'] as $table) {
|
||||
foreach ($tables as $table) {
|
||||
$tablesListForQuery .= "'" . $this->dbi->escapeString($table) . "',";
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ final class TablesController extends AbstractController
|
||||
|
||||
$constrains = $this->dbi->fetchResult(
|
||||
QueryGenerator::getInformationSchemaForeignKeyConstraintsRequest(
|
||||
$this->dbi->escapeString($params['db']),
|
||||
$this->dbi->escapeString($db),
|
||||
$tablesListForQuery
|
||||
)
|
||||
);
|
||||
|
||||
@ -8,8 +8,6 @@ use PhpMyAdmin\Controllers\AbstractController;
|
||||
use PhpMyAdmin\Http\ServerRequest;
|
||||
use PhpMyAdmin\SqlParser\Utils\Formatter;
|
||||
|
||||
use function strlen;
|
||||
|
||||
/**
|
||||
* Format SQL for SQL editors.
|
||||
*/
|
||||
@ -17,8 +15,8 @@ class SqlFormatController extends AbstractController
|
||||
{
|
||||
public function __invoke(ServerRequest $request): void
|
||||
{
|
||||
$params = ['sql' => $request->getParsedBodyParam('sql')];
|
||||
$query = strlen((string) $params['sql']) > 0 ? $params['sql'] : '';
|
||||
/** @var string $query */
|
||||
$query = $request->getParsedBodyParam('sql', '');
|
||||
$this->response->addJSON(['sql' => Formatter::format($query)]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ use PhpMyAdmin\Http\ServerRequest;
|
||||
use PhpMyAdmin\Linter;
|
||||
|
||||
use function header;
|
||||
use function is_array;
|
||||
use function json_encode;
|
||||
use function sprintf;
|
||||
|
||||
@ -22,11 +23,6 @@ class LintController extends AbstractController
|
||||
{
|
||||
public function __invoke(ServerRequest $request): void
|
||||
{
|
||||
$params = [
|
||||
'sql_query' => $request->getParsedBodyParam('sql_query'),
|
||||
'options' => $request->getParsedBodyParam('options'),
|
||||
];
|
||||
|
||||
/**
|
||||
* The SQL query to be analyzed.
|
||||
*
|
||||
@ -38,7 +34,7 @@ class LintController extends AbstractController
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
$sqlQuery = ! empty($params['sql_query']) ? $params['sql_query'] : '';
|
||||
$sqlQuery = $request->getParsedBodyParam('sql_query', '');
|
||||
|
||||
$this->response->setAjax(true);
|
||||
|
||||
@ -49,9 +45,8 @@ class LintController extends AbstractController
|
||||
header(sprintf('%s: %s', $name, $value));
|
||||
}
|
||||
|
||||
if (! empty($params['options'])) {
|
||||
$options = $params['options'];
|
||||
|
||||
$options = $request->getParsedBodyParam('options');
|
||||
if (is_array($options)) {
|
||||
if (! empty($options['routineEditor'])) {
|
||||
$sqlQuery = 'CREATE PROCEDURE `a`() ' . $sqlQuery;
|
||||
} elseif (! empty($options['triggerEditor'])) {
|
||||
|
||||
@ -18,7 +18,7 @@ use PhpMyAdmin\Util;
|
||||
use function __;
|
||||
use function array_key_exists;
|
||||
use function explode;
|
||||
use function mb_strlen;
|
||||
use function is_string;
|
||||
use function mb_strtolower;
|
||||
use function str_contains;
|
||||
|
||||
@ -35,12 +35,10 @@ final class CreateController extends AbstractController
|
||||
|
||||
public function __invoke(ServerRequest $request): void
|
||||
{
|
||||
$params = [
|
||||
'new_db' => $_POST['new_db'] ?? null,
|
||||
'db_collation' => $_POST['db_collation'] ?? null,
|
||||
];
|
||||
$newDb = $request->getParsedBodyParam('new_db');
|
||||
$dbCollation = $request->getParsedBodyParam('db_collation');
|
||||
|
||||
if (! isset($params['new_db']) || mb_strlen($params['new_db']) === 0 || ! $this->response->isAjax()) {
|
||||
if (! is_string($newDb) || $newDb === '' || ! $this->response->isAjax()) {
|
||||
$this->response->addJSON(['message' => Message::error()]);
|
||||
|
||||
return;
|
||||
@ -48,23 +46,23 @@ final class CreateController extends AbstractController
|
||||
|
||||
// lower_case_table_names=1 `DB` becomes `db`
|
||||
if ($this->dbi->getLowerCaseNames() === '1') {
|
||||
$params['new_db'] = mb_strtolower($params['new_db']);
|
||||
$newDb = mb_strtolower($newDb);
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds and executes the db creation sql query
|
||||
*/
|
||||
$sqlQuery = 'CREATE DATABASE ' . Util::backquote($params['new_db']);
|
||||
if (! empty($params['db_collation'])) {
|
||||
[$databaseCharset] = explode('_', $params['db_collation']);
|
||||
$sqlQuery = 'CREATE DATABASE ' . Util::backquote($newDb);
|
||||
if (is_string($dbCollation) && $dbCollation !== '') {
|
||||
[$databaseCharset] = explode('_', $dbCollation);
|
||||
$charsets = Charsets::getCharsets($this->dbi, $GLOBALS['cfg']['Server']['DisableIS']);
|
||||
$collations = Charsets::getCollations($this->dbi, $GLOBALS['cfg']['Server']['DisableIS']);
|
||||
if (
|
||||
array_key_exists($databaseCharset, $charsets)
|
||||
&& array_key_exists($params['db_collation'], $collations[$databaseCharset])
|
||||
&& array_key_exists($dbCollation, $collations[$databaseCharset])
|
||||
) {
|
||||
$sqlQuery .= ' DEFAULT'
|
||||
. Util::getCharsetQueryPart($params['db_collation']);
|
||||
. Util::getCharsetQueryPart($dbCollation);
|
||||
}
|
||||
}
|
||||
|
||||
@ -81,10 +79,10 @@ final class CreateController extends AbstractController
|
||||
|
||||
$this->response->setRequestStatus(false);
|
||||
} else {
|
||||
$GLOBALS['db'] = $params['new_db'];
|
||||
$GLOBALS['db'] = $newDb;
|
||||
|
||||
$message = Message::success(__('Database %1$s has been created.'));
|
||||
$message->addParam($params['new_db']);
|
||||
$message->addParam($newDb);
|
||||
|
||||
$scriptName = Util::getScriptNameForOption($GLOBALS['cfg']['DefaultTabDatabase'], 'database');
|
||||
|
||||
@ -92,7 +90,7 @@ final class CreateController extends AbstractController
|
||||
'message' => $message,
|
||||
'sql_query' => Generator::getMessage('', $sqlQuery, 'success'),
|
||||
'url' => $scriptName . Url::getCommon(
|
||||
['db' => $params['new_db']],
|
||||
['db' => $newDb],
|
||||
! str_contains($scriptName, '?') ? '?' : '&'
|
||||
),
|
||||
];
|
||||
|
||||
@ -37,16 +37,13 @@ class VariablesController extends AbstractController
|
||||
|
||||
public function __invoke(ServerRequest $request): void
|
||||
{
|
||||
$GLOBALS['errorUrl'] = $GLOBALS['errorUrl'] ?? null;
|
||||
|
||||
$params = ['filter' => $_GET['filter'] ?? null];
|
||||
$GLOBALS['errorUrl'] = Url::getFromRoute('/');
|
||||
|
||||
if ($this->dbi->isSuperUser()) {
|
||||
$this->dbi->selectDb('mysql');
|
||||
}
|
||||
|
||||
$filterValue = ! empty($params['filter']) ? $params['filter'] : '';
|
||||
$filterValue = $request->getQueryParam('filter', '');
|
||||
|
||||
$this->addScriptFiles(['server/variables.js']);
|
||||
|
||||
|
||||
@ -1045,16 +1045,6 @@ parameters:
|
||||
count: 1
|
||||
path: libraries/classes/Controllers/Database/MultiTableQuery/QueryController.php
|
||||
|
||||
-
|
||||
message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#"
|
||||
count: 1
|
||||
path: libraries/classes/Controllers/Database/MultiTableQuery/TablesController.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#1 \\$str of method PhpMyAdmin\\\\DatabaseInterface\\:\\:escapeString\\(\\) expects string, mixed given\\.$#"
|
||||
count: 2
|
||||
path: libraries/classes/Controllers/Database/MultiTableQuery/TablesController.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#1 \\$collation of static method PhpMyAdmin\\\\Util\\:\\:getCharsetQueryPart\\(\\) expects string, mixed given\\.$#"
|
||||
count: 2
|
||||
@ -1090,16 +1080,6 @@ parameters:
|
||||
count: 1
|
||||
path: libraries/classes/Controllers/Database/SqlController.php
|
||||
|
||||
-
|
||||
message: "#^Cannot cast mixed to string\\.$#"
|
||||
count: 1
|
||||
path: libraries/classes/Controllers/Database/SqlFormatController.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#1 \\$query of static method PhpMyAdmin\\\\SqlParser\\\\Utils\\\\Formatter\\:\\:format\\(\\) expects string, mixed given\\.$#"
|
||||
count: 1
|
||||
path: libraries/classes/Controllers/Database/SqlFormatController.php
|
||||
|
||||
-
|
||||
message: "#^Cannot access offset int\\<0, max\\> on mixed\\.$#"
|
||||
count: 1
|
||||
@ -1365,21 +1345,6 @@ parameters:
|
||||
count: 1
|
||||
path: libraries/classes/Controllers/HomeController.php
|
||||
|
||||
-
|
||||
message: "#^Cannot access offset 'eventEditor' on mixed\\.$#"
|
||||
count: 1
|
||||
path: libraries/classes/Controllers/LintController.php
|
||||
|
||||
-
|
||||
message: "#^Cannot access offset 'routineEditor' on mixed\\.$#"
|
||||
count: 1
|
||||
path: libraries/classes/Controllers/LintController.php
|
||||
|
||||
-
|
||||
message: "#^Cannot access offset 'triggerEditor' on mixed\\.$#"
|
||||
count: 1
|
||||
path: libraries/classes/Controllers/LintController.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#1 \\$partialDependencies of method PhpMyAdmin\\\\Normalization\\:\\:createNewTablesFor2NF\\(\\) expects array, mixed given\\.$#"
|
||||
count: 1
|
||||
|
||||
@ -1219,19 +1219,10 @@
|
||||
</file>
|
||||
<file src="libraries/classes/Controllers/Database/MultiTableQuery/QueryController.php">
|
||||
<MixedArgument occurrences="2">
|
||||
<code>$params['db']</code>
|
||||
<code>$params['sql_query']</code>
|
||||
<code>$request->getParam('db')</code>
|
||||
<code>$request->getParsedBodyParam('sql_query')</code>
|
||||
</MixedArgument>
|
||||
</file>
|
||||
<file src="libraries/classes/Controllers/Database/MultiTableQuery/TablesController.php">
|
||||
<MixedArgument occurrences="2">
|
||||
<code>$params['db']</code>
|
||||
<code>$table</code>
|
||||
</MixedArgument>
|
||||
<MixedAssignment occurrences="1">
|
||||
<code>$table</code>
|
||||
</MixedAssignment>
|
||||
</file>
|
||||
<file src="libraries/classes/Controllers/Database/Operations/CollationController.php">
|
||||
<MixedArgument occurrences="2">
|
||||
<code>$dbCollation</code>
|
||||
@ -1387,14 +1378,6 @@
|
||||
<code>$delimiter</code>
|
||||
</MixedAssignment>
|
||||
</file>
|
||||
<file src="libraries/classes/Controllers/Database/SqlFormatController.php">
|
||||
<MixedArgument occurrences="1">
|
||||
<code>$query</code>
|
||||
</MixedArgument>
|
||||
<MixedAssignment occurrences="1">
|
||||
<code>$query</code>
|
||||
</MixedAssignment>
|
||||
</file>
|
||||
<file src="libraries/classes/Controllers/Database/Structure/AddPrefixController.php">
|
||||
<MixedAssignment occurrences="2">
|
||||
<code>$params['selected'][]</code>
|
||||
@ -2571,23 +2554,9 @@
|
||||
</RiskyCast>
|
||||
</file>
|
||||
<file src="libraries/classes/Controllers/Server/Databases/CreateController.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>['db' => $params['new_db']]</code>
|
||||
</InvalidArgument>
|
||||
<PossiblyInvalidArgument occurrences="6">
|
||||
<code>$params['db_collation']</code>
|
||||
<code>$params['db_collation']</code>
|
||||
<code>$params['db_collation']</code>
|
||||
<code>$params['new_db']</code>
|
||||
<code>$params['new_db']</code>
|
||||
<code>$params['new_db']</code>
|
||||
</PossiblyInvalidArgument>
|
||||
<PossiblyInvalidCast occurrences="4">
|
||||
<code>$params['db_collation']</code>
|
||||
<code>$params['db_collation']</code>
|
||||
<code>$params['new_db']</code>
|
||||
<code>$params['new_db']</code>
|
||||
</PossiblyInvalidCast>
|
||||
<MixedAssignment occurrences="1">
|
||||
<code>$dbCollation</code>
|
||||
</MixedAssignment>
|
||||
</file>
|
||||
<file src="libraries/classes/Controllers/Server/Databases/DestroyController.php">
|
||||
<InvalidArrayOffset occurrences="1">
|
||||
@ -3042,7 +3011,7 @@
|
||||
<code>$serverVarsSession[$name]</code>
|
||||
</MixedArrayTypeCoercion>
|
||||
<MixedAssignment occurrences="2">
|
||||
<code>$GLOBALS['errorUrl']</code>
|
||||
<code>$filterValue</code>
|
||||
<code>$value</code>
|
||||
</MixedAssignment>
|
||||
</file>
|
||||
|
||||
@ -26,7 +26,13 @@ class LintControllerTest extends AbstractTestCase
|
||||
|
||||
public function testWithoutParams(): void
|
||||
{
|
||||
$this->getLintController()($this->createStub(ServerRequest::class));
|
||||
$request = $this->createStub(ServerRequest::class);
|
||||
$request->method('getParsedBodyParam')->willReturnMap([
|
||||
['sql_query', '', ''],
|
||||
['options', null, null],
|
||||
]);
|
||||
|
||||
$this->getLintController()($request);
|
||||
|
||||
$output = $this->getActualOutputForAssertion();
|
||||
$this->assertJson($output);
|
||||
@ -37,7 +43,7 @@ class LintControllerTest extends AbstractTestCase
|
||||
{
|
||||
$request = $this->createStub(ServerRequest::class);
|
||||
$request->method('getParsedBodyParam')->willReturnMap([
|
||||
['sql_query', null, 'SELECT * FROM `actor` WHERE `actor_id` = 1;'],
|
||||
['sql_query', '', 'SELECT * FROM `actor` WHERE `actor_id` = 1;'],
|
||||
['options', null, null],
|
||||
]);
|
||||
|
||||
@ -88,7 +94,7 @@ class LintControllerTest extends AbstractTestCase
|
||||
|
||||
$request = $this->createStub(ServerRequest::class);
|
||||
$request->method('getParsedBodyParam')->willReturnMap([
|
||||
['sql_query', null, 'SELECT * FROM `actor` WHEREE `actor_id` = 1;'],
|
||||
['sql_query', '', 'SELECT * FROM `actor` WHEREE `actor_id` = 1;'],
|
||||
['options', null, null],
|
||||
]);
|
||||
|
||||
|
||||
@ -49,9 +49,13 @@ final class CreateControllerTest extends AbstractTestCase
|
||||
$template = new Template();
|
||||
$controller = new CreateController($response, $template, $this->dbi);
|
||||
|
||||
$_POST['new_db'] = 'test_db_error';
|
||||
$request = $this->createStub(ServerRequest::class);
|
||||
$request->method('getParsedBodyParam')->willReturnMap([
|
||||
['new_db', null, 'test_db_error'],
|
||||
['db_collation', null, null],
|
||||
]);
|
||||
|
||||
$controller($this->createStub(ServerRequest::class));
|
||||
$controller($request);
|
||||
$actual = $response->getJSONResult();
|
||||
|
||||
$this->assertArrayHasKey('message', $actual);
|
||||
@ -62,10 +66,13 @@ final class CreateControllerTest extends AbstractTestCase
|
||||
|
||||
$controller = new CreateController($response, $template, $this->dbi);
|
||||
|
||||
$_POST['new_db'] = 'test_db';
|
||||
$_POST['db_collation'] = 'utf8_general_ci';
|
||||
$request = $this->createStub(ServerRequest::class);
|
||||
$request->method('getParsedBodyParam')->willReturnMap([
|
||||
['new_db', null, 'test_db'],
|
||||
['db_collation', null, 'utf8_general_ci'],
|
||||
]);
|
||||
|
||||
$controller($this->createStub(ServerRequest::class));
|
||||
$controller($request);
|
||||
$actual = $response->getJSONResult();
|
||||
|
||||
$this->assertArrayHasKey('message', $actual);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user