PMA\libraries\ListDatabase::retrieve PHP Method

retrieve() protected method

retrieves database list from server
protected retrieve ( string $like_db_name = null ) : array
$like_db_name string usually a db_name containing wildcards
return array
    protected function retrieve($like_db_name = null)
    {
        $database_list = array();
        $command = "";
        if (!$GLOBALS['cfg']['Server']['DisableIS']) {
            $command .= "SELECT `SCHEMA_NAME` FROM `INFORMATION_SCHEMA`.`SCHEMATA`";
            if (null !== $like_db_name) {
                $command .= " WHERE `SCHEMA_NAME` LIKE '" . $like_db_name . "'";
            }
        } else {
            if ($GLOBALS['dbs_to_test'] === false || null !== $like_db_name) {
                $command .= "SHOW DATABASES";
                if (null !== $like_db_name) {
                    $command .= " LIKE '" . $like_db_name . "'";
                }
            } else {
                foreach ($GLOBALS['dbs_to_test'] as $db) {
                    $database_list = array_merge($database_list, $this->retrieve($db));
                }
            }
        }
        if ($command) {
            $database_list = $GLOBALS['dbi']->fetchResult($command, null, null, $this->db_link);
        }
        if ($GLOBALS['cfg']['NaturalOrder']) {
            natsort($database_list);
        } else {
            // need to sort anyway, otherwise information_schema
            // goes at the top
            sort($database_list);
        }
        return $database_list;
    }