* Changes / copies a user, part III */ if (isset($_REQUEST['change_copy'])) { $queries = PMA_getDbSpecificPrivsQueriesForChangeOrCopyUser($queries, $username, $hostname); } /** * Updates privileges */ if (!empty($_POST['update_privs'])) { if (is_array($dbname)) { foreach ($dbname as $key => $db_name) { list($sql_query[$key], $message) = PMA_updatePrivileges(isset($username) ? $username : '', isset($hostname) ? $hostname : '', isset($tablename) ? $tablename : '', isset($db_name) ? $db_name : ''); } $sql_query = implode("\n", $sql_query); } else { list($sql_query, $message) = PMA_updatePrivileges(isset($username) ? $username : '', isset($hostname) ? $hostname : '', isset($tablename) ? $tablename : '', isset($dbname) ? $dbname : ''); } } /** * Assign users to user groups */ if (!empty($_REQUEST['changeUserGroup']) && $cfgRelation['menuswork'] && $GLOBALS['is_superuser'] && $GLOBALS['is_createuser']) { PMA_setUserGroup($username, $_REQUEST['userGroup']); $message = PMA_Message::success(); } /** * Revokes Privileges */ if (isset($_REQUEST['revokeall'])) { list($message, $sql_query) = PMA_getMessageAndSqlQueryForPrivilegesRevoke(isset($dbname) ? $dbname : '', isset($tablename) ? $tablename : '', $username, $hostname); }
/** * Test for PMA_updatePrivileges * * @return void */ public function testPMAUpdatePrivileges() { $dbname = 'pma_dbname'; $username = '******'; $hostname = 'pma_hostname'; $tablename = 'pma_tablename'; $_REQUEST['adduser_submit'] = true; $_POST['pred_username'] = '******'; $_POST['pred_hostname'] = 'localhost'; $_REQUEST['createdb-3'] = true; $_POST['Grant_priv'] = 'Y'; $_POST['max_questions'] = 1000; list($sql_query, $message) = PMA_updatePrivileges($username, $hostname, $tablename, $dbname, ''); $this->assertEquals("You have updated the privileges for 'pma_username'@'pma_hostname'.", $message->getMessage()); $this->assertEquals("REVOKE ALL PRIVILEGES ON `pma_dbname`.`pma_tablename` " . "FROM 'pma_username'@'pma_hostname'; ", $sql_query); }
} $itemType = ''; if (!empty($routinename)) { $itemType = PMA_getRoutineType($dbname, $routinename); } /** * Updates privileges */ if (!empty($_POST['update_privs'])) { if (is_array($dbname)) { foreach ($dbname as $key => $db_name) { list($sql_query[$key], $message) = PMA_updatePrivileges(isset($username) ? $username : '', isset($hostname) ? $hostname : '', isset($tablename) ? $tablename : (isset($routinename) ? $routinename : ''), isset($db_name) ? $db_name : '', $itemType); } $sql_query = implode("\n", $sql_query); } else { list($sql_query, $message) = PMA_updatePrivileges(isset($username) ? $username : '', isset($hostname) ? $hostname : '', isset($tablename) ? $tablename : (isset($routinename) ? $routinename : ''), isset($dbname) ? $dbname : '', $itemType); } } /** * Assign users to user groups */ if (!empty($_REQUEST['changeUserGroup']) && $cfgRelation['menuswork'] && $GLOBALS['is_superuser'] && $GLOBALS['is_createuser']) { PMA_setUserGroup($username, $_REQUEST['userGroup']); $message = PMA\libraries\Message::success(); } /** * Revokes Privileges */ if (isset($_REQUEST['revokeall'])) { list($message, $sql_query) = PMA_getMessageAndSqlQueryForPrivilegesRevoke(isset($dbname) ? $dbname : '', isset($tablename) ? $tablename : (isset($routinename) ? $routinename : ''), $username, $hostname, $itemType); }