/**
  * @{inheritdoc}
  */
 public function getController(Request $request)
 {
     $e = $this->stopwatch->start('controller.get_callable');
     $ret = parent::getController($request);
     $e->stop();
     return $ret;
 }
 /**
  * @param FilterControllerEvent $event
  * @DI\Observe("kernel.controller")
  */
 public function onControllerRequest(FilterControllerEvent $event)
 {
     $controller = $event->getController();
     $request = $event->getRequest();
     $session = $request->getSession();
     if (!is_array($controller) && !$this->authorizationChecker->isGranted("IS_AUTHENTICATED_FULLY")) {
         return;
     }
     if ($request->attributes->get('_route') == 'site_url' || $request->attributes->get('_route') == 'startpage') {
         if ($this->authorizationChecker->isGranted("IS_AUTHENTICATED_FULLY") && !$request->get("skipIframe")) {
             $controller = "BigfishCoreBundle:Base:iframe";
             $request->attributes->set('_controller', $controller);
             $uri = $request->getPathInfo();
             $request->attributes->set("slug", ltrim($uri, "/"));
             $event->setController($this->controllerResolver->getController($request));
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * load a controller by mapping. this can only be done at this point,
  * during DI the controller might not yet be available.
  *
  * @param string $name the controller name in the format service:actionMethod
  *
  * @return array of controller class and method name suitable for call_user_func
  */
 protected function resolveController($name)
 {
     // Search for the mapped controller/action
     $parser = new ControllerNameParser($this->container->get('kernel'));
     $resolver = new ControllerResolver($this->container, $parser);
     return $resolver->getController(new Request(array(), array(), array('_controller' => $name)));
 }