示例#1
0
 /**
  * Dynamically add menu links to administration for system services.
  *
  * Listens for 'module_dispatch.postexecute' events.
  *
  * @param Zikula_Event $event The event handler.
  *
  * @return void
  */
 public function addServiceLink(Zikula_Event $event)
 {
     // check if this is for this handler
     if (!($event['modfunc'][1] == 'getLinks' && $event['type'] == 'admin' && $event['api'] == true)) {
         return;
     }
     // notify EVENT here to gather any system service links
     $args = array('modname' => $event->getArgument('modname'));
     $localevent = new \Zikula\Core\Event\GenericEvent($event->getSubject(), $args);
     $this->eventManager->dispatch('module_dispatch.service_links', $localevent);
     $sublinks = $localevent->getData();
     if (!empty($sublinks)) {
         $event->data[] = array('url' => $this->getContainer()->get('router')->generate('zikulaextensionsmodule_admin_moduleservices', array('moduleName' => $event['modname'])), 'text' => __('Services'), 'icon' => 'cogs', 'links' => $sublinks);
     }
 }