Skip to content

Commit

Permalink
Merge pull request #23 from erguenyogurtcu/patch-3
Browse files Browse the repository at this point in the history
Transfering the GET/POST parameters during redirection
  • Loading branch information
urbantrout authored Jan 26, 2022
2 parents f3599e6 + 2e4497d commit dab4191
Showing 1 changed file with 21 additions and 6 deletions.
27 changes: 21 additions & 6 deletions Classes/Middleware/RedirectionMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -180,13 +180,18 @@ function ($language) use ($siteLanguages, $siteLanguagesFallbacks) {
return null;
}

/** @var array $parameters Array in the form of: ['utm_source' => 'google', 'utm_medium' => 'social'] */
$parameters = $request->getQueryParams();

$parameters['_language'] = $matchingSiteLanguage;

$uri = $site->getRouter()->generateUri(
$pageArguments->getPageId(),
['_language' => $matchingSiteLanguage]
$parameters
);

/** @var RedirectResponse $response */
$response = new RedirectResponse($uri, 302);
$response = new RedirectResponse($uri, 307);
return $response->withAddedHeader('Set-Cookie', $cookieName . '=' . $matchingSiteLanguage->getLanguageId() . '; Path=/; Max-Age=' . (time()+60*60*24*30));
}

Expand Down Expand Up @@ -254,13 +259,18 @@ function ($siteLanguage) use ($geocodedIsoCode) {
return null;
}

/** @var array $parameters Array in the form of: ['utm_source' => 'google', 'utm_medium' => 'social'] */
$parameters = $request->getQueryParams();

$parameters['_language'] = $matchingSiteLanguage;

$uri = $site->getRouter()->generateUri(
$pageArguments->getPageId(),
['_language' => $matchingSiteLanguage]
$parameters
);

/** @var RedirectResponse $response */
$response = new RedirectResponse($uri, 302);
$response = new RedirectResponse($uri, 307);
return $response->withAddedHeader('Set-Cookie', $cookieName . '=' . $matchingSiteLanguage->getLanguageId() . '; Path=/; Max-Age=' . (time()+60*60*24*30));
} catch (\Throwable $e) {
// IP address is not in database. Do not redirect.
Expand Down Expand Up @@ -342,11 +352,16 @@ protected function getRedirectResponseIfCookieIsSet(ServerRequestInterface $requ
$preferredSiteLanguage = $site->getLanguageById($languageId);

if ($preferredSiteLanguage !== $requestLanguage) {
/** @var array $parameters Array in the form of: ['utm_source' => 'google', 'utm_medium' => 'social'] */
$parameters = $request->getQueryParams();

$parameters['_language'] = $preferredSiteLanguage;

$uri = $site->getRouter()->generateUri(
$pageArguments->getPageId(),
['_language' => $preferredSiteLanguage]
$parameters
);
return new RedirectResponse($uri, 302);
return new RedirectResponse($uri, 307);
}
}
}
Expand Down

0 comments on commit dab4191

Please sign in to comment.