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;
}
/** * 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; }