![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/CoreBundle/Event/ |
<?php namespace Mautic\CoreBundle\Event; use Mautic\CoreBundle\Menu\MenuHelper; use Symfony\Contracts\EventDispatcher\Event; class MenuEvent extends Event { /** * @var array */ protected $menuItems = ['children' => []]; /** * @param string $type */ public function __construct( protected MenuHelper $helper, protected $type = 'main' ) { } public function setMenuItems(array $menuItems): void { $this->menuItems = $menuItems; } /** * Add items to the menu. */ public function addMenuItems(array $menuItems): void { $defaultPriority = $menuItems['priority'] ?? 9999; $items = $menuItems['items'] ?? $menuItems; $isRoot = isset($items['name']) && ('root' == $items['name'] || $items['name'] == $items['name']); if (!$isRoot) { $this->helper->createMenuStructure($items, 0, $defaultPriority, $this->type); $this->menuItems['children'] = array_merge_recursive($this->menuItems['children'], $items); } else { // make sure the root does not override the children if (isset($this->menuItems['children'])) { if (isset($items['children'])) { $items['children'] = array_merge_recursive($this->menuItems['children'], $items['children']); } else { $items['children'] = $this->menuItems['children']; } } $this->menuItems = $items; } } /** * Return the menu items. * * @return array */ public function getMenuItems() { $this->helper->placeOrphans($this->menuItems['children'], true, 1, $this->type); $this->helper->sortByPriority($this->menuItems['children']); $this->helper->resetOrphans($this->type); return $this->menuItems; } /** * @return string */ public function getType() { return $this->type; } }