<?php $c = navbarfunctions::getCredentialCriteria($credArray, $credRoles); $c->addAscendingOrderByColumn(sfBreadNavPeer::TREE_LEFT); $c->add(sfBreadNavApplicationPeer::NAME, $menu); $c->addJoin(sfBreadNavPeer::SCOPE, sfBreadNavApplicationPeer::ID); $pages = sfBreadNavPeer::doSelect($c); $pages = navbarfunctions::compressNavArray($pages); $outputArray = array(); $root = sfBreadNavPeer::getMenuRoot($menu); //return if no root if (!$root) { return; } $newlevel = true; echo '<ul id="navmenu">'; if (in_array($root->getCredential(), (array) $credArray)) { echo "<li>" . navbardisplayfunctions::link_to_valid($root->getPage(), $root->getModule(), $root->getAction(), array('class' => 'first top')) . "</li>\n"; } $nexttop = 0; for ($i = 0; $i < count($pages); $i++) { if ($i == $nexttop) { $havechildren = navbarfunctions::testforchildren($pages, $i); $nexttop = ($pages[$i]['tree_right'] + 1) / 2 - 1; if ($havechildren) { $open = '<li><a href="' . navbardisplayfunctions::url_for_valid(navbarfunctions::pageroute($pages[$i]['module'], $pages[$i]['action'])) . '">' . $pages[$i]['page'] . '</a><ul>'; $close = '</ul></li>'; } else { $open = '<li><a href="' . navbardisplayfunctions::url_for_valid(navbarfunctions::pageroute($pages[$i]['module'], $pages[$i]['action'])) . '">' . $pages[$i]['page'] . '</a>'; $close = '</li>'; }