Don't load module menu entries if the authenticated user lacks the module permission

refs 
This commit is contained in:
Eric Lippmann 2015-07-23 12:59:30 +02:00
parent cccb34e98c
commit a34ad0227f

@ -206,13 +206,14 @@ class Menu implements RecursiveIterator
*/
public static function load()
{
/** @var $menu \Icinga\Web\Menu */
$menu = new static('menu');
$menu->addMainMenuItems();
$auth = Manager::getInstance();
$manager = Icinga::app()->getModuleManager();
foreach ($manager->getLoadedModules() as $module) {
/** @var $module \Icinga\Application\Modules\Module */
$menu->mergeSubMenus($module->getMenuItems());
if ($auth->hasPermission($manager::MODULE_PERMISSION_NS . $module->getName())) {
$menu->mergeSubMenus($module->getMenuItems());
}
}
return $menu->order();
}