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)) {
         $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;
     }
 }
 /**
  * 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);
             }
         }
     }
 }