3 * Front controller for config view / download and clear
6 declare(strict_types
=1);
8 use PhpMyAdmin\Config\Forms\Setup\ConfigForm
;
10 use PhpMyAdmin\ResponseRenderer
;
11 use PhpMyAdmin\Setup\ConfigGenerator
;
14 if (! defined('ROOT_PATH')) {
15 // phpcs:disable PSR1.Files.SideEffects
16 define('ROOT_PATH', dirname(__DIR__
) . DIRECTORY_SEPARATOR
);
20 // phpcs:disable PSR1.Files.SideEffects
21 define('PHPMYADMIN', true);
24 require ROOT_PATH
. 'setup/lib/common.inc.php';
26 $form_display = new ConfigForm($GLOBALS['ConfigFile']);
27 $form_display->save('Config');
29 $response = ResponseRenderer
::getInstance();
32 if (isset($_POST['eol'])) {
33 $_SESSION['eol'] = $_POST['eol'] === 'unix' ?
'unix' : 'win';
36 if (isset($_POST['submit_clear']) && is_scalar($_POST['submit_clear']) ?
$_POST['submit_clear'] : '') {
37 // Clear current config and return to main page
38 $GLOBALS['ConfigFile']->resetConfigData();
40 $response->generateHeader303('index.php' . Url
::getCommonRaw());
44 if (isset($_POST['submit_download']) && is_scalar($_POST['submit_download']) ?
$_POST['submit_download'] : '') {
45 // Output generated config file
46 Core
::downloadHeader('config.inc.php', 'text/plain');
48 echo ConfigGenerator
::getConfigFile($GLOBALS['ConfigFile']);
52 // Show generated config file in a <textarea>
53 $response->generateHeader303('index.php' . Url
::getCommonRaw(['page' => 'config']));