public function getController(Request $request)
 {
     $controller = $this->delegate->getController($request);
     if (is_array($controller) && is_object($controller[0])) {
         if ($this->kernel->isClassInModule(get_class($controller[0])) && !$this->kernel->isClassInActiveModule(get_class($controller[0]))) {
             $controller = false;
         }
     }
     return $controller;
 }
 public function addListenerService($eventName, $callback, $priority = 0)
 {
     if (!is_array($callback) || 2 !== count($callback)) {
         throw new \InvalidArgumentException('Expected an array("service", "method") argument');
     }
     $bundle = $this->kernel->getBundleByServiceId($callback[0]);
     // skip inactive module bundles
     if (!$bundle || !$bundle instanceof AbstractModule || $bundle instanceof AbstractModule && $this->kernel->isModuleBundleActive($bundle)) {
         parent::addListenerService($eventName, $callback, $priority);
     }
 }
 public function load($resource, $type = null)
 {
     $collection = new RouteCollection();
     /* @var AbstractModule $moduleBundle */
     foreach ($this->zikulaKernel->getZikulaBundlesOfType(ZikulaKernel::TYPE_MODULES) as $moduleBundle) {
         $resource = '@' . $moduleBundle->getName() . '/Controller/';
         $subCollection = $this->resolve($resource)->load($resource, 'annotation');
         $collection->addCollection($subCollection, '/' . str_replace('Module', '', $moduleBundle->getName()) . '/');
     }
     return $collection;
 }