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 23:49:12 +0300
committerMaurício Meneghini Fauth <mauricio@fauth.dev>2022-07-30 23:49:12 +0300
commitefc04db52b7e77b6ec067fad427fa3a3a2c88689 (patch)
treeedeb7f077776ddb15e574b1a403e38bb1c7ff899 /libraries
parentdd25695569bc86f66e6be393bf92394229639549 (diff)
Extract normalization 3NF step 1 action
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'libraries')
-rw-r--r--libraries/classes/Controllers/Normalization/ThirdNormalForm/FirstStepController.php30
-rw-r--r--libraries/classes/Controllers/NormalizationController.php8
-rw-r--r--libraries/routes.php1
-rw-r--r--libraries/services_controllers.php8
4 files changed, 39 insertions, 8 deletions
diff --git a/libraries/classes/Controllers/Normalization/ThirdNormalForm/FirstStepController.php b/libraries/classes/Controllers/Normalization/ThirdNormalForm/FirstStepController.php
new file mode 100644
index 0000000000..5b50da6a87
--- /dev/null
+++ b/libraries/classes/Controllers/Normalization/ThirdNormalForm/FirstStepController.php
@@ -0,0 +1,30 @@
+<?php
+
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Controllers\Normalization\ThirdNormalForm;
+
+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
+ {
+ $tables = $_POST['tables'];
+ $res = $this->normalization->getHtmlFor3NFstep1($GLOBALS['db'], $tables);
+ $this->response->addJSON($res);
+ }
+}
diff --git a/libraries/classes/Controllers/NormalizationController.php b/libraries/classes/Controllers/NormalizationController.php
index 02451e26fa..1dbf6586bd 100644
--- a/libraries/classes/Controllers/NormalizationController.php
+++ b/libraries/classes/Controllers/NormalizationController.php
@@ -135,14 +135,6 @@ class NormalizationController extends AbstractController
return;
}
- if (isset($_POST['step']) && $_POST['step'] == '3.1') {
- $tables = $_POST['tables'];
- $res = $this->normalization->getHtmlFor3NFstep1($GLOBALS['db'], $tables);
- $this->response->addJSON($res);
-
- return;
- }
-
$this->render('table/normalization/normalization', [
'db' => $GLOBALS['db'],
'table' => $GLOBALS['table'],
diff --git a/libraries/routes.php b/libraries/routes.php
index d150421a99..7f17bbf603 100644
--- a/libraries/routes.php
+++ b/libraries/routes.php
@@ -138,6 +138,7 @@ return static function (RouteCollector $routes): void {
$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->post('/3nf/step1', Normalization\ThirdNormalForm\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 dc7fa99985..3d9eb312ea 100644
--- a/libraries/services_controllers.php
+++ b/libraries/services_controllers.php
@@ -633,6 +633,14 @@ return [
'$normalization' => '@normalization',
],
],
+ Normalization\ThirdNormalForm\FirstStepController::class => [
+ 'class' => Normalization\ThirdNormalForm\FirstStepController::class,
+ 'arguments' => [
+ '$response' => '@response',
+ '$template' => '@template',
+ '$normalization' => '@normalization',
+ ],
+ ],
NormalizationController::class => [
'class' => NormalizationController::class,
'arguments' => [