PMA\libraries\navigation\NavigationTree::renderDbSelect PHP Method

renderDbSelect() public method

Renders a database select box like the pre-4.0 navigation panel
public renderDbSelect ( ) : string
return string HTML code
    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;
    }

Usage Example

Esempio n. 1
0
 /**
  * Renders the navigation tree, or part of it
  *
  * @return string The navigation tree
  */
 public function getDisplay()
 {
     /* Init */
     $retval = '';
     if (!Response::getInstance()->isAjax()) {
         $header = new NavigationHeader();
         $retval = $header->getDisplay();
     }
     $tree = new NavigationTree();
     if (!Response::getInstance()->isAjax() || !empty($_REQUEST['full']) || !empty($_REQUEST['reload'])) {
         if ($GLOBALS['cfg']['ShowDatabasesNavigationAsTree']) {
             // provide database tree in navigation
             $navRender = $tree->renderState();
         } else {
             // provide legacy pre-4.0 navigation
             $navRender = $tree->renderDbSelect();
         }
     } else {
         $navRender = $tree->renderPath();
     }
     if (!$navRender) {
         $retval .= Message::error(__('An error has occurred while loading the navigation display'))->getDisplay();
     } else {
         $retval .= $navRender;
     }
     if (!Response::getInstance()->isAjax()) {
         // closes the tags that were opened by the navigation header
         $retval .= '</div>';
         // pma_navigation_tree
         $retval .= '<div id="pma_navi_settings_container">';
         if (!defined('PMA_DISABLE_NAVI_SETTINGS')) {
             $retval .= PageSettings::getNaviSettings();
         }
         $retval .= '</div>';
         //pma_navi_settings_container
         $retval .= '</div>';
         // pma_navigation_content
         $retval .= $this->_getDropHandler();
         $retval .= '</div>';
         // pma_navigation
     }
     return $retval;
 }
All Usage Examples Of PMA\libraries\navigation\NavigationTree::renderDbSelect