some changes to PMA_deleteUser and PMA_updatePrivileges
This commit is contained in:
parent
ef4d31e581
commit
c1a8445bcf
@ -2356,7 +2356,7 @@ function PMA_getDbRightsForUserOverview()
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete user and get message for delete user in privileges
|
||||
* Delete user and get message and sql query for delete user in privileges
|
||||
*
|
||||
* @param string $queries queries
|
||||
*
|
||||
@ -2364,60 +2364,32 @@ function PMA_getDbRightsForUserOverview()
|
||||
*/
|
||||
function PMA_deleteUser($queries)
|
||||
{
|
||||
$common_functions = PMA_CommonFunctions::getInstance();
|
||||
|
||||
if (isset($_REQUEST['change_copy'])) {
|
||||
$selected_usr = array($_GET['old_username'] . '' . $_GET['old_hostname']);
|
||||
if (empty($queries)) {
|
||||
$message = PMA_Message::error(__('No users selected for deleting!'));
|
||||
} else {
|
||||
$selected_usr = $_REQUEST['selected_usr'];
|
||||
$queries = array();
|
||||
}
|
||||
foreach ($selected_usr as $each_user) {
|
||||
list($this_user, $this_host) = explode('', $each_user);
|
||||
$queries[] = '# '
|
||||
. sprintf(__('Deleting %s'), '\'' . $this_user . '\'@\'' . $this_host . '\'')
|
||||
. ' ...';
|
||||
$queries[] = 'DROP USER \''
|
||||
. $common_functions->sqlAddSlashes($this_user) . '\'@\''
|
||||
. $common_functions->sqlAddSlashes($this_host) . '\';';
|
||||
|
||||
if (isset($_REQUEST['drop_users_db'])) {
|
||||
$queries[] = 'DROP DATABASE IF EXISTS ' . $common_functions->backquote($this_user) . ';';
|
||||
$GLOBALS['reload'] = true;
|
||||
|
||||
if ($GLOBALS['is_ajax_request'] != true) {
|
||||
echo $common_functions->getReloadNavigationScript();
|
||||
}
|
||||
if ($_REQUEST['mode'] == 3) {
|
||||
$queries[] = '# ' . __('Reloading the privileges') . ' ...';
|
||||
$queries[] = 'FLUSH PRIVILEGES;';
|
||||
}
|
||||
}
|
||||
if (empty($_REQUEST['change_copy'])) {
|
||||
if (empty($queries)) {
|
||||
$message = PMA_Message::error(__('No users selected for deleting!'));
|
||||
} else {
|
||||
if ($_REQUEST['mode'] == 3) {
|
||||
$queries[] = '# ' . __('Reloading the privileges') . ' ...';
|
||||
$queries[] = 'FLUSH PRIVILEGES;';
|
||||
}
|
||||
$drop_user_error = '';
|
||||
foreach ($queries as $sql_query) {
|
||||
if ($sql_query{0} != '#') {
|
||||
if (! PMA_DBI_try_query($sql_query, $GLOBALS['userlink'])) {
|
||||
$drop_user_error .= PMA_DBI_getError() . "\n";
|
||||
}
|
||||
$drop_user_error = '';
|
||||
foreach ($queries as $sql_query) {
|
||||
if ($sql_query{0} != '#') {
|
||||
if (! PMA_DBI_try_query($sql_query, $GLOBALS['userlink'])) {
|
||||
$drop_user_error .= PMA_DBI_getError() . "\n";
|
||||
}
|
||||
}
|
||||
// tracking sets this, causing the deleted db to be shown in navi
|
||||
unset($GLOBALS['db']);
|
||||
}
|
||||
// tracking sets this, causing the deleted db to be shown in navi
|
||||
unset($GLOBALS['db']);
|
||||
|
||||
$sql_query = join("\n", $queries);
|
||||
if (! empty($drop_user_error)) {
|
||||
$message = PMA_Message::rawError($drop_user_error);
|
||||
} else {
|
||||
$message = PMA_Message::success(__('The selected users have been deleted successfully.'));
|
||||
}
|
||||
$sql_query = join("\n", $queries);
|
||||
if (! empty($drop_user_error)) {
|
||||
$message = PMA_Message::rawError($drop_user_error);
|
||||
} else {
|
||||
$message = PMA_Message::success(__('The selected users have been deleted successfully.'));
|
||||
}
|
||||
}
|
||||
return $message;
|
||||
return array($sql_query, $message);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2430,10 +2402,20 @@ function PMA_deleteUser($queries)
|
||||
*
|
||||
* @return PMA_message success message or error message for update
|
||||
*/
|
||||
function PMA_updatePrivileges($dbname, $tablename, $username, $hostname)
|
||||
function PMA_updatePrivileges($username, $hostname)
|
||||
{
|
||||
$common_functions = PMA_CommonFunctions::getInstance();
|
||||
|
||||
if (PMA_isValid($_REQUEST['pred_tablename'])) {
|
||||
$tablename = $_REQUEST['pred_tablename'];
|
||||
} elseif (PMA_isValid($_REQUEST['tablename'])) {
|
||||
$tablename = $_REQUEST['tablename'];
|
||||
}
|
||||
if (PMA_isValid($_REQUEST['pred_dbname'])) {
|
||||
$dbname = $_REQUEST['pred_dbname'];
|
||||
} elseif (PMA_isValid($_REQUEST['dbname'])) {
|
||||
$dbname = $_REQUEST['dbname'];
|
||||
}
|
||||
$db_and_table = PMA_wildcardEscapeForGrant(
|
||||
$dbname, (isset($tablename) ? $tablename : '')
|
||||
);
|
||||
@ -2487,7 +2469,7 @@ function PMA_updatePrivileges($dbname, $tablename, $username, $hostname)
|
||||
'\'' . htmlspecialchars($username) . '\'@\'' . htmlspecialchars($hostname) . '\''
|
||||
);
|
||||
|
||||
return $message;
|
||||
return array($sql_query, $message);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -460,7 +460,7 @@ if (isset($_REQUEST['change_copy'])) {
|
||||
* Updates privileges
|
||||
*/
|
||||
if (! empty($update_privs)) {
|
||||
$message = PMA_updatePrivileges($dbname, $tablename, $username, $hostname);
|
||||
list($sql_query, $message) = PMA_updatePrivileges($username, $hostname);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -488,8 +488,30 @@ if (isset($_REQUEST['change_pw'])) {
|
||||
if (isset($_REQUEST['delete'])
|
||||
|| (isset($_REQUEST['change_copy']) && $_REQUEST['mode'] < 4)
|
||||
) {
|
||||
$message = PMA_deleteUser($queries);
|
||||
}
|
||||
if (isset($_REQUEST['change_copy'])) {
|
||||
$selected_usr = array($_REQUEST['old_username'] . '&#27;' . $_REQUEST['old_hostname']);
|
||||
} else {
|
||||
$selected_usr = $_REQUEST['selected_usr'];
|
||||
$queries = array();
|
||||
}
|
||||
foreach ($selected_usr as $each_user) {
|
||||
list($this_user, $this_host) = explode('&#27;', $each_user);
|
||||
$queries[] = '# ' . sprintf(__('Deleting %s'), '\'' . $this_user . '\'@\'' . $this_host . '\'') . ' ...';
|
||||
$queries[] = 'DROP USER \'' . $common_functions->sqlAddSlashes($this_user) . '\'@\'' . $common_functions->sqlAddSlashes($this_host) . '\';';
|
||||
|
||||
if (isset($_REQUEST['drop_users_db'])) {
|
||||
$queries[] = 'DROP DATABASE IF EXISTS ' . $common_functions->backquote($this_user) . ';';
|
||||
$GLOBALS['reload'] = true;
|
||||
|
||||
if ($GLOBALS['is_ajax_request'] != true) {
|
||||
echo $common_functions->getReloadNavigationScript();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (empty($_REQUEST['change_copy'])) {
|
||||
list($sql_query, $message) = PMA_deleteUser($queries);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes / copies a user, part V
|
||||
|
||||
Loading…
Reference in New Issue
Block a user