diff --git a/libraries/classes/Controllers/Database/DesignerController.php b/libraries/classes/Controllers/Database/DesignerController.php
index 1f91d39171..74ff71170c 100644
--- a/libraries/classes/Controllers/Database/DesignerController.php
+++ b/libraries/classes/Controllers/Database/DesignerController.php
@@ -42,24 +42,31 @@ class DesignerController extends AbstractController
$GLOBALS['message'] = $GLOBALS['message'] ?? null;
$GLOBALS['errorUrl'] = $GLOBALS['errorUrl'] ?? null;
- if (isset($_POST['dialog'])) {
- if ($_POST['dialog'] === 'edit') {
- $html = $this->databaseDesigner->getHtmlForEditOrDeletePages($_POST['db'], 'editPage');
- } elseif ($_POST['dialog'] === 'delete') {
- $html = $this->databaseDesigner->getHtmlForEditOrDeletePages($_POST['db'], 'deletePage');
- } elseif ($_POST['dialog'] === 'save_as') {
- $html = $this->databaseDesigner->getHtmlForPageSaveAs($_POST['db']);
- } elseif ($_POST['dialog'] === 'export') {
- $html = $this->databaseDesigner->getHtmlForSchemaExport($_POST['db'], $_POST['selected_page']);
- } elseif ($_POST['dialog'] === 'add_table') {
+ $db = $request->getParsedBodyParam('db');
+ $table = $request->getParsedBodyParam('table');
+
+ if ($request->hasBodyParam('dialog')) {
+ $dialog = $request->getParsedBodyParam('dialog');
+ if ($dialog === 'edit') {
+ $html = $this->databaseDesigner->getHtmlForEditOrDeletePages($db, 'editPage');
+ } elseif ($dialog === 'delete') {
+ $html = $this->databaseDesigner->getHtmlForEditOrDeletePages($db, 'deletePage');
+ } elseif ($dialog === 'save_as') {
+ $html = $this->databaseDesigner->getHtmlForPageSaveAs($db);
+ } elseif ($dialog === 'export') {
+ $html = $this->databaseDesigner->getHtmlForSchemaExport(
+ $db,
+ $request->getParsedBodyParam('selected_page')
+ );
+ } elseif ($dialog === 'add_table') {
// Pass the db and table to the getTablesInfo so we only have the table we asked for
- $scriptDisplayField = $this->designerCommon->getTablesInfo($_POST['db'], $_POST['table']);
+ $scriptDisplayField = $this->designerCommon->getTablesInfo($db, $table);
$tableColumn = $this->designerCommon->getColumnsInfo($scriptDisplayField);
$tablesAllKeys = $this->designerCommon->getAllKeys($scriptDisplayField);
$tablesPkOrUniqueKeys = $this->designerCommon->getPkOrUniqueKeys($scriptDisplayField);
$html = $this->databaseDesigner->getDatabaseTables(
- $_POST['db'],
+ $db,
$scriptDisplayField,
[],
-1,
@@ -76,64 +83,68 @@ class DesignerController extends AbstractController
return;
}
- if (isset($_POST['operation'])) {
- if ($_POST['operation'] === 'deletePage') {
- $success = $this->designerCommon->deletePage($_POST['selected_page']);
+ if ($request->hasBodyParam('operation')) {
+ $operation = $request->getParsedBodyParam('operation');
+ if ($operation === 'deletePage') {
+ $success = $this->designerCommon->deletePage($request->getParsedBodyParam('selected_page'));
$this->response->setRequestStatus($success);
- } elseif ($_POST['operation'] === 'savePage') {
- if ($_POST['save_page'] === 'same') {
- $page = $_POST['selected_page'];
- } elseif ($this->designerCommon->getPageExists($_POST['selected_value'])) {
+ } elseif ($operation === 'savePage') {
+ if ($request->getParsedBodyParam('save_page') === 'same') {
+ $page = $request->getParsedBodyParam('selected_page');
+ } elseif ($this->designerCommon->getPageExists($request->getParsedBodyParam('selected_value'))) {
$this->response->addJSON(
'message',
sprintf(
/* l10n: The user tries to save a page with an existing name in Designer */
__('There already exists a page named "%s" please rename it to something else.'),
- htmlspecialchars($_POST['selected_value'])
+ htmlspecialchars($request->getParsedBodyParam('selected_value'))
)
);
$this->response->setRequestStatus(false);
return;
} else {
- $page = $this->designerCommon->createNewPage($_POST['selected_value'], $_POST['db']);
+ $page = $this->designerCommon->createNewPage($request->getParsedBodyParam('selected_value'), $db);
$this->response->addJSON('id', $page);
}
$success = $this->designerCommon->saveTablePositions($page);
$this->response->setRequestStatus($success);
- } elseif ($_POST['operation'] === 'setDisplayField') {
+ } elseif ($operation === 'setDisplayField') {
[
$success,
$GLOBALS['message'],
- ] = $this->designerCommon->saveDisplayField($_POST['db'], $_POST['table'], $_POST['field']);
+ ] = $this->designerCommon->saveDisplayField($db, $table, $request->getParsedBodyParam('field'));
$this->response->setRequestStatus($success);
$this->response->addJSON('message', $GLOBALS['message']);
- } elseif ($_POST['operation'] === 'addNewRelation') {
+ } elseif ($operation === 'addNewRelation') {
[$success, $GLOBALS['message']] = $this->designerCommon->addNewRelation(
- $_POST['db'],
- $_POST['T1'],
- $_POST['F1'],
- $_POST['T2'],
- $_POST['F2'],
- $_POST['on_delete'],
- $_POST['on_update'],
- $_POST['DB1'],
- $_POST['DB2']
+ $db,
+ $request->getParsedBodyParam('T1'),
+ $request->getParsedBodyParam('F1'),
+ $request->getParsedBodyParam('T2'),
+ $request->getParsedBodyParam('F2'),
+ $request->getParsedBodyParam('on_delete'),
+ $request->getParsedBodyParam('on_update'),
+ $request->getParsedBodyParam('DB1'),
+ $request->getParsedBodyParam('DB2')
);
$this->response->setRequestStatus($success);
$this->response->addJSON('message', $GLOBALS['message']);
- } elseif ($_POST['operation'] === 'removeRelation') {
+ } elseif ($operation === 'removeRelation') {
[$success, $GLOBALS['message']] = $this->designerCommon->removeRelation(
- $_POST['T1'],
- $_POST['F1'],
- $_POST['T2'],
- $_POST['F2']
+ $request->getParsedBodyParam('T1'),
+ $request->getParsedBodyParam('F1'),
+ $request->getParsedBodyParam('T2'),
+ $request->getParsedBodyParam('F2')
);
$this->response->setRequestStatus($success);
$this->response->addJSON('message', $GLOBALS['message']);
- } elseif ($_POST['operation'] === 'save_setting_value') {
- $success = $this->designerCommon->saveSetting($_POST['index'], $_POST['value']);
+ } elseif ($operation === 'save_setting_value') {
+ $success = $this->designerCommon->saveSetting(
+ $request->getParsedBodyParam('index'),
+ $request->getParsedBodyParam('value')
+ );
$this->response->setRequestStatus($success);
}
@@ -151,14 +162,14 @@ class DesignerController extends AbstractController
$scriptDisplayField = $this->designerCommon->getTablesInfo();
- $visualBuilderMode = isset($_GET['query']);
+ $visualBuilderMode = $request->hasQueryParam('query');
if ($visualBuilderMode) {
- $displayPage = $this->designerCommon->getDefaultPage($_GET['db']);
- } elseif (! empty($_GET['page'])) {
- $displayPage = (int) $_GET['page'];
+ $displayPage = $this->designerCommon->getDefaultPage($request->getQueryParam('db'));
+ } elseif ($request->hasQueryParam('page')) {
+ $displayPage = (int) $request->getQueryParam('page');
} else {
- $displayPage = $this->designerCommon->getLoadingPage($_GET['db']);
+ $displayPage = $this->designerCommon->getLoadingPage($request->getQueryParam('db'));
}
$selectedPage = null;
@@ -210,7 +221,7 @@ class DesignerController extends AbstractController
$this->response->addHTML(
$this->databaseDesigner->getHtmlForMain(
$GLOBALS['db'],
- $_GET['db'],
+ $request->getQueryParam('db'),
$scriptDisplayField,
$scriptTables,
$scriptContr,
diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon
index e180a3e661..f1896bab42 100644
--- a/phpstan-baseline.neon
+++ b/phpstan-baseline.neon
@@ -1025,6 +1025,181 @@ parameters:
count: 1
path: libraries/classes/Controllers/Database/DataDictionaryController.php
+ -
+ message: "#^Cannot cast mixed to int\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$T1 of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:removeRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Database\\\\Designer\\:\\:getDatabaseTables\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Database\\\\Designer\\:\\:getHtmlForEditOrDeletePages\\(\\) expects string, mixed given\\.$#"
+ count: 2
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Database\\\\Designer\\:\\:getHtmlForPageSaveAs\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Database\\\\Designer\\:\\:getHtmlForSchemaExport\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:addNewRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:getDefaultPage\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:getLoadingPage\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:getTablesInfo\\(\\) expects string\\|null, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:saveDisplayField\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$index of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:saveSetting\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$pageName of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:createNewPage\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$pg of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:deletePage\\(\\) expects int, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$pg of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:getPageExists\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$pg of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:saveTablePositions\\(\\) expects int, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#1 \\$string of function htmlspecialchars expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#2 \\$F1 of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:removeRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#2 \\$T1 of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:addNewRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#2 \\$db of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:createNewPage\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#2 \\$getDb of method PhpMyAdmin\\\\Database\\\\Designer\\:\\:getHtmlForMain\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#2 \\$page of method PhpMyAdmin\\\\Database\\\\Designer\\:\\:getHtmlForSchemaExport\\(\\) expects int, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#2 \\$table of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:getTablesInfo\\(\\) expects string\\|null, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#2 \\$table of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:saveDisplayField\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#2 \\$value of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:saveSetting\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#3 \\$F1 of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:addNewRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#3 \\$T2 of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:removeRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#3 \\$field of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:saveDisplayField\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#4 \\$F2 of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:removeRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#4 \\$T2 of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:addNewRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#5 \\$F2 of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:addNewRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#6 \\$on_delete of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:addNewRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#7 \\$on_update of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:addNewRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#8 \\$DB1 of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:addNewRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
+ -
+ message: "#^Parameter \\#9 \\$DB2 of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:addNewRelation\\(\\) expects string, mixed given\\.$#"
+ count: 1
+ path: libraries/classes/Controllers/Database/DesignerController.php
+
-
message: "#^Parameter \\#1 \\$sqlQuery of static method PhpMyAdmin\\\\Database\\\\MultiTableQuery\\:\\:displayResults\\(\\) expects string, mixed given\\.$#"
count: 1
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index 57690f1a71..04b1c41fc6 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -1043,15 +1043,45 @@
-
- $_POST['selected_page']
- $_POST['selected_page']
-
-
+
+ $db
+ $db
+ $db
+ $db
+ $db
+ $db
+ $db
+ $db
$html
+ $page
$position['dbName']
$position['tableName']
+ $request->getParsedBodyParam('DB1')
+ $request->getParsedBodyParam('DB2')
+ $request->getParsedBodyParam('F1')
+ $request->getParsedBodyParam('F1')
+ $request->getParsedBodyParam('F2')
+ $request->getParsedBodyParam('F2')
+ $request->getParsedBodyParam('T1')
+ $request->getParsedBodyParam('T1')
+ $request->getParsedBodyParam('T2')
+ $request->getParsedBodyParam('T2')
+ $request->getParsedBodyParam('field')
+ $request->getParsedBodyParam('index')
+ $request->getParsedBodyParam('on_delete')
+ $request->getParsedBodyParam('on_update')
+ $request->getParsedBodyParam('selected_page')
+ $request->getParsedBodyParam('selected_page')
+ $request->getParsedBodyParam('selected_value')
+ $request->getParsedBodyParam('selected_value')
+ $request->getParsedBodyParam('selected_value')
+ $request->getParsedBodyParam('value')
+ $request->getQueryParam('db')
+ $request->getQueryParam('db')
+ $request->getQueryParam('db')
$success
+ $table
+ $table
$position['dbName']
@@ -1059,83 +1089,22 @@
$position['tableName']
$position['tableName']
-
+
$GLOBALS['errorUrl']
+ $db
+ $dialog
+ $operation
+ $page
$position
+ $table
$position['dbName']
$position['tableName']
-
- $_GET['db']
- $_GET['db']
- $_GET['db']
- $_POST['DB1']
- $_POST['DB2']
- $_POST['F1']
- $_POST['F1']
- $_POST['F2']
- $_POST['F2']
- $_POST['T1']
- $_POST['T1']
- $_POST['T2']
- $_POST['T2']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['field']
- $_POST['index']
- $_POST['on_delete']
- $_POST['on_update']
- $_POST['selected_value']
- $_POST['selected_value']
- $_POST['selected_value']
- $_POST['table']
- $_POST['table']
- $_POST['value']
+
$page
-
-
- $_GET['db']
- $_GET['db']
- $_GET['db']
- $_POST['DB1']
- $_POST['DB2']
- $_POST['F1']
- $_POST['F1']
- $_POST['F2']
- $_POST['F2']
- $_POST['T1']
- $_POST['T1']
- $_POST['T2']
- $_POST['T2']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['db']
- $_POST['field']
- $_POST['index']
- $_POST['on_delete']
- $_POST['on_update']
- $_POST['selected_value']
- $_POST['selected_value']
- $_POST['table']
- $_POST['value']
-
-
- $_GET['page']
-
+