diff --git a/left.php3 b/left.php3 index 7f02cdcbf..2b3229d33 100755 --- a/left.php3 +++ b/left.php3 @@ -19,15 +19,36 @@ require('./lib.inc.php3'); * before the user choose among available ones at the welcome screen. */ if ($server > 0) { - // Get databases list - if (empty($dblist)) { - $dbs = @mysql_list_dbs() or mysql_die(); - $num_dbs = mysql_numrows($dbs); - } else { - $num_dbs = count($dblist); + // Get the valid databases list + $num_dbs = count($dblist); + $dbs = @mysql_list_dbs() or mysql_die(); + while ($a_db = mysql_fetch_object($dbs)) { + if (!$num_dbs) { + $dblist[] = $a_db->Database; + } else { + $true_dblist[$a_db->Database] = ''; + } } + if ($num_dbs && empty($true_dblist)) { + $dblist = array(); + } else if ($num_dbs) { + for ($i = 0; $i < $num_dbs; $i++) { + if (isset($true_dblist[$dblist[$i]])) { + $dblist_valid[] = $dblist[$i]; + } + } + if (isset($dblist_valid)) { + $dblist = $dblist_valid; + unset($dblist_valid); + } else { + $dblist = array(); + } + unset($true_dblist); + } + // Get the valid databases count + $num_dbs = count($dblist); } else { - $num_dbs = 0; + $num_dbs = 0; } @@ -62,7 +83,7 @@ if ($num_dbs > 1) { echo "\n"; ?> -