Use the router for the server privileges page

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
Maurício Meneghini Fauth 2019-07-23 02:48:02 -03:00
parent efe576cdc0
commit 0f23a622bc
24 changed files with 118 additions and 141 deletions

View File

@ -46,6 +46,9 @@ if (isset($_GET['route']) || isset($_POST['route'])) {
$routes->addRoute('GET', '/plugins', function () {
require_once ROOT_PATH . 'libraries/entry_points/server/plugins.php';
});
$routes->addRoute(['GET', 'POST'], '/privileges', function () {
require_once ROOT_PATH . 'libraries/entry_points/server/privileges.php';
});
$routes->addGroup('/status', function (RouteCollector $routes) {
$routes->addRoute('GET', '/queries', function () {
require_once ROOT_PATH . 'libraries/entry_points/server/status/queries.php';

View File

@ -65,7 +65,7 @@ function checkPasswordStrength (value, meterObject, meterObjectLabel, username)
}
/**
* AJAX scripts for server_privileges page.
* AJAX scripts for /server/privileges page.
*
* Actions ajaxified here:
* Add user
@ -245,7 +245,7 @@ AJAX.registerOnload('server/privileges.js', function () {
var $message = Functions.ajaxShowMessage();
var argsep = CommonParams.get('arg_separator');
$.post(
'server_privileges.php',
'index.php?route=/server/privileges',
$('#changeUserGroupDialog').find('form').serialize() + argsep + 'ajax_request=1',
function (data) {
Functions.ajaxRemoveMessage($message);

View File

@ -45,7 +45,7 @@ class SpecialSchemaLinks
* )
* ),
* // Page to link
* 'default_page' => './server_privileges.php'
* 'default_page' => './' . Url::getFromRoute('/server/privileges')
* )
* )
* )
@ -73,7 +73,7 @@ class SpecialSchemaLinks
'column_name' => 'host',
],
],
'default_page' => './server_privileges.php',
'default_page' => './' . Url::getFromRoute('/server/privileges'),
],
'table_name' => [
'link_param' => 'table',
@ -109,7 +109,7 @@ class SpecialSchemaLinks
'column_name' => 'host',
],
],
'default_page' => './server_privileges.php',
'default_page' => './' . Url::getFromRoute('/server/privileges'),
],
],
'event' => [
@ -202,7 +202,7 @@ class SpecialSchemaLinks
'column_name' => 'Host',
],
],
'default_page' => './server_privileges.php',
'default_page' => './' . Url::getFromRoute('/server/privileges'),
],
'routine_name' => [
'link_param' => 'item_name',
@ -228,7 +228,7 @@ class SpecialSchemaLinks
'column_name' => 'Host',
],
],
'default_page' => './server_privileges.php',
'default_page' => './' . Url::getFromRoute('/server/privileges'),
],
],
'tables_priv' => [
@ -240,7 +240,7 @@ class SpecialSchemaLinks
'column_name' => 'Host',
],
],
'default_page' => './server_privileges.php',
'default_page' => './' . Url::getFromRoute('/server/privileges'),
],
'table_name' => [
'link_param' => 'table',
@ -262,7 +262,7 @@ class SpecialSchemaLinks
'column_name' => 'host',
],
],
'default_page' => './server_privileges.php',
'default_page' => './' . Url::getFromRoute('/server/privileges'),
],
],
],
@ -364,7 +364,7 @@ class SpecialSchemaLinks
'column_name' => 'host',
],
],
'default_page' => './server_privileges.php',
'default_page' => './' . Url::getFromRoute('/server/privileges'),
],
],
'referential_constraints' => [

View File

@ -45,7 +45,6 @@ class Core
'server_binlog.php',
'server_export.php',
'server_import.php',
'server_privileges.php',
'server_sql.php',
'server_status.php',
'server_status_advisor.php',

View File

@ -50,16 +50,21 @@ class ChangePassword
*/
$chg_evt_handler = 'onchange';
$is_privileges = basename($_SERVER['SCRIPT_NAME']) === 'server_privileges.php';
$is_privileges = isset($_REQUEST['route']) && $_REQUEST['route'] === '/server/privileges';
$action = basename($GLOBALS['PMA_PHP_SELF']);
if ($is_privileges) {
$action = Url::getFromRoute('/server/privileges');
}
$html = '<form method="post" id="change_password_form" '
. 'action="' . basename($GLOBALS['PMA_PHP_SELF']) . '" '
. 'action="' . $action . '" '
. 'name="chgPassword" '
. 'class="' . ($is_privileges ? 'submenu-item' : '') . '">';
$html .= Url::getHiddenInputs();
if (strpos($GLOBALS['PMA_PHP_SELF'], 'server_privileges') !== false) {
if ($is_privileges) {
$html .= '<input type="hidden" name="username" '
. 'value="' . htmlspecialchars($username) . '">'
. '<input type="hidden" name="hostname" '

View File

@ -166,7 +166,7 @@ class Footer
$params['viewing_mode'] = $_GET['viewing_mode'];
}
/*
* @todo coming from server_privileges.php, here $db is not set,
* @todo coming from /server/privileges, here $db is not set,
* add the following condition below when that is fixed
* && $_GET['checkprivsdb'] == $db
*/
@ -175,7 +175,7 @@ class Footer
$params['checkprivsdb'] = $_GET['checkprivsdb'];
}
/*
* @todo coming from server_privileges.php, here $table is not set,
* @todo coming from /server/privileges, here $table is not set,
* add the following condition below when that is fixed
* && $_REQUEST['checkprivstable'] == $table
*/

View File

@ -388,7 +388,7 @@ class Menu
if (($is_superuser || $isCreateOrGrantUser)
&& ! $db_is_system_schema
) {
$tabs['privileges']['link'] = 'server_privileges.php';
$tabs['privileges']['link'] = Url::getFromRoute('/server/privileges');
$tabs['privileges']['args']['checkprivsdb'] = $this->_db;
$tabs['privileges']['args']['checkprivstable'] = $this->_table;
// stay on table view
@ -502,7 +502,7 @@ class Menu
$tabs['operation']['icon'] = 'b_tblops';
if ($is_superuser || $isCreateOrGrantUser) {
$tabs['privileges']['link'] = 'server_privileges.php';
$tabs['privileges']['link'] = Url::getFromRoute('/server/privileges');
$tabs['privileges']['args']['checkprivsdb'] = $this->_db;
// stay on database view
$tabs['privileges']['args']['viewing_mode'] = 'db';
@ -599,15 +599,10 @@ class Menu
if ($is_superuser || $isCreateOrGrantUser) {
$tabs['rights']['icon'] = 's_rights';
$tabs['rights']['link'] = 'server_privileges.php';
$tabs['rights']['link'] = Url::getFromRoute('/server/privileges');
$tabs['rights']['text'] = __('User accounts');
$tabs['rights']['active'] = in_array(
basename($GLOBALS['PMA_PHP_SELF']),
[
'server_privileges.php',
'server_user_groups.php',
]
);
$tabs['rights']['active'] = basename($GLOBALS['PMA_PHP_SELF']) === 'server_user_groups.php' ||
(isset($_REQUEST['route']) && in_array($_REQUEST['route'], ['/server/privileges']));
$tabs['rights']['args']['viewing_mode'] = 'server';
}

View File

@ -38,7 +38,6 @@ class Sanitize
// possible return values from Util::getScriptNameForOption
'./index.php?',
'./server_status.php?',
'./server_privileges.php?',
'./db_sql.php?',
'./db_search.php?',
'./db_operations.php?',
@ -49,7 +48,6 @@ class Sanitize
// Hardcoded options in \PhpMyAdmin\Config\SpecialSchemaLinks
'./db_events.php?',
'./db_routines.php?',
'./server_privileges.php?',
];
$is_setup = $GLOBALS['PMA_Config'] !== null && $GLOBALS['PMA_Config']->get('is_setup');
// Adjust path to setup script location

View File

@ -474,12 +474,12 @@ class Privileges
[
'Delete_history_priv',
'DELETE HISTORY',
$GLOBALS['strPrivDescDeleteHistoricalRows'],
__('Allows deleting historical rows.'),
],
[
'Delete versioning rows_priv',
'DELETE HISTORY',
$GLOBALS['strPrivDescDeleteHistoricalRows'],
__('Allows deleting historical rows.'),
],
[
'Create_routine_priv',
@ -2304,7 +2304,7 @@ class Privileges
. '</h2>' . "\n"
. '<form name="usersForm" id="addUsersForm"'
. ' onsubmit="return checkAddUser(this);"'
. ' action="server_privileges.php" method="post" autocomplete="off" >' . "\n"
. ' action="' . Url::getFromRoute('/server/privileges') . '" method="post" autocomplete="off" >' . "\n"
. Url::getHiddenInputs('', '')
. $this->getHtmlForLoginInformationFields('new');
@ -2499,7 +2499,7 @@ class Privileges
if ($this->dbi->isSuperuser()) {
// check the privileges for a particular database.
$html_output = '<form id="usersForm" action="server_privileges.php">';
$html_output = '<form id="usersForm" action="' . Url::getFromRoute('/server/privileges') . '">';
$html_output .= Url::getHiddenInputs($db);
$html_output .= '<div class="width100">';
$html_output .= '<fieldset>';
@ -2577,7 +2577,7 @@ class Privileges
$html_output = '';
if ($this->dbi->isSuperuser()) {
// check the privileges for a particular table.
$html_output = '<form id="usersForm" action="server_privileges.php">';
$html_output = '<form id="usersForm" action="' . Url::getFromRoute('/server/privileges') . '">';
$html_output .= Url::getHiddenInputs($db, $table);
$html_output .= '<fieldset>';
$scriptName = Util::getScriptNameForOption(
@ -2975,11 +2975,11 @@ class Privileges
break;
}
$html .= ' href="server_privileges.php';
$html .= ' href="' . Url::getFromRoute('/server/privileges');
if ($linktype == 'revoke') {
$html .= '" data-post="' . Url::getCommon($params, '');
} else {
$html .= Url::getCommon($params);
$html .= Url::getCommon($params, '&');
}
$html .= '">';
@ -3009,8 +3009,7 @@ class Privileges
public function getUserGroupEditLink($username)
{
return '<a class="edit_user_group_anchor ajax"'
. ' href="server_privileges.php'
. Url::getCommon(['username' => $username])
. ' href="' . Url::getFromRoute('/server/privileges', ['username' => $username])
. '">'
. Util::getIcon('b_usrlist', __('Edit user group'))
. '</a>';
@ -3191,8 +3190,7 @@ class Privileges
$new_user_initial = mb_strtoupper(
mb_substr($username, 0, 1)
);
$newUserInitialString = '<a href="server_privileges.php'
. Url::getCommon(['initial' => $new_user_initial]) . '">'
$newUserInitialString = '<a href="' . Url::getFromRoute('/server/privileges', ['initial' => $new_user_initial]) . '">'
. $new_user_initial . '</a>';
$extra_data['new_user_initial'] = $new_user_initial;
$extra_data['new_user_initial_string'] = $newUserInitialString;
@ -3248,8 +3246,8 @@ class Privileges
),
];
$html_output = '<form action="server_privileges.php" '
. 'onsubmit="return checkAddUser(this);" '
$html_output = '<form action="' . Url::getFromRoute('/server/privileges')
. '" onsubmit="return checkAddUser(this);" '
. 'method="post" class="copyUserForm submenu-item">' . "\n"
. Url::getHiddenInputs('', '')
. '<input type="hidden" name="old_username" '
@ -3690,8 +3688,8 @@ class Privileges
}
$html_output
= '<form name="usersForm" id="usersForm" action="server_privileges.php" '
. 'method="post">' . "\n"
= '<form name="usersForm" id="usersForm" action="' . Url::getFromRoute('/server/privileges')
. '" method="post">' . "\n"
. Url::getHiddenInputs('', '')
. '<div class="responsivetable row">'
. '<table id="tableuserrights" class="data">' . "\n"
@ -4716,15 +4714,12 @@ class Privileges
if (! empty($dbname)) {
$html_output .= ' <i><a class="edit_user_anchor"'
. ' href="server_privileges.php'
. Url::getCommon(
[
'username' => $username,
'hostname' => $hostname,
'dbname' => '',
'tablename' => '',
]
)
. ' href="' . Url::getFromRoute('/server/privileges', [
'username' => $username,
'hostname' => $hostname,
'dbname' => '',
'tablename' => '',
])
. '">\'' . htmlspecialchars($username)
. '\'@\'' . htmlspecialchars($hostname)
. '\'</a></i>' . "\n";
@ -4734,30 +4729,24 @@ class Privileges
|| is_array($dbname) && count($dbname) > 1
? __('Databases') : __('Database');
if (! empty($entity_name) && $entity_type === 'table') {
$html_output .= ' <i><a href="server_privileges.php'
. Url::getCommon(
[
'username' => $username,
'hostname' => $hostname,
'dbname' => $url_dbname,
'tablename' => '',
]
)
$html_output .= ' <i><a href="' . Url::getFromRoute('/server/privileges', [
'username' => $username,
'hostname' => $hostname,
'dbname' => $url_dbname,
'tablename' => '',
])
. '">' . htmlspecialchars($dbname)
. '</a></i>';
$html_output .= ' - ' . __('Table')
. ' <i>' . htmlspecialchars($entity_name) . '</i>';
} elseif (! empty($entity_name)) {
$html_output .= ' <i><a href="server_privileges.php'
. Url::getCommon(
[
'username' => $username,
'hostname' => $hostname,
'dbname' => $url_dbname,
'routinename' => '',
]
)
$html_output .= ' <i><a href="' . Url::getFromRoute('/server/privileges', [
'username' => $username,
'hostname' => $hostname,
'dbname' => $url_dbname,
'routinename' => '',
])
. '">' . htmlspecialchars($dbname)
. '</a></i>';
@ -4933,8 +4922,7 @@ class Privileges
Message::NOTICE
);
$flushnote->addParamHtml(
'<a href="server_privileges.php'
. Url::getCommon(['flush_privileges' => 1])
'<a href="' . Url::getFromRoute('/server/privileges', ['flush_privileges' => 1])
. '" id="reload_privileges_anchor">'
);
$flushnote->addParamHtml('</a>');
@ -5023,7 +5011,7 @@ class Privileges
}
$html_output .= '<form class="submenu-item" name="usersForm" '
. 'id="addUsersForm" action="server_privileges.php" method="post">' . "\n";
. 'id="addUsersForm" action="' . Url::getFromRoute('/server/privileges') . '" method="post">' . "\n";
$html_output .= Url::getHiddenInputs($_params);
$html_output .= $this->getHtmlToDisplayPrivilegesTable(
// If $dbname is an array, pass any one db as all have same privs.

View File

@ -83,7 +83,7 @@ class UserGroups
if ($result && $GLOBALS['dbi']->numRows($result)) {
$html_output .= '<form name="userGroupsForm" id="userGroupsForm"'
. ' action="server_privileges.php" method="post">';
. ' action="' . Url::getFromRoute('/server/privileges') . '" method="post">';
$html_output .= Url::getHiddenInputs();
$html_output .= '<table id="userGroupsTable">';
$html_output .= '<thead><tr>';

View File

@ -30,8 +30,8 @@ class Users
$items = [
[
'name' => __('User accounts overview'),
'url' => 'server_privileges.php',
'params' => Url::getCommon(['viewing_mode' => 'server']),
'url' => Url::getFromRoute('/server/privileges'),
'params' => Url::getCommon(['viewing_mode' => 'server'], '&'),
],
];

View File

@ -3183,7 +3183,7 @@ class Util
case 'variables':
return Url::getFromRoute('/server/variables');
case 'privileges':
return 'server_privileges.php';
return Url::getFromRoute('/server/privileges');
}
} elseif ($location == 'database') {
// Values for $cfg['DefaultTabDatabase']

View File

@ -17,14 +17,13 @@ use PhpMyAdmin\Response;
use PhpMyAdmin\Server\Privileges;
use PhpMyAdmin\Server\Users;
use PhpMyAdmin\Template;
use PhpMyAdmin\Url;
if (! defined('ROOT_PATH')) {
define('ROOT_PATH', __DIR__ . DIRECTORY_SEPARATOR);
if (! defined('PHPMYADMIN')) {
exit;
}
global $db, $pmaThemeImage, $text_dir, $url_query;
require_once ROOT_PATH . 'libraries/common.inc.php';
global $containerBuilder, $db, $pmaThemeImage, $text_dir, $url_query;
/** @var Response $response */
$response = $containerBuilder->get(Response::class);
@ -57,7 +56,7 @@ if ((isset($_GET['viewing_mode'])
&& $GLOBALS['cfgRelation']['menuswork']
) {
$response->addHTML('<div class="container-fluid">');
$response->addHTML(Users::getHtmlForSubMenusOnUsersPage('server_privileges.php'));
$response->addHTML(Users::getHtmlForSubMenusOnUsersPage(Url::getFromRoute('/server/privileges')));
}
/**

View File

@ -238,11 +238,10 @@
<td class="tool">
<a class="server_databases" data="
{{- database.name|js_format }}" href="server_privileges.php
{{- get_common({
'db': database.name,
'checkprivsdb': database.name
}) }}" title="
{{- database.name|js_format }}" href="{{ url('/server/privileges', {
'db': database.name,
'checkprivsdb': database.name
}) }}" title="
{{- 'Check privileges for database "%s".'|trans|format(database.name) }}">
{{ get_icon('s_rights', 'Check privileges'|trans) }}
</a>

View File

@ -2,7 +2,7 @@
<div class="col-12">
<fieldset id="fieldset_add_user">
<legend>{% trans %}New{% context %}Create new user{% endtrans %}</legend>
<a id="add_user_anchor" href="server_privileges.php{{ get_common(url_params) }}"
<a id="add_user_anchor" href="{{ url('/server/privileges', url_params) }}"
{% if rel_params is not empty %}
rel="{{ get_common(rel_params) }}"
{% endif %}>

View File

@ -1,4 +1,4 @@
<form class="ajax" id="changeUserGroupForm" action="server_privileges.php" method="post">
<form class="ajax" id="changeUserGroupForm" action="{{ url('/server/privileges') }}" method="post">
{{ get_hidden_inputs(params) }}
<fieldset id="fieldset_user_group_selection">
<legend>{% trans 'User group' %}</legend>

View File

@ -1,6 +1,6 @@
<div id="edit_user_dialog">
{{ header|raw }}
<form class="submenu-item" name="usersForm" id="addUsersForm" action="server_privileges.php" method="post">
<form class="submenu-item" name="usersForm" id="addUsersForm" action="{{ url('/server/privileges') }}" method="post">
{{ get_hidden_inputs() }}
<input type="hidden" name="username" value="{{ username }}">
<input type="hidden" name="hostname" value="{{ hostname }}">

View File

@ -5,8 +5,7 @@
<td>
<a class="ajax
{{- initial is defined and initial is same as(tmp_initial) ? ' active' -}}
" href="server_privileges.php
{{- get_common({'initial': tmp_initial}) }}">
" href="{{ url('/server/privileges', {'initial': tmp_initial}) }}">
{{- tmp_initial|raw -}}
</a>
</td>
@ -15,8 +14,7 @@
{% endif %}
{% endfor %}
<td>
<a href="server_privileges.php
{{- get_common({'showall': 1}) }}" class="nowrap">
<a href="{{ url('/server/privileges', {'showall': 1}) }}" class="nowrap">
{% trans 'Show all' %}
</a>
</td>

View File

@ -1,4 +1,4 @@
<form class="submenu-item" action="server_privileges.php" id="{{ form_id }}" method="post">
<form class="submenu-item" action="{{ url('/server/privileges') }}" id="{{ form_id }}" method="post">
{{ get_hidden_inputs() }}
<input type="hidden" name="username" value="{{ username }}">
<input type="hidden" name="hostname" value="{{ hostname }}">

View File

@ -1,5 +1,5 @@
<div id="master_addslaveuser_gui">
<form action="server_privileges.php" method="post" autocomplete="off" onsubmit="return checkAddUser(this);">
<form action="{{ url('/server/privileges') }}" method="post" autocomplete="off" onsubmit="return checkAddUser(this);">
{{ get_hidden_inputs('', '') }}
<fieldset id="fieldset_add_user_login">

View File

@ -46,7 +46,7 @@ class ChangePasswordTest extends TestCase
$GLOBALS['cfg']['ShowHint'] = true;
$GLOBALS['cfg']['ActionLinksMode'] = 'icons';
$GLOBALS['cfg']['Server']['DisableIS'] = false;
$GLOBALS['PMA_PHP_SELF'] = "server_privileges.php";
$GLOBALS['PMA_PHP_SELF'] = '';
$GLOBALS['server'] = 0;
//$_SESSION
@ -62,13 +62,13 @@ class ChangePasswordTest extends TestCase
{
$username = "pma_username";
$hostname = "pma_hostname";
$_REQUEST['route'] = '/server/privileges';
//Call the test function
$html = ChangePassword::getHtml('change_pw', $username, $hostname);
//PMA_PHP_SELF
$this->assertStringContainsString(
$GLOBALS['PMA_PHP_SELF'],
Url::getFromRoute('/server/privileges'),
$html
);

View File

@ -44,7 +44,7 @@ class CreateTableTest extends TestCase
$GLOBALS['cfg']['Server']['user'] = "pma_user";
$GLOBALS['cfg']['ShowHint'] = true;
$GLOBALS['cfg']['ActionLinksMode'] = 'icons';
$GLOBALS['PMA_PHP_SELF'] = "server_privileges.php";
$GLOBALS['PMA_PHP_SELF'] = Url::getFromRoute('/server/privileges');
//$_SESSION
$_SESSION['relation'][$GLOBALS['server']] = "relation";

View File

@ -1850,15 +1850,13 @@ class PrivilegesTest extends TestCase
''
);
$url_html = Url::getCommon(
[
'username' => $username,
'hostname' => $hostname,
'dbname' => $dbname,
'tablename' => $tablename,
'routinename' => '',
]
);
$url_html = Url::getCommon([
'username' => $username,
'hostname' => $hostname,
'dbname' => $dbname,
'tablename' => $tablename,
'routinename' => '',
], '');
$this->assertStringContainsString(
$url_html,
$html
@ -1899,14 +1897,12 @@ class PrivilegesTest extends TestCase
$html = $this->serverPrivileges->getUserLink('export', $username, $hostname);
$url_html = Url::getCommon(
[
'username' => $username,
'hostname' => $hostname,
'initial' => "",
'export' => 1,
]
);
$url_html = Url::getCommon([
'username' => $username,
'hostname' => $hostname,
'initial' => '',
'export' => 1,
], '');
$this->assertStringContainsString(
$url_html,
$html
@ -2282,7 +2278,7 @@ class PrivilegesTest extends TestCase
//Url::getCommon
$this->assertStringContainsString(
Url::getCommon(['adduser' => 1]),
Url::getCommon(['adduser' => 1], ''),
$html
);
@ -2353,7 +2349,7 @@ class PrivilegesTest extends TestCase
$html = $this->serverPrivileges->getAddUserHtmlFieldset();
$this->assertStringContainsString(
Url::getCommon(['adduser' => 1]),
Url::getCommon(['adduser' => 1], ''),
$html
);
$this->assertStringContainsString(
@ -2402,14 +2398,12 @@ class PrivilegesTest extends TestCase
);
//Url::getCommon
$item = Url::getCommon(
[
'username' => $username,
'hostname' => $hostname,
'dbname' => '',
'tablename' => '',
]
);
$item = Url::getCommon([
'username' => $username,
'hostname' => $hostname,
'dbname' => '',
'tablename' => '',
], '');
$this->assertStringContainsString(
$item,
$html
@ -2438,14 +2432,12 @@ class PrivilegesTest extends TestCase
);
//Url::getCommon
$item = Url::getCommon(
[
'username' => $username,
'hostname' => $hostname,
'dbname' => $url_dbname,
'tablename' => '',
]
);
$item = Url::getCommon([
'username' => $username,
'hostname' => $hostname,
'dbname' => $url_dbname,
'tablename' => '',
], '');
$this->assertStringContainsString(
$item,
$html
@ -2575,12 +2567,12 @@ class PrivilegesTest extends TestCase
$this->assertStringContainsString('<td>A</td>', $actual);
$this->assertStringContainsString('<td>Z</td>', $actual);
$this->assertStringContainsString(
'<a class="ajax" href="server_privileges.php?initial=-&amp;'
'<a class="ajax" href="index.php?route=/server/privileges&amp;initial=-&amp;'
. 'server=1&amp;lang=en">-</a>',
$actual
);
$this->assertStringContainsString(
'<a class="ajax" href="server_privileges.php?initial=%22&amp;'
'<a class="ajax" href="index.php?route=/server/privileges&amp;initial=%22&amp;'
. 'server=1&amp;lang=en">"</a>',
$actual
);

View File

@ -10,6 +10,7 @@ declare(strict_types=1);
namespace PhpMyAdmin\Tests\Server;
use PhpMyAdmin\Server\Users;
use PhpMyAdmin\Url;
use PHPUnit\Framework\TestCase;
/**
@ -31,7 +32,7 @@ class UsersTest extends TestCase
$GLOBALS['server'] = 1;
$GLOBALS['cfg']['ServerDefault'] = 1;
$GLOBALS['cfg']['Server']['DisableIS'] = false;
$html = Users::getHtmlForSubMenusOnUsersPage('server_privileges.php');
$html = Users::getHtmlForSubMenusOnUsersPage(Url::getFromRoute('/server/privileges'));
//validate 1: topmenu2
$this->assertStringContainsString(
@ -39,9 +40,9 @@ class UsersTest extends TestCase
$html
);
//validate 2: tabactive for server_privileges.php
//validate 2: tabactive for /server/privileges
$this->assertStringContainsString(
'<a class="tabactive" href="server_privileges.php',
'<a class="tabactive" href="' . Url::getFromRoute('/server/privileges'),
$html
);
$this->assertStringContainsString(