Example #1
0
 /**
  * Registered as kernel.request event listener.
  *
  * If the condition needs a redirection to HTTPS, then the current process is interrupted, the headers are sent directly.
  *
  * @param GetResponseEvent $event
  */
 public function onKernelRequest(GetResponseEvent $event)
 {
     // already SSL, do nothing more
     if (\ToolsCore::usingSecureMode()) {
         return;
     }
     $enabled = 1 == \Configuration::get('PS_SSL_ENABLED');
     $forced = 1 == \Configuration::get('PS_SSL_ENABLED_EVERYWHERE');
     $serverParams = $event->getRequest()->server;
     $refererSsl = $serverParams->has('HTTP_REFERER') && strpos($serverParams->get('HTTP_REFERER'), 'https') === 0;
     if ($enabled && ($forced || $refererSsl)) {
         $this->redirectToSsl($event);
     }
 }