81 lines
2.0 KiB
PHP
Raw Normal View History

2019-12-28 21:02:28 +01:00
<?php
/**
* Front controller for setup script
*/
2022-03-22 10:25:16 +01:00
2019-12-28 21:02:28 +01:00
declare(strict_types=1);
use PhpMyAdmin\Controllers\Setup\ConfigController;
use PhpMyAdmin\Controllers\Setup\FormController;
use PhpMyAdmin\Controllers\Setup\HomeController;
use PhpMyAdmin\Controllers\Setup\ServersController;
use PhpMyAdmin\Core;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
if (! defined('ROOT_PATH')) {
2022-03-22 10:25:16 +01:00
// phpcs:disable PSR1.Files.SideEffects
2019-12-28 21:02:28 +01:00
define('ROOT_PATH', dirname(__DIR__) . DIRECTORY_SEPARATOR);
2022-03-22 10:25:16 +01:00
// phpcs:enable
2019-12-28 21:02:28 +01:00
}
global $cfg;
require ROOT_PATH . 'setup/lib/common.inc.php';
if (@file_exists(CONFIG_FILE) && ! $cfg['DBG']['demo']) {
Core::fatalError(__('Configuration already exists, setup is disabled!'));
}
2022-03-22 10:25:16 +01:00
$page = 'index';
if (isset($_GET['page']) && in_array($_GET['page'], ['form', 'config', 'servers'], true)) {
$page = $_GET['page'];
2019-12-28 21:02:28 +01:00
}
Core::noCacheHeader();
if ($page === 'form') {
$controller = new FormController($GLOBALS['ConfigFile'], new Template());
echo $controller->index([
'formset' => $_GET['formset'] ?? null,
]);
2022-03-22 10:25:16 +01:00
return;
}
if ($page === 'config') {
2019-12-28 21:02:28 +01:00
$controller = new ConfigController($GLOBALS['ConfigFile'], new Template());
echo $controller->index([
'formset' => $_GET['formset'] ?? null,
'eol' => $_GET['eol'] ?? null,
]);
2022-03-22 10:25:16 +01:00
return;
}
if ($page === 'servers') {
2019-12-28 21:02:28 +01:00
$controller = new ServersController($GLOBALS['ConfigFile'], new Template());
2022-03-22 10:25:16 +01:00
if (isset($_GET['mode']) && $_GET['mode'] === 'remove' && ($_SERVER['REQUEST_METHOD'] ?? 'GET') === 'POST') {
2019-12-28 21:02:28 +01:00
$controller->destroy([
'id' => $_GET['id'] ?? null,
]);
header('Location: index.php' . Url::getCommonRaw());
2022-03-22 10:25:16 +01:00
return;
2019-12-28 21:02:28 +01:00
}
2022-03-22 10:25:16 +01:00
2019-12-28 21:02:28 +01:00
echo $controller->index([
'formset' => $_GET['formset'] ?? null,
2022-03-22 10:25:16 +01:00
'mode' => $_GET['mode'] ?? null,
'id' => $_GET['id'] ?? null,
2019-12-28 21:02:28 +01:00
]);
2022-03-22 10:25:16 +01:00
return;
2019-12-28 21:02:28 +01:00
}
2022-03-22 10:25:16 +01:00
$controller = new HomeController($GLOBALS['ConfigFile'], new Template());
echo $controller->index([
'formset' => $_GET['formset'] ?? null,
'version_check' => $_GET['version_check'] ?? null,
]);