public function addItem(ddNavMenu $i) { $i->setRequest($this->_request)->setContext($this->_context); $this->_menu[$i->getName()] = $i; foreach ($i->getChildren() as $child) { $child->setRequest($this->_request)->setContext($this->_context); } }
<?php $user = sfContext::getInstance()->getUser(); $request = sfContext::getInstance()->getRequest(); $menu = new ddNavMenu('navbar'); $menu->addChild('home', @homepage)->requiresNoAuth(true); $menu->addChild('home', @dashboard)->setCredentials(array('troopAdmin', 'campStaff', 'campAdmin', 'districtAdmin', 'siteAdmin')); if (!$user->isAuthenticated()) { // non auth menu (guest) [DEACTIVATED_USER] $menu->addChild('sign in', @sf_guard_signin)->requiresNoAuth(true); $menu->addChild('sign up', @sf_guard_signup)->requiresNoAuth(true); $menu->addChild('about', @about)->requiresNoAuth(true); $menu->addChild('contact', @contact)->requiresNoAuth(true); } else { $menu->addChild('scout management', @scouts_by_troop)->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'troop_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getSlug()))->setCredentials(array('troopAdmin', 'campAdmin')); $menu->addChild('patrol management', @patrols_by_troop)->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'troop_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getSlug()))->setCredentials(array('troopAdmin')); $menu->addChild('troop settings', @troop_mgmt)->setCredentials(array('troopAdmin')); $menu->addChild('troop management', @troop_mgmt)->setCredentials(array('campAdmin', 'districtAdmin', 'siteAdmin')); $menu->addChild('camp settings', @camp_mgmt)->setCredentials(array('campAdmin')); $menu->addChild('camp management', @camp_mgmt)->setCredentials(array('districtAdmin', 'siteAdmin')); $menu->addChild('district settings', @district_mgmt)->setCredentials(array('districtAdmin')); $menu->addChild('district management', @district_mgmt)->setCredentials(array('siteAdmin')); $menu->addChild('misc settings', @misc_settings)->setCredentials(array('siteAdmin')); $menu->addChild('class management', @class_mgmt)->setCredentials(array('campStaff'))->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'camp_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getCamp()->getSlug(), 'week_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getSlug())); $menu->addChild('staff information', @staff_info)->setCredentials(array('campStaff'))->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'camp_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getCamp()->getSlug(), 'week_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getSlug())); $menu->addChild('reports', @reports)->setCredentials(array('troopAdmin', 'campAdmin', 'districtAdmin', 'siteAdmin')); // scout menu $menu['scout management']->addChild('add a scout', @scout_new)->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'troop_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getSlug())); $menu['scout management']->addChild('enroll scouts', @scout_enroll)->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'camp_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getCamp()->getSlug(), 'week_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getSlug())); // patrol menu $menu['patrol management']->addChild('add a patrol', @patrol_new)->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'troop_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getSlug()))->setCredentials(array('troopAdmin'));