PMA\libraries\navigation\NavigationTree::renderPath PHP Метод

renderPath() публичный Метод

Renders a part of the tree, used for Ajax requests in light mode
public renderPath ( ) : string
Результат string HTML code for the navigation tree
    public function renderPath()
    {
        $node = $this->_buildPath();
        if ($node === false) {
            $retval = false;
        } else {
            $this->groupTree();
            $retval = "<div class='list_container' style='display: none;'>";
            if (!empty($this->_searchClause) || !empty($this->_searchClause2)) {
                $retval .= "<ul class='search_results'>";
            } else {
                $retval .= "<ul>";
            }
            $listContent = $this->_fastFilterHtml($node);
            $listContent .= $this->_getPageSelector($node);
            $children = $node->children;
            usort($children, array('PMA\\libraries\\navigation\\NavigationTree', 'sortNode'));
            for ($i = 0, $nbChildren = count($children); $i < $nbChildren; $i++) {
                if ($i + 1 != $nbChildren) {
                    $listContent .= $this->_renderNode($children[$i], true);
                } else {
                    $listContent .= $this->_renderNode($children[$i], true, 'last');
                }
            }
            $retval .= $listContent;
            $retval .= "</ul>";
            if (!$GLOBALS['cfg']['ShowDatabasesNavigationAsTree']) {
                $retval .= "<span class='hide loaded_db'>";
                $parents = $node->parents(true);
                $retval .= urlencode($parents[0]->real_name);
                $retval .= "</span>";
                if (empty($listContent)) {
                    $retval .= "<div style='margin:0.75em'>";
                    $retval .= __('No tables found in database.');
                    $retval .= "</div>";
                }
            }
            $retval .= "</div>";
        }
        if (!empty($this->_searchClause) || !empty($this->_searchClause2)) {
            $results = 0;
            if (!empty($this->_searchClause2)) {
                if (is_object($node->realParent())) {
                    $results = $node->realParent()->getPresence($node->real_name, $this->_searchClause2);
                }
            } else {
                $results = $this->_tree->getPresence('databases', $this->_searchClause);
            }
            $results = sprintf(_ngettext('%s result found', '%s results found', $results), $results);
            Response::getInstance()->addJSON('results', $results);
        }
        return $retval;
    }

Usage Example

Пример #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::renderPath