Ejemplo n.º 1
0
 /**
  * __invoke
  *
  * @param RequestInterface  $request
  * @param ResponseInterface $response
  * @param callable|null     $next
  *
  * @return ResponseInterface
  */
 public function __invoke(RequestInterface $request, ResponseInterface $response, callable $next = null)
 {
     $locale = $this->siteService->getCurrentSite()->getLocale();
     // @todo Set from $request site getSiteFromRequest($request)
     $this->localeService->setLocale($locale);
     return $next($request, $response);
 }
Ejemplo n.º 2
0
 /**
  * getRedirectUrl
  *
  * @param int|null    $siteId
  * @param string|null $requestUrl
  *
  * @return null
  */
 public function getRedirectUrl($siteId = null, $requestUrl = null)
 {
     if (empty($siteId)) {
         $siteId = $this->siteService->getCurrentSite()->getSiteId();
     }
     if (empty($siteId)) {
         return null;
     }
     if (empty($requestUrl)) {
         $requestUrl = $this->getRequestUrl();
     }
     $redirect = $this->redirectRepo->getRedirect($requestUrl, $siteId);
     if (!empty($redirect)) {
         return $redirect->getRedirectUrl();
     }
     return null;
 }
Ejemplo n.º 3
0
 /**
  * __invoke
  *
  * @param RequestInterface  $request
  * @param ResponseInterface $response
  * @param callable|null     $next
  *
  * @return ResponseInterface
  */
 public function __invoke(RequestInterface $request, ResponseInterface $response, callable $next = null)
 {
     if ($this->isConsoleRequest()) {
         return $next($request, $response);
     }
     $currentDomain = $this->siteService->getCurrentDomain();
     $site = $this->siteService->getCurrentSite($currentDomain);
     $redirectUrl = $this->domainRedirectService->getSiteNotAvailableRedirectUrl($site);
     if (!$site->isSiteAvailable() && empty($redirectUrl)) {
         return $response->withStatus(404);
     }
     if ($redirectUrl) {
         $response = $response->withHeader('Location', '//' . $redirectUrl);
         return $response->withStatus(302);
     }
     $redirectUrl = $this->domainRedirectService->getPrimaryRedirectUrl($site);
     if ($redirectUrl) {
         $response = $response->withHeader('Location', '//' . $redirectUrl);
         return $response->withStatus(302);
     }
     return $next($request, $response);
 }
Ejemplo n.º 4
0
 /**
  * Set the system locale to Site Requirements
  *
  * @param MvcEvent $event
  *
  * @return null
  */
 public function addLocale(MvcEvent $event)
 {
     $locale = $this->siteService->getCurrentSite()->getLocale();
     $this->localeService->setLocale($locale);
     return null;
 }