public function renderDbSelect()
{
$this->_buildPath();
$retval = $this->_quickWarp();
$this->_tree->is_group = false;
$retval .= '<div id="pma_navigation_select_database">';
// Provide for pagination in database select
$retval .= Util::getListNavigator($this->_tree->getPresence('databases', ''), $this->_pos, array('server' => $GLOBALS['server']), 'navigation.php', 'frame_navigation', $GLOBALS['cfg']['FirstLevelNavigationItems'], 'pos', array('dbselector'));
$children = $this->_tree->children;
array_shift($children);
$url_params = array('server' => $GLOBALS['server']);
$retval .= '<div id="pma_navigation_db_select">';
$retval .= '<form action="index.php">';
$retval .= URL::getHiddenFields($url_params);
$retval .= '<select name="db" class="hide" id="navi_db_select">' . '<option value="" dir="' . $GLOBALS['text_dir'] . '">' . '(' . __('Databases') . ') ...</option>' . "\n";
$selected = $GLOBALS['db'];
foreach ($children as $node) {
$paths = $node->getPaths();
if (isset($node->links['text'])) {
$title = empty($node->links['title']) ? '' : $node->links['title'];
$retval .= '<option value="' . htmlspecialchars($node->real_name) . '"' . ' title="' . htmlspecialchars($title) . '"' . ' apath="' . $paths['aPath'] . '"' . ' vpath="' . $paths['vPath'] . '"' . ' pos="' . $this->_pos . '"';
if ($node->real_name == $selected) {
$retval .= ' selected="selected"';
}
$retval .= '>' . htmlspecialchars($node->real_name);
$retval .= '</option>';
}
}
$retval .= '</select></form>';
$retval .= '</div></div>';
$retval .= '<div id="pma_navigation_tree_content"><ul>';
$children = $this->_tree->children;
usort($children, array('PMA\\libraries\\navigation\\NavigationTree', 'sortNode'));
$this->_setVisibility();
for ($i = 0, $nbChildren = count($children); $i < $nbChildren; $i++) {
if ($i == 0) {
$retval .= $this->_renderNode($children[0], true, 'first');
} else {
if ($i + 1 != $nbChildren) {
$retval .= $this->_renderNode($children[$i], true);
} else {
$retval .= $this->_renderNode($children[$i], true, 'last');
}
}
}
$retval .= '</ul></div>';
return $retval;
}