public function testAddLink() { $object = new \Foundation\Navigation\Container(); $this->assertFalse($object->hasLink()); $link = new \Foundation\Navigation\Link('test'); $object->addLink($link); $this->assertTrue($object->hasLink()); $this->assertContains($link, $object->getLinks()); }
/** * Get Navigation */ public function getNavigation() { if (isset($this->_store->AdminControllerGetNavigation)) { return $this->_store->AdminControllerGetNavigation; } $navigation = new \Foundation\Navigation\Container(); $link = new \Foundation\Navigation\Link('Home'); $link->setHref($this->path('welcome')); $navigation->addLink($link); $menus = array(); foreach ($this->listControllers() as $controller) { if ($this->checkIsAllowed($controller)) { \Foundation\VC\Config::includeController($controller); $class = \Foundation\VC\Config::getControllerClassName($controller); if (!is_null($class::MENU)) { if (!isset($menus[$class::MENU])) { $menus[$class::MENU] = new \Foundation\Navigation\Menu(); $menus[$class::MENU]->setTitle($class::MENU); $navigation->addMenu($menus[$class::MENU]); } $link = new \Foundation\Navigation\Link($class::TITLE); $link->setHref($this->path($class::PATH)); $menus[$class::MENU]->addLink($link); } } } foreach ($menus as $menu) { $menu->sortLinks(); } if (empty($menus)) { return false; //if there are no controllers or no authorization there are no menus } $this->_store->AdminControllerGetNavigation = $navigation; return $navigation; }