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());
 }
Example #2
0
 /**
  * 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;
 }