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-08-03 02:48:48 +0300
committerMaurício Meneghini Fauth <mauricio@fauth.dev>2022-08-03 02:48:48 +0300
commita37e5681c8b1000661f710346281caf52b53c3fc (patch)
tree40c520843f99fc5621ffb587d2772270cec4ff3a /libraries
parentc550d41d1ddece5c85dbd00cdc984ed7e953aaef (diff)
Extract normalization's get columns action
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'libraries')
-rw-r--r--libraries/classes/Controllers/Normalization/GetColumnsController.php39
-rw-r--r--libraries/classes/Controllers/Normalization/MainController.php16
-rw-r--r--libraries/routes.php1
-rw-r--r--libraries/services_controllers.php8
4 files changed, 48 insertions, 16 deletions
diff --git a/libraries/classes/Controllers/Normalization/GetColumnsController.php b/libraries/classes/Controllers/Normalization/GetColumnsController.php
new file mode 100644
index 0000000000..f9d6e333b6
--- /dev/null
+++ b/libraries/classes/Controllers/Normalization/GetColumnsController.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Controllers\Normalization;
+
+use PhpMyAdmin\Controllers\AbstractController;
+use PhpMyAdmin\Http\ServerRequest;
+use PhpMyAdmin\Normalization;
+use PhpMyAdmin\ResponseRenderer;
+use PhpMyAdmin\Template;
+
+use function __;
+use function _pgettext;
+
+final class GetColumnsController 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
+ {
+ $html = '<option selected disabled>' . __('Select one…') . '</option>'
+ . '<option value="no_such_col">' . __('No such column') . '</option>';
+ //get column whose datatype falls under string category
+ $html .= $this->normalization->getHtmlForColumnsList(
+ $GLOBALS['db'],
+ $GLOBALS['table'],
+ _pgettext('string types', 'String')
+ );
+ $this->response->addHTML($html);
+ }
+}
diff --git a/libraries/classes/Controllers/Normalization/MainController.php b/libraries/classes/Controllers/Normalization/MainController.php
index 1d36f0cfbb..cfc59e0759 100644
--- a/libraries/classes/Controllers/Normalization/MainController.php
+++ b/libraries/classes/Controllers/Normalization/MainController.php
@@ -11,8 +11,6 @@ use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
-use function __;
-use function _pgettext;
use function intval;
use function min;
@@ -32,20 +30,6 @@ class MainController extends AbstractController
public function __invoke(ServerRequest $request): void
{
- if (isset($_POST['getColumns'])) {
- $html = '<option selected disabled>' . __('Select one…') . '</option>'
- . '<option value="no_such_col">' . __('No such column') . '</option>';
- //get column whose datatype falls under string category
- $html .= $this->normalization->getHtmlForColumnsList(
- $GLOBALS['db'],
- $GLOBALS['table'],
- _pgettext('string types', 'String')
- );
- echo $html;
-
- return;
- }
-
if (isset($_POST['splitColumn'])) {
$num_fields = min(4096, intval($_POST['numFields']));
$html = $this->normalization->getHtmlForCreateNewColumn($num_fields, $GLOBALS['db'], $GLOBALS['table']);
diff --git a/libraries/routes.php b/libraries/routes.php
index 236204281d..e8d730e776 100644
--- a/libraries/routes.php
+++ b/libraries/routes.php
@@ -142,6 +142,7 @@ return static function (RouteCollector $routes): void {
$routes->post('/3nf/new-tables', Normalization\ThirdNormalForm\NewTablesController::class);
$routes->post('/3nf/step1', Normalization\ThirdNormalForm\FirstStepController::class);
$routes->post('/add-new-primary', Normalization\AddNewPrimaryController::class);
+ $routes->post('/get-columns', Normalization\GetColumnsController::class);
$routes->post('/move-repeating-group', Normalization\MoveRepeatingGroup::class);
});
$routes->get('/phpinfo', PhpInfoController::class);
diff --git a/libraries/services_controllers.php b/libraries/services_controllers.php
index df20d35ff4..79f6ee8d9f 100644
--- a/libraries/services_controllers.php
+++ b/libraries/services_controllers.php
@@ -672,6 +672,14 @@ return [
'$normalization' => '@normalization',
],
],
+ Normalization\GetColumnsController::class => [
+ 'class' => Normalization\GetColumnsController::class,
+ 'arguments' => [
+ '$response' => '@response',
+ '$template' => '@template',
+ '$normalization' => '@normalization',
+ ],
+ ],
Normalization\MoveRepeatingGroup::class => [
'class' => Normalization\MoveRepeatingGroup::class,
'arguments' => [