diff --git a/ChangeLog b/ChangeLog index e2fdf5e631..5a4db28622 100644 --- a/ChangeLog +++ b/ChangeLog @@ -120,6 +120,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 9413942374..e426d0d97c 100644 --- a/libraries/server_privileges.lib.php +++ b/libraries/server_privileges.lib.php @@ -976,7 +976,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`" @@ -1085,7 +1086,7 @@ function PMA_getHtmlForTableSpecificPrivileges( . '' . "\n" . '
' . __('Note: MySQL privilege names are expressed in English.') @@ -4640,12 +4641,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') @@ -4671,7 +4674,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); @@ -4910,7 +4913,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 49cdbaeabe..43dfa14c3d 100644 --- a/test/libraries/PMA_server_privileges_test.php +++ b/test/libraries/PMA_server_privileges_test.php @@ -79,6 +79,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 @@ -2062,7 +2064,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