Merge pull request #17764 from MauricioFauth/setup-basic-routing
Add basic routing system for setup pages
This commit is contained in:
commit
6785c97d22
@ -83,7 +83,7 @@ function ajaxValidate (parent, id, values) {
|
||||
}
|
||||
|
||||
$parent.data('ajax', $.ajax({
|
||||
url: 'validate.php',
|
||||
url: '../setup/index.php?route=/setup/validate',
|
||||
cache: false,
|
||||
type: 'POST',
|
||||
data: {
|
||||
@ -235,7 +235,7 @@ $(function () {
|
||||
e.preventDefault();
|
||||
var $this = $(this);
|
||||
$.post($this.attr('href'), $this.attr('data-post'), function () {
|
||||
window.location.replace('index.php');
|
||||
window.location.replace('../setup/index.php?route=/setup');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -58,7 +58,7 @@ final class MainController
|
||||
$controller->destroy([
|
||||
'id' => $params['id'] ?? null,
|
||||
]);
|
||||
header('Location: index.php' . Url::getCommonRaw());
|
||||
header('Location: ../setup/index.php' . Url::getCommonRaw(['route' => '/setup']));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ final class ShowConfigController
|
||||
// Clear current config and return to main page
|
||||
$GLOBALS['ConfigFile']->resetConfigData();
|
||||
// drop post data
|
||||
$response->generateHeader303('index.php' . Url::getCommonRaw());
|
||||
$response->generateHeader303('../setup/index.php' . Url::getCommonRaw(['route' => '/setup']));
|
||||
|
||||
return;
|
||||
}
|
||||
@ -52,6 +52,8 @@ final class ShowConfigController
|
||||
}
|
||||
|
||||
// Show generated config file in a <textarea>
|
||||
$response->generateHeader303('index.php' . Url::getCommonRaw(['page' => 'config']));
|
||||
$response->generateHeader303(
|
||||
'../setup/index.php' . Url::getCommonRaw(['route' => '/setup', 'page' => 'config'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@ class FormProcessing
|
||||
$form_display->fixErrors();
|
||||
$response = ResponseRenderer::getInstance();
|
||||
$response->disable();
|
||||
$response->generateHeader303('index.php' . Url::getCommonRaw());
|
||||
$response->generateHeader303('../setup/index.php' . Url::getCommonRaw(['route' => '/setup']));
|
||||
}
|
||||
|
||||
if (! $form_display->process(false)) {
|
||||
@ -47,7 +47,7 @@ class FormProcessing
|
||||
if (! $form_display->hasErrors()) {
|
||||
$response = ResponseRenderer::getInstance();
|
||||
$response->disable();
|
||||
$response->generateHeader303('index.php' . Url::getCommonRaw());
|
||||
$response->generateHeader303('../setup/index.php' . Url::getCommonRaw(['route' => '/setup']));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use PhpMyAdmin\Common;
|
||||
use PhpMyAdmin\Controllers\Setup\ShowConfigController;
|
||||
|
||||
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';
|
||||
|
||||
(new ShowConfigController())(Common::getRequest());
|
||||
@ -4,6 +4,9 @@ declare(strict_types=1);
|
||||
|
||||
use PhpMyAdmin\Common;
|
||||
use PhpMyAdmin\Controllers\Setup\MainController;
|
||||
use PhpMyAdmin\Controllers\Setup\ShowConfigController;
|
||||
use PhpMyAdmin\Controllers\Setup\ValidateController;
|
||||
use PhpMyAdmin\Core;
|
||||
|
||||
if (! defined('ROOT_PATH')) {
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
@ -17,4 +20,24 @@ define('PHPMYADMIN', true);
|
||||
|
||||
require ROOT_PATH . 'setup/lib/common.inc.php';
|
||||
|
||||
(new MainController())(Common::getRequest());
|
||||
$request = Common::getRequest();
|
||||
$route = $request->getRoute();
|
||||
if ($route === '/setup' || $route === '/') {
|
||||
(new MainController())($request);
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($route === '/setup/show-config') {
|
||||
(new ShowConfigController())($request);
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($route === '/setup/validate') {
|
||||
(new ValidateController())($request);
|
||||
exit;
|
||||
}
|
||||
|
||||
Core::fatalError(sprintf(
|
||||
__('Error 404! The page %s was not found.'),
|
||||
'[code]' . htmlspecialchars($route) . '[/code]'
|
||||
));
|
||||
|
||||
@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use PhpMyAdmin\Common;
|
||||
use PhpMyAdmin\Controllers\Setup\ValidateController;
|
||||
|
||||
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';
|
||||
|
||||
(new ValidateController())(Common::getRequest());
|
||||
@ -25,13 +25,13 @@
|
||||
<div id="menu">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="index.php{{ get_common() }}"{{ formset is empty ? ' class="active"' }}>
|
||||
<a href="../setup/{{ url('/setup') }}"{{ formset is empty ? ' class="active"' }}>
|
||||
{% trans 'Overview' %}
|
||||
</a>
|
||||
</li>
|
||||
{% for page in pages %}
|
||||
<li>
|
||||
<a href="index.php{{ get_common({
|
||||
<a href="../setup/{{ url('/setup', {
|
||||
'page': 'form',
|
||||
'formset': page.formset
|
||||
}) }}"{{ formset == page.formset ? ' class="active"' }}>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<div class="card">
|
||||
<h5 class="card-header">config.inc.php</h5>
|
||||
<div class="card-body">
|
||||
<form id="configFileForm" method="post" action="config.php">
|
||||
<form id="configFileForm" method="post" action="../setup/{{ url('/setup/show-config') }}">
|
||||
{% if has_check_page_refresh %}
|
||||
<input type="hidden" name="check_page_refresh" id="check_page_refresh" value="">
|
||||
{% endif %}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<h4>{% trans 'Warning' %}</h4>
|
||||
<p>{% trans 'Submitted form contains errors' %}</p>
|
||||
<p>
|
||||
<a href="{{ get_common(url_params|merge({'mode': 'revert'})) }}">
|
||||
<a href="../setup/{{ url('/setup', url_params|merge({'mode': 'revert'})) }}">
|
||||
{% trans 'Try to revert erroneous fields to their default values' %}
|
||||
</a>
|
||||
</p>
|
||||
@ -10,10 +10,10 @@
|
||||
|
||||
{{ errors|raw }}
|
||||
|
||||
<a class="btn" href="index.php{{ get_common() }}">
|
||||
<a class="btn" href="../setup/{{ url('/setup') }}">
|
||||
{% trans 'Ignore errors' %}
|
||||
</a>
|
||||
|
||||
<a class="btn" href="{{ get_common(url_params|merge({'mode': 'edit'})) }}">
|
||||
<a class="btn" href="../setup/{{ url('/setup', url_params|merge({'mode': 'edit'})) }}">
|
||||
{% trans 'Show form' %}
|
||||
</a>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{% extends 'setup/base.twig' %}
|
||||
{% block content %}
|
||||
|
||||
<form id="select_lang" method="post">
|
||||
<form id="select_lang" method="post" action="../setup/{{ url('/setup') }}">
|
||||
{{ get_hidden_inputs() }}
|
||||
<bdo lang="en" dir="ltr">
|
||||
<label for="lang">
|
||||
@ -33,7 +33,7 @@
|
||||
<fieldset class="pma-fieldset simple">
|
||||
<legend>{% trans 'Servers' %}</legend>
|
||||
|
||||
<form method="get" action="index.php" class="config-form disableAjax">
|
||||
<form method="get" action="../setup/{{ url('/setup') }}" class="config-form disableAjax">
|
||||
<input type="hidden" name="tab_hash" value="">
|
||||
{% if has_check_page_refresh %}
|
||||
<input type="hidden" name="check_page_refresh" id="check_page_refresh" value="">
|
||||
@ -59,11 +59,11 @@
|
||||
<td>{{ server.dsn }}</td>
|
||||
<td class="text-nowrap">
|
||||
<small>
|
||||
<a href="{{ get_common(server.params.edit) }}">
|
||||
<a href="../setup/{{ url('/setup', server.params.edit) }}">
|
||||
{% trans 'Edit' %}
|
||||
</a>
|
||||
|
|
||||
<a class="delete-server" href="{{ get_common(server.params.remove) }}" data-post="
|
||||
<a class="delete-server" href="../setup/{{ url('/setup', server.params.remove) }}" data-post="
|
||||
{{- get_common({ token: server.params.token }, '', false) }}">
|
||||
{% trans 'Delete' %}
|
||||
</a>
|
||||
@ -97,7 +97,7 @@
|
||||
<fieldset class="pma-fieldset simple">
|
||||
<legend>{% trans 'Configuration file' %}</legend>
|
||||
|
||||
<form method="post" action="config.php" class="config-form disableAjax">
|
||||
<form method="post" action="../setup/{{ url('/setup/show-config') }}" class="config-form disableAjax">
|
||||
<input type="hidden" name="tab_hash" value="">
|
||||
{% if has_check_page_refresh %}
|
||||
<input type="hidden" name="check_page_refresh" id="check_page_refresh" value="">
|
||||
@ -174,7 +174,7 @@
|
||||
<div id="footer">
|
||||
<a href="../{{ url('/url', {'url': 'https://www.phpmyadmin.net/'}) }}">{% trans 'phpMyAdmin homepage' %}</a>
|
||||
<a href="../{{ url('/url', {'url': 'https://www.phpmyadmin.net/donate/'}) }}">{% trans 'Donate' %}</a>
|
||||
<a href="{{ get_common({'version_check': '1'}) }}">{% trans 'Check for latest version' %}</a>
|
||||
<a href="../setup/{{ url('/setup', {'version_check': true}) }}">{% trans 'Check for latest version' %}</a>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
@ -38,7 +38,7 @@ class FormProcessingTest extends AbstractNetworkTestCase
|
||||
$this->mockResponse(
|
||||
[
|
||||
['status: 303 See Other'],
|
||||
['Location: index.php?lang=en'],
|
||||
['Location: ../setup/index.php?route=%2Fsetup&lang=en'],
|
||||
303,
|
||||
]
|
||||
);
|
||||
@ -85,7 +85,7 @@ class FormProcessingTest extends AbstractNetworkTestCase
|
||||
|
||||
$this->assertStringContainsString('mode=revert', $result);
|
||||
|
||||
$this->assertStringContainsString('<a class="btn" href="index.php?', $result);
|
||||
$this->assertStringContainsString('<a class="btn" href="../setup/index.php?route=/setup&', $result);
|
||||
|
||||
$this->assertStringContainsString('mode=edit', $result);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user