public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null)
 {
     if (!is_null($parent) && 'KunstmaanAdminBundle_modules' == $parent->getRoute()) {
         // Page
         $menuItem = new TopMenuItem($menu);
         $menuItem->setRoute('sourceboxwebsitebundle_admin_pages_blogpage')->setLabel('Blog Pages')->setUniqueId('Blog')->setParent($parent);
         if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) {
             $menuItem->setActive(true);
             $parent->setActive(true);
         }
         $children[] = $menuItem;
         // Author
         $menuItem = new TopMenuItem($menu);
         $menuItem->setRoute('sourceboxwebsitebundle_admin_blogauthor')->setLabel('Blog Authors')->setUniqueId('Blog Authors')->setParent($parent);
         if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) {
             $menuItem->setActive(true);
             $parent->setActive(true);
         }
         $children[] = $menuItem;
     }
     //don't load children
     if (!is_null($parent) && 'KunstmaanNodeBundle_nodes_edit' == $parent->getRoute()) {
         foreach ($children as $key => $child) {
             if ('KunstmaanNodeBundle_nodes_edit' == $child->getRoute()) {
                 $params = $child->getRouteParams();
                 $id = $params['id'];
                 if (in_array($id, $this->overviewpageIds)) {
                     $child->setChildren(array());
                 }
             }
         }
     }
 }
 /**
  * In this method you can add children for a specific parent, but also remove and change the already created children
  *
  * @param MenuBuilder $menu The MenuBuilder
  * @param MenuItem[] &$children The current children
  * @param MenuItem $parent The parent Menu item
  * @param Request $request The Request
  */
 public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null)
 {
     if (is_null($parent)) {
         // Add menu item for root gallery
         $rootFolders = $this->repo->getRootNodes();
         $currentId = $request->get('folderId');
         $currentFolder = null;
         if (isset($currentId)) {
             /* @var Folder $currentFolder */
             $currentFolder = $this->repo->find($currentId);
         }
         /** @var Folder $rootFolder */
         foreach ($rootFolders as $rootFolder) {
             $menuItem = new TopMenuItem($menu);
             $menuItem->setRoute('KunstmaanMediaBundle_folder_show')->setRouteparams(array('folderId' => $rootFolder->getId()))->setUniqueId('folder-' . $rootFolder->getId())->setLabel($rootFolder->getName())->setParent(null)->setRole($rootFolder->getRel());
             if (!is_null($currentFolder)) {
                 $parentIds = $this->repo->getParentIds($currentFolder);
                 if (in_array($rootFolder->getId(), $parentIds)) {
                     $menuItem->setActive(true);
                 }
             }
             $children[] = $menuItem;
         }
     }
 }
 /**
  * In this method you can add children for a specific parent, but also remove and change the already created children
  *
  * @param MenuBuilder $menu      The MenuBuilder
  * @param MenuItem[]  &$children The current children
  * @param MenuItem    $parent    The parent Menu item
  * @param Request     $request   The Request
  */
 public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null)
 {
     if (is_null($parent)) {
         $menuItem = new TopMenuItem($menu);
         $menuItem->setRoute('KunstmaanAdminBundle_modules')->setLabel('Modules')->setUniqueId('modules')->setParent($parent);
         if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) {
             $menuItem->setActive(true);
         }
         $children[] = $menuItem;
     }
 }
 public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null)
 {
     if (!is_null($parent) && 'KunstmaanAdminBundle_modules' == $parent->getRoute()) {
         $menuItem = new TopMenuItem($menu);
         $menuItem->setRoute('kunstmaanleadgenerationbundle_admin_popup_abstractpopup')->setUniqueId('popup')->setLabel('Popups')->setParent($parent);
         if (in_array($request->attributes->get('_route'), array('kunstmaanleadgenerationbundle_admin_popup_abstractpopup'))) {
             $menuItem->setActive(true);
             $parent->setActive(true);
         }
         $children[] = $menuItem;
     }
 }
 /**
  * @param MenuBuilder $menu
  * @param array $children
  * @param MenuItem $parent
  * @param Request $request
  */
 public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null)
 {
     if (count($this->menuNames) > 0) {
         if (!is_null($parent) && 'KunstmaanAdminBundle_modules' == $parent->getRoute()) {
             $menuItem = new TopMenuItem($menu);
             $menuItem->setRoute('kunstmaanmenubundle_admin_menu')->setUniqueId('menus')->setLabel("Menus")->setParent($parent);
             if (in_array($request->attributes->get('_route'), array('kunstmaanmenubundle_admin_menu'))) {
                 $menuItem->setActive(true);
                 $parent->setActive(true);
             }
             $children[] = $menuItem;
         }
     }
 }
 /**
  * In this method you can add children for a specific parent, but also remove and change the already created
  * children
  *
  * @param MenuBuilder $menu The MenuBuilder
  * @param MenuItem[] &$children The current children
  * @param MenuItem|null $parent The parent Menu item
  * @param Request $request The Request
  */
 public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null)
 {
     foreach ($this->menuItems as $item) {
         if (false === $this->parentMatches($parent, $item)) {
             continue;
         }
         if ($item['role'] && false === $this->securityContext->isGranted($item['role'])) {
             continue;
         }
         $menuItem = new TopMenuItem($menu);
         $menuItem->setRoute($item['route'], $item['params'])->setLabel($item['label'])->setUniqueId($item['route'])->setParent($parent);
         if ($request && stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) {
             $menuItem->setActive(true);
             $parent->setActive(true);
         }
         $children[] = $menuItem;
     }
 }
 /**
  * In this method you can add children for a specific parent, but also remove and change the already created children
  *
  * @param MenuBuilder $menu      The MenuBuilder
  * @param MenuItem[]  &$children The current children
  * @param MenuItem    $parent    The parent Menu item
  * @param Request     $request   The Request
  */
 public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null)
 {
     if (is_null($parent)) {
         $menuItem = new TopMenuItem($menu);
         $menuItem->setRoute('KunstmaanAdminBundle_settings')->setLabel('Settings')->setUniqueId('settings')->setParent($parent)->setRole('settings');
         if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) {
             $menuItem->setActive(true);
         }
         $children[] = $menuItem;
     } elseif ('KunstmaanAdminBundle_settings' == $parent->getRoute()) {
         if ($this->container->get('security.context')->isGranted('ROLE_SUPER_ADMIN')) {
             if ($this->container->getParameter('version_checker.enabled')) {
                 $menuItem = new MenuItem($menu);
                 $menuItem->setRoute('KunstmaanAdminBundle_settings_bundle_version')->setLabel('Bundle versions')->setUniqueId('bundle_versions')->setParent($parent);
                 if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) {
                     $menuItem->setActive(true);
                 }
                 $children[] = $menuItem;
             }
         }
     }
 }
 /**
  * In this method you can add children for a specific parent, but also
  * remove and change the already created children
  *
  * @param MenuBuilder $menu      The menu builder
  * @param MenuItem[]  &$children The children array that may be adapted
  * @param MenuItem    $parent    The parent menu item
  * @param Request     $request   The request
  */
 public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null)
 {
     if (is_null($parent)) {
         $menuItem = new TopMenuItem($menu);
         $menuItem->setRoute('KunstmaanNodeBundle_nodes')->setUniqueId('pages')->setLabel('Pages')->setParent($parent);
         if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) {
             $menuItem->setActive(true);
         }
         $children[] = $menuItem;
     } elseif (stripos($request->attributes->get('_route'), 'KunstmaanNodeBundle_nodes') === 0) {
         $treeNodes = $this->getTreeNodes($request->getLocale(), PermissionMap::PERMISSION_EDIT, $this->aclNativeHelper, true);
         $activeNodeIds = $this->getActiveNodeIds($request);
         if ('KunstmaanNodeBundle_nodes' == $parent->getRoute() && isset($treeNodes[0])) {
             $this->processNodes($menu, $children, $treeNodes[0], $parent, $activeNodeIds);
         } elseif ('KunstmaanNodeBundle_nodes_edit' == $parent->getRoute()) {
             $parentRouteParams = $parent->getRouteparams();
             $parent_id = $parentRouteParams['id'];
             if (array_key_exists($parent_id, $treeNodes)) {
                 $this->processNodes($menu, $children, $treeNodes[$parent_id], $parent, $activeNodeIds);
             }
         }
     }
 }