You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
2 years ago
|
<?php
|
||
|
/**
|
||
|
* Front controller for config view / download and clear
|
||
|
*/
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
use PhpMyAdmin\Config\Forms\Setup\ConfigForm;
|
||
|
use PhpMyAdmin\Core;
|
||
|
use PhpMyAdmin\ResponseRenderer;
|
||
|
use PhpMyAdmin\Setup\ConfigGenerator;
|
||
|
use PhpMyAdmin\Url;
|
||
|
|
||
|
if (! defined('ROOT_PATH')) {
|
||
|
// phpcs:disable PSR1.Files.SideEffects
|
||
|
define('ROOT_PATH', dirname(__DIR__) . DIRECTORY_SEPARATOR);
|
||
|
// phpcs:enable
|
||
|
}
|
||
|
|
||
|
// phpcs:disable PSR1.Files.SideEffects
|
||
|
define('PHPMYADMIN', true);
|
||
|
// phpcs:enable
|
||
|
|
||
|
require ROOT_PATH . 'setup/lib/common.inc.php';
|
||
|
|
||
|
$form_display = new ConfigForm($GLOBALS['ConfigFile']);
|
||
|
$form_display->save('Config');
|
||
|
|
||
|
$response = ResponseRenderer::getInstance();
|
||
|
$response->disable();
|
||
|
|
||
|
if (isset($_POST['eol'])) {
|
||
|
$_SESSION['eol'] = $_POST['eol'] === 'unix' ? 'unix' : 'win';
|
||
|
}
|
||
|
|
||
|
if (isset($_POST['submit_clear']) && is_scalar($_POST['submit_clear']) ? $_POST['submit_clear'] : '') {
|
||
|
// Clear current config and return to main page
|
||
|
$GLOBALS['ConfigFile']->resetConfigData();
|
||
|
// drop post data
|
||
|
$response->generateHeader303('index.php' . Url::getCommonRaw());
|
||
|
exit;
|
||
|
}
|
||
|
|
||
|
if (isset($_POST['submit_download']) && is_scalar($_POST['submit_download']) ? $_POST['submit_download'] : '') {
|
||
|
// Output generated config file
|
||
|
Core::downloadHeader('config.inc.php', 'text/plain');
|
||
|
$response->disable();
|
||
|
echo ConfigGenerator::getConfigFile($GLOBALS['ConfigFile']);
|
||
|
exit;
|
||
|
}
|
||
|
|
||
|
// Show generated config file in a <textarea>
|
||
|
$response->generateHeader303('index.php' . Url::getCommonRaw(['page' => 'config']));
|
||
|
exit;
|