diff --git a/ChangeLog b/ChangeLog index 6c7461e8f1..a1260c4054 100644 --- a/ChangeLog +++ b/ChangeLog @@ -86,6 +86,7 @@ phpMyAdmin - ChangeLog - issue #12257 Improved search page performance - issue #12322 Avoid selecting default function for foreign keys - issue #12453 Fixed escaping of SQL parts in some corner cases +- issue #12542 Missing table name in account privileges editor 4.6.4 (2016-08-16) - issue [security] Weaknesses with cookie encryption, see PMASA-2016-29 diff --git a/libraries/server_privileges.lib.php b/libraries/server_privileges.lib.php index c2ede5fd93..d7ec50848c 100644 --- a/libraries/server_privileges.lib.php +++ b/libraries/server_privileges.lib.php @@ -974,7 +974,8 @@ function PMA_getHtmlForRoutineSpecificPrivilges( $username, $hostname, $db, $routine, $url_dbname ) { $header = PMA_getHtmlHeaderForUserProperties( - false, $url_dbname, $db, $username, $hostname, $routine + false, $url_dbname, $db, $username, $hostname, + $routine, 'routine' ); $sql = "SELECT `Proc_priv`" @@ -1094,7 +1095,7 @@ function PMA_getHtmlForTableSpecificPrivileges( . '' . "\n" . '
' . __('Note: MySQL privilege names are expressed in English.') @@ -4626,12 +4627,14 @@ function PMA_getAddUserHtmlFieldset($db = '', $table = '') * @param string $dbname database name * @param string $username username * @param string $hostname host name - * @param string $tablename table name + * @param string $entity_name entity (table or routine) name + * @param string $entity_type optional, type of entity ('table' or 'routine') * * @return string $html_output */ function PMA_getHtmlHeaderForUserProperties( - $dbname_is_wildcard, $url_dbname, $dbname, $username, $hostname, $tablename + $dbname_is_wildcard, $url_dbname, $dbname, + $username, $hostname, $entity_name, $entity_type='table' ) { $html_output = '' . "\n" . Util::getIcon('b_usredit.png') @@ -4657,7 +4660,7 @@ function PMA_getHtmlHeaderForUserProperties( $html_output .= ($dbname_is_wildcard || is_array($dbname) && count($dbname) > 1) ? __('Databases') : __('Database'); - if (! empty($_REQUEST['tablename'])) { + if (! empty($entity_name) && $entity_type === 'table') { $html_output .= ' '; $html_output .= ' - ' . __('Routine') - . ' ' . htmlspecialchars($tablename) . ''; + . ' ' . htmlspecialchars($entity_name) . ''; } else { if (! is_array($dbname)) { $dbname = array($dbname); @@ -4898,7 +4901,8 @@ function PMA_getHtmlForUserProperties($dbname_is_wildcard,$url_dbname, ) { $html_output = ''; $html_output .= PMA_getHtmlHeaderForUserProperties( - $dbname_is_wildcard, $url_dbname, $dbname, $username, $hostname, $tablename + $dbname_is_wildcard, $url_dbname, $dbname, $username, $hostname, + $tablename, 'table' ); $sql = "SELECT '1' FROM `mysql`.`user`" diff --git a/test/libraries/PMA_server_privileges_test.php b/test/libraries/PMA_server_privileges_test.php index 28cc21830d..d7cb9af384 100644 --- a/test/libraries/PMA_server_privileges_test.php +++ b/test/libraries/PMA_server_privileges_test.php @@ -84,6 +84,8 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase $GLOBALS['username'] = "username"; $GLOBALS['collation_connection'] = "collation_connection"; $GLOBALS['text_dir'] = "text_dir"; + $GLOBALS['is_reload_priv'] = true; + //$_POST $_POST['pred_password'] = 'none'; //$_SESSION @@ -2064,7 +2066,7 @@ class PMA_ServerPrivileges_Test extends PHPUnit_Framework_TestCase $html = PMA_getHtmlHeaderForUserProperties( $dbname_is_wildcard, $url_dbname, $dbname, - $username, $hostname, $tablename + $username, $hostname, $tablename, 'table' ); //title