コード例 #1
0
ファイル: CoreSubscriber.php プロジェクト: dongilbert/mautic
 /**
  * @param IconEvent $event
  */
 public function onFetchIcons(IconEvent $event)
 {
     $session = $this->request->getSession();
     $icons = $session->get('mautic.menu.icons', []);
     if (empty($icons)) {
         $bundles = $this->bundleHelper->getMauticBundles(true);
         foreach ($bundles as $bundle) {
             if (!empty($bundle['config']['menu']['main'])) {
                 $items = !isset($bundle['config']['menu']['main']['items']) ? $bundle['config']['menu']['main'] : $bundle['config']['menu']['main']['items'];
             }
             if (!empty($items)) {
                 $this->menuHelper->createMenuStructure($items);
                 foreach ($items as $item) {
                     if (isset($item['iconClass']) && isset($item['id'])) {
                         $id = explode('_', $item['id']);
                         if (isset($id[1])) {
                             // some bundle names are in plural, create also singular item
                             if (substr($id[1], -1) == 's') {
                                 $event->addIcon(rtrim($id[1], 's'), $item['iconClass']);
                             }
                             $event->addIcon($id[1], $item['iconClass']);
                         }
                     }
                 }
             }
         }
         unset($bundles, $menuHelper);
         $icons = $event->getIcons();
         $session->set('mautic.menu.icons', $icons);
     } else {
         $event->setIcons($icons);
     }
 }
コード例 #2
0
ファイル: MenuEvent.php プロジェクト: HomeRefill/mautic
 /**
  * Add items to the menu
  *
  * @param array $menuItems
  *
  * @return void
  */
 public function addMenuItems(array $menuItems)
 {
     $defaultPriority = isset($menuItems['priority']) ? $menuItems['priority'] : 9999;
     $items = isset($menuItems['items']) ? $menuItems['items'] : $menuItems;
     $isRoot = isset($items['name']) && ($items['name'] == 'root' || $items['name'] == 'admin');
     if (!$isRoot) {
         $this->helper->createMenuStructure($items, 0, $defaultPriority);
         $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;
     }
 }