Fix #11445 MySQL 5.7 and Status page for an unprivileged user
Signed-off-by: Madhura Jayaratne <madhura.cj@gmail.com>
This commit is contained in:
parent
ca917746b6
commit
d3e8dac98c
@ -97,6 +97,7 @@ phpMyAdmin - ChangeLog
|
||||
- issue Do not export `sys` database when exporting server
|
||||
- issue #11436 CREATE DATABASE should be enabled by default on server exports
|
||||
- issue #11442 MySQL 5.7 and SHOW VARIABLES
|
||||
- issue #11445 MySQL 5.7 and Status page for an unprivileged user
|
||||
|
||||
4.4.15.0 (not yet released)
|
||||
- issue #11411 Undefined "replace" function on numeric scalar
|
||||
|
||||
@ -16,6 +16,12 @@ AJAX.registerTeardown('server_status_advisor.js', function () {
|
||||
});
|
||||
|
||||
AJAX.registerOnload('server_status_advisor.js', function () {
|
||||
|
||||
// if no advisor is loaded
|
||||
if ($('#advisorData').length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**** Server config advisor ****/
|
||||
var $dialog = $('<div />').attr('id', 'advisorDialog');
|
||||
var $instructionsDialog = $('<div />')
|
||||
|
||||
@ -34,6 +34,7 @@ class PMA_ServerStatusData
|
||||
public $section;
|
||||
public $sectionUsed;
|
||||
public $selfUrl;
|
||||
public $dataLoaded;
|
||||
|
||||
/**
|
||||
* An empty setter makes the above properties read-only
|
||||
@ -314,7 +315,18 @@ class PMA_ServerStatusData
|
||||
$this->selfUrl = basename($GLOBALS['PMA_PHP_SELF']);
|
||||
|
||||
// get status from server
|
||||
$server_status = $GLOBALS['dbi']->fetchResult('SHOW GLOBAL STATUS', 0, 1);
|
||||
$server_status_result = $GLOBALS['dbi']->tryQuery('SHOW GLOBAL STATUS');
|
||||
$server_status = array();
|
||||
if ($server_status_result === false) {
|
||||
$this->dataLoaded = false;
|
||||
} else {
|
||||
$this->dataLoaded = true;
|
||||
while ($arr = $GLOBALS['dbi']->fetchRow($server_status_result)) {
|
||||
$server_status[$arr[0]] = $arr[1];
|
||||
}
|
||||
$GLOBALS['dbi']->freeResult($server_status_result);
|
||||
}
|
||||
|
||||
if (PMA_DRIZZLE) {
|
||||
// Drizzle doesn't put query statistics into variables, add it
|
||||
$sql = "SELECT concat('Com_', variable_name), variable_value "
|
||||
|
||||
@ -23,15 +23,22 @@ if (PMA_DRIZZLE) {
|
||||
include_once 'libraries/replication_gui.lib.php';
|
||||
}
|
||||
|
||||
$ServerStatusData = new PMA_ServerStatusData();
|
||||
|
||||
/**
|
||||
* start output
|
||||
*/
|
||||
$response = PMA_Response::getInstance();
|
||||
$response->addHTML('<div>');
|
||||
$response->addHTML($ServerStatusData->getMenuHtml());
|
||||
$response->addHTML(PMA_getHtmlForServerStatus($ServerStatusData));
|
||||
$response->addHTML('</div>');
|
||||
|
||||
$serverStatusData = new PMA_ServerStatusData();
|
||||
$response->addHTML($serverStatusData->getMenuHtml());
|
||||
if ($serverStatusData->dataLoaded) {
|
||||
$response->addHTML(PMA_getHtmlForServerStatus($serverStatusData));
|
||||
} else {
|
||||
$response->addHTML(
|
||||
PMA_Message::error(
|
||||
__('Not enough privilege to view server status.')
|
||||
)->getDisplay()
|
||||
);
|
||||
}
|
||||
$response->addHTML('</div>');
|
||||
exit;
|
||||
|
||||
@ -20,7 +20,7 @@ if (PMA_DRIZZLE) {
|
||||
include_once 'libraries/replication_gui.lib.php';
|
||||
}
|
||||
|
||||
$ServerStatusData = new PMA_ServerStatusData();
|
||||
$serverStatusData = new PMA_ServerStatusData();
|
||||
|
||||
$response = PMA_Response::getInstance();
|
||||
$scripts = $response->getHeader()->getScripts();
|
||||
@ -30,8 +30,16 @@ $scripts->addFile('server_status_advisor.js');
|
||||
* Output
|
||||
*/
|
||||
$response->addHTML('<div>');
|
||||
$response->addHTML($ServerStatusData->getMenuHtml());
|
||||
$response->addHTML(PMA_getHtmlForAdvisor());
|
||||
$response->addHTML($serverStatusData->getMenuHtml());
|
||||
if ($serverStatusData->dataLoaded) {
|
||||
$response->addHTML(PMA_getHtmlForAdvisor());
|
||||
} else {
|
||||
$response->addHTML(
|
||||
PMA_Message::error(
|
||||
__('Not enough privilege to view the advisor.')
|
||||
)->getDisplay()
|
||||
);
|
||||
}
|
||||
$response->addHTML('</div>');
|
||||
|
||||
exit;
|
||||
|
||||
@ -21,7 +21,7 @@ if (PMA_DRIZZLE) {
|
||||
include_once 'libraries/replication_gui.lib.php';
|
||||
}
|
||||
|
||||
$ServerStatusData = new PMA_ServerStatusData();
|
||||
$serverStatusData = new PMA_ServerStatusData();
|
||||
|
||||
$response = PMA_Response::getInstance();
|
||||
$header = $response->getHeader();
|
||||
@ -46,7 +46,15 @@ $scripts->addFile('server_status_sorter.js');
|
||||
|
||||
// Add the html content to the response
|
||||
$response->addHTML('<div>');
|
||||
$response->addHTML($ServerStatusData->getMenuHtml());
|
||||
$response->addHTML(PMA_getHtmlForQueryStatistics($ServerStatusData));
|
||||
$response->addHTML($serverStatusData->getMenuHtml());
|
||||
if ($serverStatusData->dataLoaded) {
|
||||
$response->addHTML(PMA_getHtmlForQueryStatistics($serverStatusData));
|
||||
} else {
|
||||
$response->addHTML(
|
||||
PMA_Message::error(
|
||||
__('Not enough privilege to view query statistics.')
|
||||
)->getDisplay()
|
||||
);
|
||||
}
|
||||
$response->addHTML('</div>');
|
||||
exit;
|
||||
|
||||
@ -36,7 +36,7 @@ if (isset($_REQUEST['flush'])) {
|
||||
unset($_flush_commands);
|
||||
}
|
||||
|
||||
$ServerStatusData = new PMA_ServerStatusData();
|
||||
$serverStatusData = new PMA_ServerStatusData();
|
||||
|
||||
$response = PMA_Response::getInstance();
|
||||
$header = $response->getHeader();
|
||||
@ -46,10 +46,18 @@ $scripts->addFile('jquery/jquery.tablesorter.js');
|
||||
$scripts->addFile('server_status_sorter.js');
|
||||
|
||||
$response->addHTML('<div>');
|
||||
$response->addHTML($ServerStatusData->getMenuHtml());
|
||||
$response->addHTML(PMA_getHtmlForFilter($ServerStatusData));
|
||||
$response->addHTML(PMA_getHtmlForLinkSuggestions($ServerStatusData));
|
||||
$response->addHTML(PMA_getHtmlForVariablesList($ServerStatusData));
|
||||
$response->addHTML($serverStatusData->getMenuHtml());
|
||||
if ($serverStatusData->dataLoaded) {
|
||||
$response->addHTML(PMA_getHtmlForFilter($serverStatusData));
|
||||
$response->addHTML(PMA_getHtmlForLinkSuggestions($serverStatusData));
|
||||
$response->addHTML(PMA_getHtmlForVariablesList($serverStatusData));
|
||||
} else {
|
||||
$response->addHTML(
|
||||
PMA_Message::error(
|
||||
__('Not enough privilege to view status variables.')
|
||||
)->getDisplay()
|
||||
);
|
||||
}
|
||||
$response->addHTML('</div>');
|
||||
|
||||
exit;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user