Skip to content

Commit

Permalink
Create Database\ImportController class
Browse files Browse the repository at this point in the history
Moves the database import entry point logic to the controller and
removes the entry point file.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
  • Loading branch information
MauricioFauth committed Dec 29, 2019
1 parent 5ad3376 commit 5debd00
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 56 deletions.
58 changes: 58 additions & 0 deletions libraries/classes/Controllers/Database/ImportController.php
@@ -0,0 +1,58 @@
<?php
/**
* @package PhpMyAdmin\Controllers\Database
*/
declare(strict_types=1);

namespace PhpMyAdmin\Controllers\Database;

use PhpMyAdmin\Config\PageSettings;
use PhpMyAdmin\Display\Import;
use PhpMyAdmin\Util;

/**
* @package PhpMyAdmin\Controllers\Database
*/
final class ImportController extends AbstractController
{
/**
* @return void
*/
public function index(): void
{
global $db, $max_upload_size, $table, $tables, $num_tables, $total_num_tables, $is_show_stats;
global $db_is_system_schema, $tooltip_truename, $tooltip_aliasname, $pos, $sub_part;

PageSettings::showGroup('Import');

$header = $this->response->getHeader();
$scripts = $header->getScripts();
$scripts->addFile('import.js');

/**
* Gets tables information and displays top links
*/
require ROOT_PATH . 'libraries/db_common.inc.php';

list(
$tables,
$num_tables,
$total_num_tables,
$sub_part,
$is_show_stats,
$db_is_system_schema,
$tooltip_truename,
$tooltip_aliasname,
$pos
) = Util::getDbInfo($db, $sub_part ?? '');

$this->response->addHTML(
Import::get(
'database',
$db,
$table,
$max_upload_size
)
);
}
}
54 changes: 0 additions & 54 deletions libraries/entry_points/database/import.php

This file was deleted.

7 changes: 5 additions & 2 deletions libraries/routes.php
Expand Up @@ -15,6 +15,7 @@
use PhpMyAdmin\Controllers\Database\DataDictionaryController;
use PhpMyAdmin\Controllers\Database\DesignerController;
use PhpMyAdmin\Controllers\Database\EventsController;
use PhpMyAdmin\Controllers\Database\ImportController;
use PhpMyAdmin\Controllers\Database\MultiTableQueryController;
use PhpMyAdmin\Controllers\Database\OperationsController;
use PhpMyAdmin\Controllers\Database\QueryByExampleController;
Expand Down Expand Up @@ -184,8 +185,10 @@
$routes->addRoute(['GET', 'POST'], '/export', function () {
require_once ROOT_PATH . 'libraries/entry_points/database/export.php';
});
$routes->addRoute(['GET', 'POST'], '/import', function () {
require_once ROOT_PATH . 'libraries/entry_points/database/import.php';
$routes->addRoute(['GET', 'POST'], '/import', function () use ($containerBuilder) {
/** @var ImportController $controller */
$controller = $containerBuilder->get(ImportController::class);
$controller->index();
});
$routes->addGroup('/multi_table_query', function (RouteCollector $routes) use ($containerBuilder, $response) {
/** @var MultiTableQueryController $controller */
Expand Down
8 changes: 8 additions & 0 deletions services_controllers.yml
Expand Up @@ -68,6 +68,14 @@ services:
template: '@template'
db: '%db%'

PhpMyAdmin\Controllers\Database\ImportController:
class: 'PhpMyAdmin\Controllers\Database\ImportController'
arguments:
response: '@response'
dbi: '@dbi'
template: '@template'
db: '%db%'

PhpMyAdmin\Controllers\Database\MultiTableQueryController:
class: 'PhpMyAdmin\Controllers\Database\MultiTableQueryController'
arguments:
Expand Down

0 comments on commit 5debd00

Please sign in to comment.