Add router for server_databases.php
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
parent
0371f104a9
commit
ff16bee5ad
@ -46,6 +46,7 @@
|
||||
"ext-pcre": "*",
|
||||
"ext-xml": "*",
|
||||
"google/recaptcha": "^1.1",
|
||||
"nikic/fast-route": "^1.3",
|
||||
"phpmyadmin/motranslator": "^4.0",
|
||||
"phpmyadmin/shapefile": "^2.0",
|
||||
"phpmyadmin/sql-parser": "^5.0",
|
||||
|
||||
24
index.php
24
index.php
@ -7,6 +7,8 @@
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
use FastRoute\Dispatcher;
|
||||
use FastRoute\RouteCollector;
|
||||
use PhpMyAdmin\Controllers\HomeController;
|
||||
use PhpMyAdmin\Core;
|
||||
use PhpMyAdmin\DatabaseInterface;
|
||||
@ -14,6 +16,8 @@ use PhpMyAdmin\Response;
|
||||
use PhpMyAdmin\Url;
|
||||
use PhpMyAdmin\Util;
|
||||
|
||||
use function FastRoute\simpleDispatcher;
|
||||
|
||||
if (! defined('ROOT_PATH')) {
|
||||
define('ROOT_PATH', __DIR__ . DIRECTORY_SEPARATOR);
|
||||
}
|
||||
@ -22,6 +26,26 @@ global $server;
|
||||
|
||||
require_once ROOT_PATH . 'libraries/common.inc.php';
|
||||
|
||||
if (isset($_GET['route']) || isset($_POST['route'])) {
|
||||
$dispatcher = simpleDispatcher(function (RouteCollector $r) {
|
||||
$r->addRoute([
|
||||
'GET',
|
||||
'POST',
|
||||
], '/server/databases', function () {
|
||||
require_once ROOT_PATH . 'server_databases.php';
|
||||
});
|
||||
});
|
||||
$routeInfo = $dispatcher->dispatch(
|
||||
$_SERVER['REQUEST_METHOD'],
|
||||
rawurldecode($_GET['route'] ?? $_POST['route'])
|
||||
);
|
||||
if ($routeInfo[0] === Dispatcher::FOUND) {
|
||||
$handler = $routeInfo[1];
|
||||
$handler($routeInfo[2]);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* pass variables to child pages
|
||||
*/
|
||||
|
||||
@ -61,7 +61,7 @@ AJAX.registerOnload('server/databases.js', function () {
|
||||
var argsep = CommonParams.get('arg_separator');
|
||||
$(this).confirm(
|
||||
question,
|
||||
$form.prop('action') + '?' + $(this).serialize() +
|
||||
$form.prop('action') + '&' + $(this).serialize() +
|
||||
argsep + 'drop_selected_dbs=1',
|
||||
function (url) {
|
||||
Functions.ajaxShowMessage(Messages.strProcessingRequest, false);
|
||||
|
||||
@ -578,7 +578,7 @@ class Menu
|
||||
$tabs = [];
|
||||
|
||||
$tabs['databases']['icon'] = 's_db';
|
||||
$tabs['databases']['link'] = 'server_databases.php';
|
||||
$tabs['databases']['link'] = 'index.php?route=/server/databases';
|
||||
$tabs['databases']['text'] = __('Databases');
|
||||
|
||||
$tabs['sql']['icon'] = 'b_sql';
|
||||
|
||||
@ -42,8 +42,8 @@ class NodeDatabaseContainer extends Node
|
||||
$new->isNew = true;
|
||||
$new->icon = Util::getImage('b_newdb', '');
|
||||
$new->links = [
|
||||
'text' => 'server_databases.php?server=' . $GLOBALS['server'],
|
||||
'icon' => 'server_databases.php?server=' . $GLOBALS['server'],
|
||||
'text' => 'index.php?route=/server/databases&server=' . $GLOBALS['server'],
|
||||
'icon' => 'index.php?route=/server/databases&server=' . $GLOBALS['server'],
|
||||
];
|
||||
$new->classes = 'new_database italics';
|
||||
$this->addChild($new);
|
||||
|
||||
@ -3193,7 +3193,7 @@ class Util
|
||||
case 'welcome':
|
||||
return 'index.php';
|
||||
case 'databases':
|
||||
return 'server_databases.php';
|
||||
return 'index.php?route=/server/databases';
|
||||
case 'status':
|
||||
return 'server_status.php';
|
||||
case 'variables':
|
||||
|
||||
@ -16,6 +16,8 @@ if (! defined('ROOT_PATH')) {
|
||||
define('ROOT_PATH', __DIR__ . DIRECTORY_SEPARATOR);
|
||||
}
|
||||
|
||||
global $containerBuilder;
|
||||
|
||||
require_once ROOT_PATH . 'libraries/common.inc.php';
|
||||
|
||||
/** @var DatabasesController $controller */
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<ul>
|
||||
<li id="li_create_database" class="no_bullets">
|
||||
{% if has_create_database_privileges %}
|
||||
<form method="post" action="server_databases.php" id="create_database_form" class="ajax">
|
||||
<form method="post" action="index.php?route=/server/databases" id="create_database_form" class="ajax">
|
||||
<p>
|
||||
<strong>
|
||||
<label for="text_create_db">
|
||||
@ -80,12 +80,12 @@
|
||||
database_count,
|
||||
pos,
|
||||
url_params,
|
||||
'server_databases.php',
|
||||
'index.php?route=/server/databases',
|
||||
'frame_content',
|
||||
max_db_list
|
||||
) }}
|
||||
|
||||
<form class="ajax" action="server_databases.php" method="post" name="dbStatsForm" id="dbStatsForm">
|
||||
<form class="ajax" action="index.php?route=/server/databases" method="post" name="dbStatsForm" id="dbStatsForm">
|
||||
{{ get_hidden_inputs(url_params) }}
|
||||
<div class="responsivetable">
|
||||
<table id="tabledatabases" class="data">
|
||||
@ -95,11 +95,11 @@
|
||||
<th></th>
|
||||
{% endif %}
|
||||
<th>
|
||||
<a href="server_databases.php{{ get_common(url_params|merge({
|
||||
<a href="index.php?route=/server/databases{{ get_common(url_params|merge({
|
||||
'sort_by': 'SCHEMA_NAME',
|
||||
'sort_order': url_params.sort_by == 'SCHEMA_NAME'
|
||||
and url_params.sort_order == 'asc' ? 'desc' : 'asc'
|
||||
})) }}">
|
||||
}), '&') }}">
|
||||
{% trans 'Database' %}
|
||||
{% if url_params.sort_by == 'SCHEMA_NAME' %}
|
||||
{% if url_params.sort_order == 'asc' %}
|
||||
@ -112,11 +112,11 @@
|
||||
</th>
|
||||
|
||||
<th>
|
||||
<a href="server_databases.php{{ get_common(url_params|merge({
|
||||
<a href="index.php?route=/server/databases{{ get_common(url_params|merge({
|
||||
'sort_by': 'DEFAULT_COLLATION_NAME',
|
||||
'sort_order': url_params.sort_by == 'DEFAULT_COLLATION_NAME'
|
||||
and url_params.sort_order == 'asc' ? 'desc' : 'asc'
|
||||
})) }}">
|
||||
}), '&') }}">
|
||||
{% trans 'Collation' %}
|
||||
{% if url_params.sort_by == 'DEFAULT_COLLATION_NAME' %}
|
||||
{% if url_params.sort_order == 'asc' %}
|
||||
@ -131,11 +131,11 @@
|
||||
{% if has_statistics %}
|
||||
{% for name, statistic in header_statistics %}
|
||||
<th{{ statistic.format == 'byte' ? ' colspan="2"' }}>
|
||||
<a href="server_databases.php{{ get_common(url_params|merge({
|
||||
<a href="index.php?route=/server/databases{{ get_common(url_params|merge({
|
||||
'sort_by': name,
|
||||
'sort_order': url_params.sort_by == name
|
||||
and url_params.sort_order == 'asc' ? 'desc' : 'asc'
|
||||
})) }}">
|
||||
}), '&') }}">
|
||||
{{ statistic.title }}
|
||||
{% if url_params.sort_by == name %}
|
||||
{% if url_params.sort_order == 'asc' %}
|
||||
@ -316,7 +316,7 @@
|
||||
'content': content,
|
||||
'class': 'li_switch_dbstats',
|
||||
'url': {
|
||||
'href': 'server_databases.php' ~ get_common({'statistics': '1'}),
|
||||
'href': 'index.php?route=/server/databases' ~ get_common({'statistics': '1'}, '&'),
|
||||
'title': 'Enable statistics'|trans
|
||||
}
|
||||
}] %}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user