vendor/visualmedia/lisa/lib/composer/LisaBundle/src/VisualMedia/LisaBundle/Menu/ManageMenu.php line 56

Open in your IDE?
  1. <?php
  2. /**
  3.  * Manage Menu
  4.  *
  5.  * @author Vincent van Waasbergen <v.vanwaasbergen@visualmedia.nl>
  6.  */
  7. namespace VisualMedia\LisaBundle\Menu;
  8. use VisualMedia\LisaBundle\Component\Menu;
  9. use VisualMedia\LisaBundle\Menu\MenuItem\ContentMenuItem;
  10. use VisualMedia\LisaBundle\Menu\MenuItem\CustomMenuItem;
  11. use VisualMedia\LisaBundle\Menu\MenuItem\SettingsMenuItem;
  12. use VisualMedia\LisaBundle\Menu\MenuItem\TestMenuItem;
  13. use VisualMedia\LisaBundle\Menu\MenuItem\WebshopMenuItem;
  14. /**
  15.  * Manage Menu
  16.  *
  17.  * Menu used throughout Lisa.
  18.  */
  19. class ManageMenu extends Menu
  20. {
  21.     /**
  22.      * {@inheritdoc}
  23.      */
  24.     public function transform(): void
  25.     {
  26.         uasort($this->items, function($a$b) {
  27.             return ($a::$ordering $b::$ordering) ? -1;
  28.         });
  29.         $transformed = array();
  30.         foreach ($this->items as $menu) {
  31.             $menuItemOrdering = array();
  32.             $transformed[$menu->getKey()] =  $this->extractMenuItem($menu->getKey());
  33.             if ($menu->getChildren() != null) {
  34.                 foreach ($menu->getChildren() as $menuItems) {
  35.                     if ($menuItems::$isActive) {
  36.                         $menuItemOrdering[$menuItems::KEY] = $menuItems;
  37.                     }
  38.                 }
  39.                 uasort($menuItemOrdering, function($a$b) {
  40.                     return ($a::$ordering $b::$ordering) ? -1;
  41.                 });
  42.                 $transformed[$menu->getKey()] = $this->extractMenuItem($menu->getKey())->setChildren($menuItemOrdering);
  43.             }
  44.         }
  45.         $this->cleanItems($transformed);
  46.         if (null !== $webshop $transformed[WebshopMenuItem::KEY] ?? null) {
  47.             if (empty($webshop->getChildren())) {
  48.                 unset($transformed[WebshopMenuItem::getKey()]);
  49.             }
  50.         }
  51.         $this->setItems($transformed);
  52.         parent::transform();
  53.     }
  54. }