Beispiel #1
0
 /**
  * @DI\Observe("open_hevinci_url")
  *
  * @param OpenResourceEvent $event
  */
 public function onOpen(OpenResourceEvent $event)
 {
     if (!$this->request) {
         throw new NoHttpRequestException();
     }
     $url = $event->getResource();
     $isIframe = $event->isIframe();
     if ($url->getInternalUrl()) {
         $event->setResponse(new RedirectResponse($this->request->getSchemeAndHttpHost() . $this->request->getScriptName() . $url->getUrl()));
         return;
     } else {
         if ($isIframe) {
             $headers = get_headers($url->getUrl(), 1);
             if (isset($headers['X-Frame-Options']) && $headers['X-Frame-Options'] === 'SAMEORIGIN') {
                 $href = "<a href='{$url->getUrl()}'>{$url->getUrl()}</a>";
                 $response = new Response($href);
                 $event->setResponse($response);
                 return;
             }
         }
     }
     $event->setResponse(new RedirectResponse($url->getUrl()));
 }