a function for get sql queries for display and add user

This commit is contained in:
Thilina Buddika 2012-07-21 05:21:19 +05:30
parent b05ee596f9
commit 75d20f23fc
2 changed files with 68 additions and 45 deletions

View File

@ -3202,4 +3202,70 @@ function PMA_addUserAndCreateDatabase($_error, $real_sql_query, $sql_query,
}
return array($sql_query, $message);
}
/**
* Get SQL queries for Display and Add user
*
* @param string $username usernam
* @param string $hostname host name
* @param string $password password
*
* @return array ($create_user_real, $create_user_show,$real_sql_query, $sql_query)
*/
function PMA_getSqlQueriesForDisplayAndAddUser($username, $hostname, $password)
{
$common_functions = PMA_CommonFunctions::getInstance();
$sql_query = '';
$create_user_real = 'CREATE USER \''
. $common_functions->sqlAddSlashes($username) . '\'@\''
. $common_functions->sqlAddSlashes($hostname) . '\'';
$real_sql_query = 'GRANT ' . join(', ', PMA_extractPrivInfo()) . ' ON *.* TO \''
. $common_functions->sqlAddSlashes($username) . '\'@\''
. $common_functions->sqlAddSlashes($hostname) . '\'';
if ($_POST['pred_password'] != 'none' && $_POST['pred_password'] != 'keep') {
$sql_query = $real_sql_query . ' IDENTIFIED BY \'***\'';
$real_sql_query .= ' IDENTIFIED BY \''
. $common_functions->sqlAddSlashes($_POST['pma_pw']) . '\'';
if (isset($create_user_real)) {
$create_user_show = $create_user_real . ' IDENTIFIED BY \'***\'';
$create_user_real .= ' IDENTIFIED BY \''
. $common_functions->sqlAddSlashes($_POST['pma_pw']) . '\'';
}
} else {
if ($_POST['pred_password'] == 'keep' && ! empty($password)) {
$real_sql_query .= ' IDENTIFIED BY PASSWORD \'' . $password . '\'';
if (isset($create_user_real)) {
$create_user_real .= ' IDENTIFIED BY PASSWORD \'' . $password . '\'';
}
}
$sql_query = $real_sql_query;
if (isset($create_user_real)) {
$create_user_show = $create_user_real;
}
}
if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y')
|| (isset($_POST['max_questions']) || isset($_POST['max_connections'])
|| isset($_POST['max_updates']) || isset($_POST['max_user_connections']))
) {
$with_clause = PMA_getWithClauseForAddUserAndUpdatePrivs();
$real_sql_query .= $with_clause;
$sql_query .= $with_clause;
}
if (isset($create_user_real)) {
$create_user_real .= ';';
$create_user_show .= ';';
}
$real_sql_query .= ';';
$sql_query .= ';';
return array($create_user_real,
$create_user_show,
$real_sql_query,
$sql_query
);
}
?>

View File

@ -211,52 +211,9 @@ if (isset($_REQUEST['adduser_submit']) || isset($_REQUEST['change_copy'])) {
$_REQUEST['adduser'] = true;
$_add_user_error = true;
} else {
$create_user_real = 'CREATE USER \''
. $common_functions->sqlAddSlashes($username) . '\'@\''
. $common_functions->sqlAddSlashes($hostname) . '\'';
$real_sql_query = 'GRANT ' . join(', ', PMA_extractPrivInfo()) . ' ON *.* TO \''
. $common_functions->sqlAddSlashes($username) . '\'@\''
. $common_functions->sqlAddSlashes($hostname) . '\'';
list($create_user_real, $create_user_show, $real_sql_query, $sql_query)
= PMA_getSqlQueriesForDisplayAndAddUser($username, $hostname, $password);
if ($_POST['pred_password'] != 'none' && $_POST['pred_password'] != 'keep') {
$sql_query = $real_sql_query . ' IDENTIFIED BY \'***\'';
$real_sql_query .= ' IDENTIFIED BY \''
. $common_functions->sqlAddSlashes($_POST['pma_pw']) . '\'';
if (isset($create_user_real)) {
$create_user_show = $create_user_real . ' IDENTIFIED BY \'***\'';
$create_user_real .= ' IDENTIFIED BY \''
. $common_functions->sqlAddSlashes($_POST['pma_pw']) . '\'';
}
} else {
if ($_POST['pred_password'] == 'keep' && ! empty($password)) {
$real_sql_query .= ' IDENTIFIED BY PASSWORD \'' . $password . '\'';
if (isset($create_user_real)) {
$create_user_real .= ' IDENTIFIED BY PASSWORD \'' . $password . '\'';
}
}
$sql_query = $real_sql_query;
if (isset($create_user_real)) {
$create_user_show = $create_user_real;
}
}
if ((isset($Grant_priv) && $Grant_priv == 'Y')
|| (isset($max_questions) || isset($max_connections)
|| isset($max_updates) || isset($max_user_connections))
) {
$with_clause = PMA_getWithClauseForAddUserAndUpdatePrivs();
$real_sql_query .= $with_clause;
$sql_query .= $with_clause;
}
if (isset($create_user_real)) {
$create_user_real .= ';';
$create_user_show .= ';';
}
$real_sql_query .= ';';
$sql_query .= ';';
if (empty($_REQUEST['change_copy'])) {
$_error = false;