diff options
author | Hugues Peccatte <hugues.peccatte@gmail.com> | 2015-09-19 00:17:22 +0300 |
---|---|---|
committer | Hugues Peccatte <hugues.peccatte@gmail.com> | 2015-09-19 00:17:22 +0300 |
commit | 21460a01c024afda065bfb2bc510907831d6b0f7 (patch) | |
tree | 02496a8d33a1abd4068238c6eb7eb3a09fa57848 /server_privileges.php | |
parent | a5d35d41b611001e7d27731ab4d3fb9b929d5e92 (diff) | |
parent | 5d008acb330812023dc21a80865769cdeb9deedd (diff) |
Merge branch 'master' into useNamespaces_master
Diffstat (limited to 'server_privileges.php')
-rw-r--r-- | server_privileges.php | 55 |
1 files changed, 40 insertions, 15 deletions
diff --git a/server_privileges.php b/server_privileges.php index 4cc5aca7ea..ac887cab17 100644 --- a/server_privileges.php +++ b/server_privileges.php @@ -114,7 +114,7 @@ $_add_user_error = false; * tablename, db_and_table, dbname_is_wildcard */ list( - $username, $hostname, $dbname, $tablename, + $username, $hostname, $dbname, $tablename, $routinename, $db_and_table, $dbname_is_wildcard ) = PMA_getDataForDBInfo(); @@ -179,6 +179,11 @@ if (isset($_REQUEST['change_copy'])) { ); } +$itemType = ''; +if (! empty($routinename)) { + $itemType = PMA_getRoutineType($dbname, $routinename); +} + /** * Updates privileges */ @@ -188,8 +193,11 @@ if (! empty($_POST['update_privs'])) { list($sql_query[$key], $message) = PMA_updatePrivileges( (isset($username) ? $username : ''), (isset($hostname) ? $hostname : ''), - (isset($tablename) ? $tablename : ''), - (isset($db_name) ? $db_name : '') + (isset($tablename) + ? $tablename + : (isset($routinename) ? $routinename : '')), + (isset($db_name) ? $db_name : ''), + $itemType ); } @@ -198,8 +206,11 @@ if (! empty($_POST['update_privs'])) { list($sql_query, $message) = PMA_updatePrivileges( (isset($username) ? $username : ''), (isset($hostname) ? $hostname : ''), - (isset($tablename) ? $tablename : ''), - (isset($dbname) ? $dbname : '') + (isset($tablename) + ? $tablename + : (isset($routinename) ? $routinename : '')), + (isset($dbname) ? $dbname : ''), + $itemType ); } } @@ -220,8 +231,12 @@ if (! empty($_REQUEST['changeUserGroup']) && $cfgRelation['menuswork'] if (isset($_REQUEST['revokeall'])) { list ($message, $sql_query) = PMA_getMessageAndSqlQueryForPrivilegesRevoke( (isset($dbname) ? $dbname : ''), - (isset($tablename) ? $tablename : ''), - $username, $hostname + (isset($tablename) + ? $tablename + : (isset($routinename) ? $routinename : '')), + $username, + $hostname, + $itemType ); } @@ -382,25 +397,35 @@ if (isset($_REQUEST['adduser'])) { ); } } else { + if (isset($dbname) && ! is_array($dbname)) { + $url_dbname = urlencode( + str_replace( + array('\_', '\%'), + array('_', '%'), + $_REQUEST['dbname'] + ) + ); + } + if (! isset($username)) { // No username is given --> display the overview $response->addHTML( PMA_getHtmlForUserOverview($pmaThemeImage, $text_dir) ); + } else if (!empty($routinename)) { + $response->addHTML( + PMA_getHtmlForRoutineSpecificPrivilges( + $username, $hostname, $dbname, $routinename, + (isset($url_dbname) ? $url_dbname : '') + ) + ); } else { // A user was selected -> display the user's properties // In an Ajax request, prevent cached values from showing if ($GLOBALS['is_ajax_request'] == true) { header('Cache-Control: no-cache'); } - if (isset($dbname) && ! is_array($dbname)) { - $url_dbname = urlencode( - str_replace( - array('\_', '\%'), - array('_', '%'), $_REQUEST['dbname'] - ) - ); - } + $response->addHTML( PMA_getHtmlForUserProperties( (isset($dbname_is_wildcard) ? $dbname_is_wildcard : ''), |