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 03:10:52 +0300
committerMaurício Meneghini Fauth <mauricio@fauth.dev>2022-07-30 03:10:52 +0300
commit51db9db3ddc06e0bfc2909abb7585325885d2e7d (patch)
tree2771b9cf458729f755e690d81c52746e24223b9b /libraries
parentbcb02c2e0149f95e88b207b7206a6da35362a04a (diff)
Extract normalization 2NF step 1 action
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'libraries')
-rw-r--r--libraries/classes/Controllers/Normalization/SecondNormalForm/FirstStepController.php29
-rw-r--r--libraries/classes/Controllers/NormalizationController.php7
-rw-r--r--libraries/routes.php1
-rw-r--r--libraries/services_controllers.php8
4 files changed, 38 insertions, 7 deletions
diff --git a/libraries/classes/Controllers/Normalization/SecondNormalForm/FirstStepController.php b/libraries/classes/Controllers/Normalization/SecondNormalForm/FirstStepController.php
new file mode 100644
index 0000000000..e0f59b6c90
--- /dev/null
+++ b/libraries/classes/Controllers/Normalization/SecondNormalForm/FirstStepController.php
@@ -0,0 +1,29 @@
+<?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;
+
+final class FirstStepController 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
+ {
+ $res = $this->normalization->getHtmlFor2NFstep1($GLOBALS['db'], $GLOBALS['table']);
+ $this->response->addJSON($res);
+ }
+}
diff --git a/libraries/classes/Controllers/NormalizationController.php b/libraries/classes/Controllers/NormalizationController.php
index 5d48db966d..7886423ce7 100644
--- a/libraries/classes/Controllers/NormalizationController.php
+++ b/libraries/classes/Controllers/NormalizationController.php
@@ -143,13 +143,6 @@ class NormalizationController extends AbstractController
return;
}
- if (isset($_POST['step']) && $_POST['step'] == '2.1') {
- $res = $this->normalization->getHtmlFor2NFstep1($GLOBALS['db'], $GLOBALS['table']);
- $this->response->addJSON($res);
-
- return;
- }
-
if (isset($_POST['step']) && $_POST['step'] == '3.1') {
$tables = $_POST['tables'];
$res = $this->normalization->getHtmlFor3NFstep1($GLOBALS['db'], $tables);
diff --git a/libraries/routes.php b/libraries/routes.php
index 5da6ea4b34..dad41d8b24 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/step1', Normalization\SecondNormalForm\FirstStepController::class);
});
$routes->get('/phpinfo', PhpInfoController::class);
$routes->addGroup('/preferences', static function (RouteCollector $routes): void {
diff --git a/libraries/services_controllers.php b/libraries/services_controllers.php
index 944fa534f3..9009548946 100644
--- a/libraries/services_controllers.php
+++ b/libraries/services_controllers.php
@@ -617,6 +617,14 @@ return [
'$normalization' => '@normalization',
],
],
+ Normalization\SecondNormalForm\FirstStepController::class => [
+ 'class' => Normalization\SecondNormalForm\FirstStepController::class,
+ 'arguments' => [
+ '$response' => '@response',
+ '$template' => '@template',
+ '$normalization' => '@normalization',
+ ],
+ ],
NormalizationController::class => [
'class' => NormalizationController::class,
'arguments' => [