Visitar URL original
Merge pull request #17764 from MauricioFauth/setup-basic-routing · phpmyadmin/phpmyadmin@6785c97 · GitHub
Skip to content

Commit 6785c97

Browse files
Merge pull request #17764 from MauricioFauth/setup-basic-routing
Add basic routing system for setup pages
2 parents 2fda553 + 85f9d94 commit 6785c97

12 files changed

Lines changed: 47 additions & 62 deletions

File tree

‎js/src/setup/scripts.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ function ajaxValidate (parent, id, values) {
8383
}
8484

8585
$parent.data('ajax', $.ajax({
86-
url: 'validate.php',
86+
url: '../setup/index.php?route=/setup/validate',
8787
cache: false,
8888
type: 'POST',
8989
data: {
@@ -235,7 +235,7 @@ $(function () {
235235
e.preventDefault();
236236
var $this = $(this);
237237
$.post($this.attr('href'), $this.attr('data-post'), function () {
238-
window.location.replace('index.php');
238+
window.location.replace('../setup/index.php?route=/setup');
239239
});
240240
});
241241
});

‎libraries/classes/Controllers/Setup/MainController.php‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public function __invoke(ServerRequest $request): void
5858
$controller->destroy([
5959
'id' => $params['id'] ?? null,
6060
]);
61-
header('Location: index.php' . Url::getCommonRaw());
61+
header('Location: ../setup/index.php' . Url::getCommonRaw(['route' => '/setup']));
6262

6363
return;
6464
}

‎libraries/classes/Controllers/Setup/ShowConfigController.php‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public function __invoke(ServerRequest $request): void
3535
// Clear current config and return to main page
3636
$GLOBALS['ConfigFile']->resetConfigData();
3737
// drop post data
38-
$response->generateHeader303('index.php' . Url::getCommonRaw());
38+
$response->generateHeader303('../setup/index.php' . Url::getCommonRaw(['route' => '/setup']));
3939

4040
return;
4141
}
@@ -52,6 +52,8 @@ public function __invoke(ServerRequest $request): void
5252
}
5353

5454
// Show generated config file in a <textarea>
55-
$response->generateHeader303('index.php' . Url::getCommonRaw(['page' => 'config']));
55+
$response->generateHeader303(
56+
'../setup/index.php' . Url::getCommonRaw(['route' => '/setup', 'page' => 'config'])
57+
);
5658
}
5759
}

‎libraries/classes/Setup/FormProcessing.php‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public static function process(FormDisplay $form_display): void
3333
$form_display->fixErrors();
3434
$response = ResponseRenderer::getInstance();
3535
$response->disable();
36-
$response->generateHeader303('index.php' . Url::getCommonRaw());
36+
$response->generateHeader303('../setup/index.php' . Url::getCommonRaw(['route' => '/setup']));
3737
}
3838

3939
if (! $form_display->process(false)) {
@@ -47,7 +47,7 @@ public static function process(FormDisplay $form_display): void
4747
if (! $form_display->hasErrors()) {
4848
$response = ResponseRenderer::getInstance();
4949
$response->disable();
50-
$response->generateHeader303('index.php' . Url::getCommonRaw());
50+
$response->generateHeader303('../setup/index.php' . Url::getCommonRaw(['route' => '/setup']));
5151

5252
return;
5353
}

‎setup/config.php‎

Lines changed: 0 additions & 20 deletions
This file was deleted.

‎setup/index.php‎

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
use PhpMyAdmin\Common;
66
use PhpMyAdmin\Controllers\Setup\MainController;
7+
use PhpMyAdmin\Controllers\Setup\ShowConfigController;
8+
use PhpMyAdmin\Controllers\Setup\ValidateController;
9+
use PhpMyAdmin\Core;
710

811
if (! defined('ROOT_PATH')) {
912
// phpcs:disable PSR1.Files.SideEffects
@@ -17,4 +20,24 @@
1720

1821
require ROOT_PATH . 'setup/lib/common.inc.php';
1922

20-
(new MainController())(Common::getRequest());
23+
$request = Common::getRequest();
24+
$route = $request->getRoute();
25+
if ($route === '/setup' || $route === '/') {
26+
(new MainController())($request);
27+
exit;
28+
}
29+
30+
if ($route === '/setup/show-config') {
31+
(new ShowConfigController())($request);
32+
exit;
33+
}
34+
35+
if ($route === '/setup/validate') {
36+
(new ValidateController())($request);
37+
exit;
38+
}
39+
40+
Core::fatalError(sprintf(
41+
__('Error 404! The page %s was not found.'),
42+
'[code]' . htmlspecialchars($route) . '[/code]'
43+
));

‎setup/validate.php‎

Lines changed: 0 additions & 20 deletions
This file was deleted.

‎templates/setup/base.twig‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@
2525
<div id="menu">
2626
<ul>
2727
<li>
28-
<a href="index.php{{ get_common() }}"{{ formset is empty ? ' class="active"' }}>
28+
<a href="../setup/{{ url('/setup') }}"{{ formset is empty ? ' class="active"' }}>
2929
{% trans 'Overview' %}
3030
</a>
3131
</li>
3232
{% for page in pages %}
3333
<li>
34-
<a href="index.php{{ get_common({
34+
<a href="../setup/{{ url('/setup', {
3535
'page': 'form',
3636
'formset': page.formset
3737
}) }}"{{ formset == page.formset ? ' class="active"' }}>

‎templates/setup/config/index.twig‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<div class="card">
77
<h5 class="card-header">config.inc.php</h5>
88
<div class="card-body">
9-
<form id="configFileForm" method="post" action="config.php">
9+
<form id="configFileForm" method="post" action="../setup/{{ url('/setup/show-config') }}">
1010
{% if has_check_page_refresh %}
1111
<input type="hidden" name="check_page_refresh" id="check_page_refresh" value="">
1212
{% endif %}

‎templates/setup/error.twig‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
<h4>{% trans 'Warning' %}</h4>
33
<p>{% trans 'Submitted form contains errors' %}</p>
44
<p>
5-
<a href="{{ get_common(url_params|merge({'mode': 'revert'})) }}">
5+
<a href="../setup/{{ url('/setup', url_params|merge({'mode': 'revert'})) }}">
66
{% trans 'Try to revert erroneous fields to their default values' %}
77
</a>
88
</p>
99
</div>
1010

1111
{{ errors|raw }}
1212

13-
<a class="btn" href="index.php{{ get_common() }}">
13+
<a class="btn" href="../setup/{{ url('/setup') }}">
1414
{% trans 'Ignore errors' %}
1515
</a>
1616

17-
<a class="btn" href="{{ get_common(url_params|merge({'mode': 'edit'})) }}">
17+
<a class="btn" href="../setup/{{ url('/setup', url_params|merge({'mode': 'edit'})) }}">
1818
{% trans 'Show form' %}
1919
</a>

0 commit comments

Comments
 (0)