76 public function render(array $ta, $st)
80 $this->ta = (array) $ta;
82 $tl = count($this->ta);
87 if ($this->st ==
'submenu' || $this->st ==
'search') {
88 $t .=
'<ul class="' . $this->st .
'">' .
"\n";
92 $this->b = $this->st - 1;
93 $this->st =
'menulevel';
96 for (
$i = 0;
$i < $tl;
$i++) {
97 $this->tf = ($s != $this->ta[
$i]);
98 if ($this->st ==
'menulevel' || $this->st ==
'sitemaplevel') {
99 $t .= $this->renderULStartTags(
$i);
101 $t .=
'<li class="' . $this->getClassName(
$i) .
'">';
102 $t .= $this->renderMenuItem(
$i);
103 if ($this->st ==
'menulevel' || $this->st ==
'sitemaplevel') {
104 if ($this->getMenuLevel(
$i + 1) > $this->getMenuLevel(
$i)) {
105 $this->lf[$this->getMenuLevel(
$i)] =
true;
107 $t .=
'</li>' .
"\n";
108 $this->lf[$this->getMenuLevel(
$i)] =
false;
110 $t .= $this->renderEndTags(
$i);
112 $t .=
'</li>' .
"\n";
115 if ($this->st ==
'submenu' || $this->st ==
'search') {
116 $t .=
'</ul>' .
"\n";
131 for ($k = $this->getMenuLevel(
$i - 1); $k < $this->getMenuLevel(
$i); $k++) {
132 $lines[] =
"\n" .
'<ul class="' . $this->st . ($k + 1) .
'">' .
"\n";
134 return implode(
'<li>' .
"\n", $lines);
147 for ($k = $this->getMenuLevel(
$i); $k > $this->getMenuLevel(
$i + 1); $k--) {
148 $html .=
'</ul>' .
"\n";
149 if (isset($this->lf[$k - 1]) && $this->lf[$k - 1]) {
150 $html .=
'</li>' .
"\n";
151 $this->lf[$k - 1] =
false;
170 return isset($this->ta[
$i]) ? $l[$this->ta[
$i]] : $this->b;
185 if ($this->isSelected(
$i)) {
189 if ($this->hasChildren(
$i)) {
207 || $cf[
'menu'][
'sdoc'] ==
"parent" 208 && $this->isAnchestorOfSelectedPage(
$i);
227 return $s > -1 && $l[$this->ta[
$i]] < $l[
$s]
228 && substr($u[$s], 0, 1 + strlen($u[$this->ta[
$i]]))
229 == $u[$this->ta[
$i]] . $cf[
'uri'][
'seperator'];
249 && $l[
$j] - $l[$this->ta[
$i]] < 2 + $cf[
'menu'][
'levelcatch']
251 if ($l[
$j] > $l[$this->ta[
$i]]) {
274 $html = $this->renderAnchorStartTag(
$i);
278 $html .= $h[$this->ta[
$i]];
296 $x = $this->shallOpenInNewWindow(
$i) ?
'" target="_blank' :
'';
297 return a($this->ta[
$i], $x);
314 $pageData = $pd_router->find_page($this->ta[
$i]);
315 return !(
XH_ADM &&
$edit) && $pageData[
'use_header_location'] ===
'2';
isAnchestorOfSelectedPage($i)