Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurício Meneghini Fauth <mauricio@fauth.dev>2022-07-30 06:36:58 +0300
committerMaurício Meneghini Fauth <mauricio@fauth.dev>2022-07-30 06:36:58 +0300
commitdd25695569bc86f66e6be393bf92394229639549 (patch)
tree33c01835e897b2caace218b8bcd339e76acd2acc /libraries
parent51db9db3ddc06e0bfc2909abb7585325885d2e7d (diff)
Extract normalization 2NF new tables action
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'libraries')
-rw-r--r--libraries/classes/Controllers/Normalization/SecondNormalForm/NewTablesController.php32
-rw-r--r--libraries/classes/Controllers/NormalizationController.php8
-rw-r--r--libraries/routes.php1
-rw-r--r--libraries/services_controllers.php8
4 files changed, 41 insertions, 8 deletions
diff --git a/libraries/classes/Controllers/Normalization/SecondNormalForm/NewTablesController.php b/libraries/classes/Controllers/Normalization/SecondNormalForm/NewTablesController.php
new file mode 100644
index 0000000000..07232fa380
--- /dev/null
+++ b/libraries/classes/Controllers/Normalization/SecondNormalForm/NewTablesController.php
@@ -0,0 +1,32 @@
+<?php
+
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Controllers\Normalization\SecondNormalForm;
+
+use PhpMyAdmin\Controllers\AbstractController;
+use PhpMyAdmin\Http\ServerRequest;
+use PhpMyAdmin\Normalization;
+use PhpMyAdmin\ResponseRenderer;
+use PhpMyAdmin\Template;
+
+use function json_decode;
+
+final class NewTablesController extends AbstractController
+{
+ /** @var Normalization */
+ private $normalization;
+
+ public function __construct(ResponseRenderer $response, Template $template, Normalization $normalization)
+ {
+ parent::__construct($response, $template);
+ $this->normalization = $normalization;
+ }
+
+ public function __invoke(ServerRequest $request): void
+ {
+ $partialDependencies = json_decode($_POST['pd'], true);
+ $html = $this->normalization->getHtmlForNewTables2NF($partialDependencies, $GLOBALS['table']);
+ $this->response->addHTML($html);
+ }
+}
diff --git a/libraries/classes/Controllers/NormalizationController.php b/libraries/classes/Controllers/NormalizationController.php
index 7886423ce7..02451e26fa 100644
--- a/libraries/classes/Controllers/NormalizationController.php
+++ b/libraries/classes/Controllers/NormalizationController.php
@@ -82,14 +82,6 @@ class NormalizationController extends AbstractController
return;
}
- if (isset($_POST['getNewTables2NF'])) {
- $partialDependencies = json_decode($_POST['pd'], true);
- $html = $this->normalization->getHtmlForNewTables2NF($partialDependencies, $GLOBALS['table']);
- echo $html;
-
- return;
- }
-
if (isset($_POST['getNewTables3NF'])) {
$dependencies = json_decode($_POST['pd']);
$tables = json_decode($_POST['tables'], true);
diff --git a/libraries/routes.php b/libraries/routes.php
index dad41d8b24..d150421a99 100644
--- a/libraries/routes.php
+++ b/libraries/routes.php
@@ -136,6 +136,7 @@ return static function (RouteCollector $routes): void {
$routes->post('/1nf/step2', Normalization\FirstNormalForm\SecondStepController::class);
$routes->post('/1nf/step3', Normalization\FirstNormalForm\ThirdStepController::class);
$routes->post('/1nf/step4', Normalization\FirstNormalForm\FourthStepController::class);
+ $routes->post('/2nf/new-tables', Normalization\SecondNormalForm\NewTablesController::class);
$routes->post('/2nf/step1', Normalization\SecondNormalForm\FirstStepController::class);
});
$routes->get('/phpinfo', PhpInfoController::class);
diff --git a/libraries/services_controllers.php b/libraries/services_controllers.php
index 9009548946..dc7fa99985 100644
--- a/libraries/services_controllers.php
+++ b/libraries/services_controllers.php
@@ -625,6 +625,14 @@ return [
'$normalization' => '@normalization',
],
],
+ Normalization\SecondNormalForm\NewTablesController::class => [
+ 'class' => Normalization\SecondNormalForm\NewTablesController::class,
+ 'arguments' => [
+ '$response' => '@response',
+ '$template' => '@template',
+ '$normalization' => '@normalization',
+ ],
+ ],
NormalizationController::class => [
'class' => NormalizationController::class,
'arguments' => [