diff --git a/libraries/classes/Controllers/ThemesController.php b/libraries/classes/Controllers/ThemesController.php new file mode 100644 index 0000000000..57d25a0e48 --- /dev/null +++ b/libraries/classes/Controllers/ThemesController.php @@ -0,0 +1,37 @@ +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(), + ]); + } +} diff --git a/libraries/entry_points/themes.php b/libraries/entry_points/themes.php deleted file mode 100644 index 39792c133e..0000000000 --- a/libraries/entry_points/themes.php +++ /dev/null @@ -1,36 +0,0 @@ -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(), -])); diff --git a/libraries/routes.php b/libraries/routes.php index 29a97a37ef..4f0a48d769 100644 --- a/libraries/routes.php +++ b/libraries/routes.php @@ -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) { diff --git a/services_controllers.yml b/services_controllers.yml index 3a506a48b1..4b1cf9e1a1 100644 --- a/services_controllers.yml +++ b/services_controllers.yml @@ -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: