} // end while PMA_DBI_free_result($rs_usr); unset($rs_usr, $row, $re0, $re1); } else { // Finally, let's try to get the user's privileges by using SHOW // GRANTS... // Maybe we'll find a little CREATE priv there :) $rs_usr = PMA_DBI_try_query('SHOW GRANTS FOR ' . $mysql_cur_user_and_host . ';', $controllink, PMA_DBI_QUERY_STORE); if (!$rs_usr) { // OK, now we'd have to guess the user's hostname, but we // only try out the 'username'@'%' case. $rs_usr = PMA_DBI_try_query('SHOW GRANTS FOR ' . PMA_convert_using(PMA_sqlAddslashes($mysql_cur_user), 'quoted') . ';', $controllink, PMA_DBI_QUERY_STORE); } unset($local_query); if ($rs_usr) { PMA_analyseShowGrant($rs_usr, $is_create_db_priv, $db_to_create, $is_reload_priv, $dbs_where_create_table_allowed); PMA_DBI_free_result($rs_usr); unset($rs_usr); } // end if } // end elseif } // end if } // end else (MySQL < 4.1.2) // If disabled, don't show it if (!$cfg['SuggestDBName']) { $db_to_create = ''; }
// end while PMA_DBI_free_result($rs_usr); unset($rs_usr, $row, $re0, $re1); } else { // Finally, let's try to get the user's privileges by using SHOW // GRANTS... // Maybe we'll find a little CREATE priv there :) $rs_usr = PMA_DBI_try_query('SHOW GRANTS FOR ' . $mysql_cur_user_and_host . ';', $dbh, PMA_DBI_QUERY_STORE); if (!$rs_usr) { // OK, now we'd have to guess the user's hostname, but we // only try out the 'username'@'%' case. $rs_usr = PMA_DBI_try_query('SHOW GRANTS FOR ' . $mysql_cur_user . ';', $dbh, PMA_DBI_QUERY_STORE); } unset($local_query); if ($rs_usr) { PMA_analyseShowGrant($rs_usr, $is_create_priv, $db_to_create); PMA_DBI_free_result($rs_usr); unset($rs_usr); } // end if } // end elseif } // end if } // end else (MySQL < 4.1.2) if (!$cfg['SuggestDBName']) { $db_to_create = ''; } $common_url_query = PMA_generate_common_url(); if ($is_superuser) {
if ($GLOBALS['cfg']['SuggestDBName']) { $GLOBALS['db_to_create'] = preg_replace('/' . $re0 . '_/', '\\1?', $show_grants_dbname); $GLOBALS['db_to_create'] = preg_replace('/' . $re0 . '%/', '\\1...', $GLOBALS['db_to_create']); $GLOBALS['db_to_create'] = preg_replace('/' . $re1 . '(%|_)/', '\\1\\3', $GLOBALS['db_to_create']); } $GLOBALS['is_create_db_priv'] = true; /** * @todo collect $GLOBALS['db_to_create'] into an array, to display a * drop-down in the "Create new database" dialog */ // we don't break, we want all possible databases //break; } // end if } // end elseif } // end if } // end while PMA_DBI_free_result($rs_usr); // must also PMA_cacheUnset() them in libraries/auth/cookie.auth.lib.php PMA_cacheSet('is_create_db_priv', $GLOBALS['is_create_db_priv'], true); PMA_cacheSet('is_process_priv', $GLOBALS['is_process_priv'], true); PMA_cacheSet('is_reload_priv', $GLOBALS['is_reload_priv'], true); PMA_cacheSet('db_to_create', $GLOBALS['db_to_create'], true); PMA_cacheSet('dbs_where_create_table_allowed', $GLOBALS['dbs_where_create_table_allowed'], true); } // end function PMA_analyseShowGrant();
// end while PMA_DBI_free_result($rs_usr); unset($rs_usr, $row, $re0, $re1); } else { // Finally, let's try to get the user's privileges by using SHOW // GRANTS... // Maybe we'll find a little CREATE priv there :) $rs_usr = PMA_DBI_try_query('SHOW GRANTS FOR ' . $mysql_cur_user_and_host . ';', $dbh, PMA_DBI_QUERY_STORE); if (!$rs_usr) { // OK, now we'd have to guess the user's hostname, but we // only try out the 'username'@'%' case. $rs_usr = PMA_DBI_try_query('SHOW GRANTS FOR ' . $mysql_cur_user . ';', $dbh, PMA_DBI_QUERY_STORE); } unset($local_query); if ($rs_usr) { PMA_analyseShowGrant($rs_usr, $is_create_priv, $db_to_create, $is_reload_priv); PMA_DBI_free_result($rs_usr); unset($rs_usr); } // end if } // end elseif } // end if } // end else (MySQL < 4.1.2) // If disabled, don't show it if (!$cfg['SuggestDBName']) { $db_to_create = ''; } ?>