Create ThemesController

Moves themes entry point logic to the ThemesController and removes the
themes.php entry point file.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
Maurício Meneghini Fauth 2019-12-05 10:56:40 -03:00
parent 2bae3aa9fd
commit be95d29206
4 changed files with 49 additions and 38 deletions

View File

@ -0,0 +1,37 @@
<?php
/**
* @package PhpMyAdmin\Controllers
*/
declare(strict_types=1);
namespace PhpMyAdmin\Controllers;
use PhpMyAdmin\ThemeManager;
/**
* Displays list of themes.
* @package PhpMyAdmin\Controllers
*/
class ThemesController extends AbstractController
{
/**
* @return string
*/
public function index(): string
{
$this->response->getFooter()->setMinimal();
$header = $this->response->getHeader();
$header->setBodyId('bodythemes');
$header->setTitle('phpMyAdmin - ' . __('Theme'));
$header->disableMenuAndConsole();
return $this->template->render('themes', [
'version' => preg_replace(
'/([0-9]*)\.([0-9]*)\..*/',
'\1_\2',
PMA_VERSION
),
'previews' => ThemeManager::getInstance()->getPrintPreviews(),
]);
}
}

View File

@ -1,36 +0,0 @@
<?php
/**
* Displays list of themes.
*
* @package PhpMyAdmin
*/
declare(strict_types=1);
use PhpMyAdmin\Response;
use PhpMyAdmin\Template;
use PhpMyAdmin\ThemeManager;
if (! defined('PHPMYADMIN')) {
exit;
}
global $containerBuilder;
/** @var Template $template */
$template = $containerBuilder->get('template');
$response = Response::getInstance();
$response->getFooter()->setMinimal();
$header = $response->getHeader();
$header->setBodyId('bodythemes');
$header->setTitle('phpMyAdmin - ' . __('Theme'));
$header->disableMenuAndConsole();
$response->addHTML($template->render('themes', [
'version' => preg_replace(
'/([0-9]*)\.([0-9]*)\..*/',
'\1_\2',
PMA_VERSION
),
'previews' => ThemeManager::getInstance()->getPrintPreviews(),
]));

View File

@ -36,6 +36,7 @@ use PhpMyAdmin\Controllers\Server\Status\QueriesController;
use PhpMyAdmin\Controllers\Server\Status\StatusController;
use PhpMyAdmin\Controllers\Server\Status\VariablesController as StatusVariables;
use PhpMyAdmin\Controllers\Server\VariablesController;
use PhpMyAdmin\Controllers\ThemesController;
use PhpMyAdmin\Controllers\TransformationOverviewController;
use PhpMyAdmin\Controllers\UserPasswordController;
use PhpMyAdmin\Controllers\VersionCheckController;
@ -542,8 +543,10 @@ return function (RouteCollector $routes) use ($containerBuilder, $response) {
require_once ROOT_PATH . 'libraries/entry_points/table/zoom_select.php';
});
});
$routes->get('/themes', function () {
require_once ROOT_PATH . 'libraries/entry_points/themes.php';
$routes->get('/themes', function () use ($containerBuilder, $response) {
/** @var ThemesController $controller */
$controller = $containerBuilder->get(ThemesController::class);
$response->addHTML($controller->index());
});
$routes->addGroup('/transformation', function (RouteCollector $routes) use ($containerBuilder, $response) {
$routes->addRoute(['GET', 'POST'], '/overview', function () use ($containerBuilder, $response) {

View File

@ -393,6 +393,13 @@ services:
transformations: '@transformations'
create_add_field: '@create_add_field'
PhpMyAdmin\Controllers\ThemesController:
class: 'PhpMyAdmin\Controllers\ThemesController'
arguments:
response: '@response'
dbi: '@dbi'
template: '@template'
PhpMyAdmin\Controllers\TransformationOverviewController:
class: 'PhpMyAdmin\Controllers\TransformationOverviewController'
arguments: