Inline controller method
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
This commit is contained in:
parent
5f222ec29d
commit
2709d1c6f8
@ -1645,6 +1645,11 @@ parameters:
|
||||
count: 1
|
||||
path: src/Controllers/Database/DesignerController.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#1 \\$db of static method PhpMyAdmin\\\\Url\\:\\:getHiddenInputs\\(\\) expects array\\|string, mixed given\\.$#"
|
||||
count: 1
|
||||
path: src/Controllers/Database/DesignerController.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#1 \\$index of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:saveSetting\\(\\) expects string, mixed given\\.$#"
|
||||
count: 1
|
||||
@ -1705,11 +1710,6 @@ parameters:
|
||||
count: 1
|
||||
path: src/Controllers/Database/DesignerController.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#2 \\$getDb of method PhpMyAdmin\\\\Database\\\\Designer\\:\\:getHtmlForMain\\(\\) expects string, mixed given\\.$#"
|
||||
count: 1
|
||||
path: src/Controllers/Database/DesignerController.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#2 \\$table of method PhpMyAdmin\\\\Database\\\\Designer\\\\Common\\:\\:getTablesInfo\\(\\) expects string\\|null, mixed given\\.$#"
|
||||
count: 2
|
||||
|
||||
@ -21,6 +21,7 @@ use PhpMyAdmin\Util;
|
||||
use function __;
|
||||
use function htmlspecialchars;
|
||||
use function in_array;
|
||||
use function json_encode;
|
||||
use function sprintf;
|
||||
|
||||
class DesignerController extends AbstractController
|
||||
@ -39,6 +40,7 @@ class DesignerController extends AbstractController
|
||||
{
|
||||
$GLOBALS['message'] ??= null;
|
||||
$GLOBALS['errorUrl'] ??= null;
|
||||
$GLOBALS['text_dir'] ??= null;
|
||||
|
||||
$db = $request->getParsedBodyParam('db');
|
||||
$table = $request->getParsedBodyParam('table');
|
||||
@ -63,8 +65,6 @@ class DesignerController extends AbstractController
|
||||
$tableColumn = $this->designerCommon->getColumnsInfo($scriptDisplayField);
|
||||
$tablesAllKeys = $this->designerCommon->getAllKeys($scriptDisplayField);
|
||||
|
||||
$GLOBALS['text_dir'] ??= null;
|
||||
|
||||
$columnsType = $this->databaseDesigner->getColumnTypes($tableColumn, $tablesAllKeys);
|
||||
|
||||
$html = $this->template->render('database/designer/database_tables', [
|
||||
@ -226,24 +226,36 @@ class DesignerController extends AbstractController
|
||||
|
||||
$this->addScriptFiles(['designer/init.js']);
|
||||
|
||||
$columnsType = $this->databaseDesigner->getColumnTypes($tableColumn, $tablesAllKeys);
|
||||
|
||||
$designerConfig = $this->databaseDesigner->getDesignerConfig(
|
||||
Current::$database,
|
||||
$scriptDisplayField,
|
||||
$scriptTables,
|
||||
$scriptContr,
|
||||
$displayPage,
|
||||
);
|
||||
|
||||
$mainHtml = $this->template->render('database/designer/main', [
|
||||
'db' => Current::$database,
|
||||
'text_dir' => $GLOBALS['text_dir'],
|
||||
'hidden_input_fields' => Url::getHiddenInputs($request->getQueryParam('db')),
|
||||
'designer_config' => json_encode($designerConfig),
|
||||
'display_page' => $displayPage,
|
||||
'has_query' => $visualBuilderMode,
|
||||
'visual_builder' => $visualBuilderMode,
|
||||
'selected_page' => $selectedPage,
|
||||
'params_array' => $classesSideMenu,
|
||||
'tab_pos' => $tablePositions,
|
||||
'tab_column' => $tableColumn,
|
||||
'tables_all_keys' => $tablesAllKeys,
|
||||
'designerTables' => $scriptDisplayField,
|
||||
'columns_type' => $columnsType,
|
||||
]);
|
||||
|
||||
// Embed some data into HTML, later it will be read
|
||||
// by designer/init.js and converted to JS variables.
|
||||
$this->response->addHTML(
|
||||
$this->databaseDesigner->getHtmlForMain(
|
||||
Current::$database,
|
||||
$request->getQueryParam('db'),
|
||||
$scriptDisplayField,
|
||||
$scriptTables,
|
||||
$scriptContr,
|
||||
$displayPage,
|
||||
$visualBuilderMode,
|
||||
$selectedPage,
|
||||
$classesSideMenu,
|
||||
$tablePositions,
|
||||
$tableColumn,
|
||||
$tablesAllKeys,
|
||||
),
|
||||
);
|
||||
$this->response->addHTML($mainHtml);
|
||||
|
||||
$this->response->addHTML('<div id="PMA_disable_floating_menubar"></div>');
|
||||
}
|
||||
|
||||
@ -12,7 +12,6 @@ use PhpMyAdmin\DatabaseInterface;
|
||||
use PhpMyAdmin\Message;
|
||||
use PhpMyAdmin\Plugins;
|
||||
use PhpMyAdmin\Template;
|
||||
use PhpMyAdmin\Url;
|
||||
use PhpMyAdmin\Util;
|
||||
use stdClass;
|
||||
|
||||
@ -20,7 +19,6 @@ use function __;
|
||||
use function intval;
|
||||
use function is_array;
|
||||
use function json_decode;
|
||||
use function json_encode;
|
||||
use function str_contains;
|
||||
|
||||
/**
|
||||
@ -210,62 +208,6 @@ class Designer
|
||||
return $classesArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns HTML for Designer page
|
||||
*
|
||||
* @param string $db database in use
|
||||
* @param string $getDb database in url
|
||||
* @param DesignerTable[] $designerTables The designer tables
|
||||
* @param mixed[] $scriptTables array on foreign key support for each table
|
||||
* @param mixed[] $scriptContr initialization data array
|
||||
* @param int $displayPage page number of the selected page
|
||||
* @param bool $visualBuilderMode whether this is visual query builder
|
||||
* @param string|null $selectedPage name of the selected page
|
||||
* @param mixed[] $paramsArray array with class name for various buttons on side menu
|
||||
* @param mixed[] $tablePositions table positions
|
||||
* @param list<ColumnInfo>[] $tableColumnsInfo table column info
|
||||
* @param array<string, bool> $tablesAllKeys all indices
|
||||
*
|
||||
* @return string html
|
||||
*/
|
||||
public function getHtmlForMain(
|
||||
string $db,
|
||||
string $getDb,
|
||||
array $designerTables,
|
||||
array $scriptTables,
|
||||
array $scriptContr,
|
||||
int $displayPage,
|
||||
bool $visualBuilderMode,
|
||||
string|null $selectedPage,
|
||||
array $paramsArray,
|
||||
array $tablePositions,
|
||||
array $tableColumnsInfo,
|
||||
array $tablesAllKeys,
|
||||
): string {
|
||||
$GLOBALS['text_dir'] ??= null;
|
||||
|
||||
$columnsType = $this->getColumnTypes($tableColumnsInfo, $tablesAllKeys);
|
||||
|
||||
$designerConfig = $this->getDesignerConfig($db, $designerTables, $scriptTables, $scriptContr, $displayPage);
|
||||
|
||||
return $this->template->render('database/designer/main', [
|
||||
'db' => $db,
|
||||
'text_dir' => $GLOBALS['text_dir'],
|
||||
'hidden_input_fields' => Url::getHiddenInputs($getDb),
|
||||
'designer_config' => json_encode($designerConfig),
|
||||
'display_page' => $displayPage,
|
||||
'has_query' => $visualBuilderMode,
|
||||
'visual_builder' => $visualBuilderMode,
|
||||
'selected_page' => $selectedPage,
|
||||
'params_array' => $paramsArray,
|
||||
'tab_pos' => $tablePositions,
|
||||
'tab_column' => $tableColumnsInfo,
|
||||
'tables_all_keys' => $tablesAllKeys,
|
||||
'designerTables' => $designerTables,
|
||||
'columns_type' => $columnsType,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param list<ColumnInfo>[] $tableColumnsInfo table column info
|
||||
* @param array<string, bool> $tablesAllKeys unique or primary indices
|
||||
@ -313,7 +255,7 @@ class Designer
|
||||
* @param mixed[] $scriptTables array on foreign key support for each table
|
||||
* @param mixed[] $scriptContr initialization data array
|
||||
*/
|
||||
private function getDesignerConfig(
|
||||
public function getDesignerConfig(
|
||||
string $db,
|
||||
array $designerTables,
|
||||
array $scriptTables,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user