Merge branch 'origin/master' into Weblate.
[phpmyadmin.git] / setup / index.php
blob03e945d39fcc004e887552bb45fff8face442b7f
1 <?php
2 /**
3 * Front controller for setup script
4 */
6 declare(strict_types=1);
8 use PhpMyAdmin\Controllers\Setup\ConfigController;
9 use PhpMyAdmin\Controllers\Setup\FormController;
10 use PhpMyAdmin\Controllers\Setup\HomeController;
11 use PhpMyAdmin\Controllers\Setup\ServersController;
12 use PhpMyAdmin\Core;
13 use PhpMyAdmin\Template;
14 use PhpMyAdmin\Url;
16 if (! defined('ROOT_PATH')) {
17 // phpcs:disable PSR1.Files.SideEffects
18 define('ROOT_PATH', dirname(__DIR__) . DIRECTORY_SEPARATOR);
19 // phpcs:enable
22 global $cfg;
24 require ROOT_PATH . 'setup/lib/common.inc.php';
26 if (@file_exists(CONFIG_FILE) && ! $cfg['DBG']['demo']) {
27 Core::fatalError(__('Configuration already exists, setup is disabled!'));
30 $page = Core::isValid($_GET['page'], 'scalar') ? (string) $_GET['page'] : null;
31 $page = preg_replace('/[^a-z]/', '', $page);
32 if ($page === '') {
33 $page = 'index';
36 Core::noCacheHeader();
38 if ($page === 'form') {
39 $controller = new FormController($GLOBALS['ConfigFile'], new Template());
40 echo $controller->index([
41 'formset' => $_GET['formset'] ?? null,
42 ]);
44 return;
47 if ($page === 'config') {
48 $controller = new ConfigController($GLOBALS['ConfigFile'], new Template());
49 echo $controller->index([
50 'formset' => $_GET['formset'] ?? null,
51 'eol' => $_GET['eol'] ?? null,
52 ]);
54 return;
57 if ($page === 'servers') {
58 $controller = new ServersController($GLOBALS['ConfigFile'], new Template());
59 if (isset($_GET['mode']) && $_GET['mode'] === 'remove' && $_SERVER['REQUEST_METHOD'] === 'POST') {
60 $controller->destroy([
61 'id' => $_GET['id'] ?? null,
62 ]);
63 header('Location: index.php' . Url::getCommonRaw());
65 return;
68 echo $controller->index([
69 'formset' => $_GET['formset'] ?? null,
70 'mode' => $_GET['mode'] ?? null,
71 'id' => $_GET['id'] ?? null,
72 ]);
74 return;
77 $controller = new HomeController($GLOBALS['ConfigFile'], new Template());
78 echo $controller->index([
79 'formset' => $_GET['formset'] ?? null,
80 'action_done' => $_GET['action_done'] ?? null,
81 'version_check' => $_GET['version_check'] ?? null,
82 ]);