[Security] fixed redirection URLs when using {_locale} in the pattern

This commit is contained in:
Fabien Potencier 2011-07-11 08:09:36 +02:00
parent 9301ad00fd
commit ea7a0eb19c

View File

@ -48,6 +48,19 @@ class HttpUtils
if (0 === strpos($path, '/')) {
$path = $request->getUriForPath($path);
} elseif (0 !== strpos($path, 'http')) {
// hack (don't have a better solution for now)
$context = $this->router->getContext();
try {
$parameters = $this->router->match($request->getPathInfo());
} catch (\Exception $e) {
}
if (isset($parameters['_locale'])) {
$context->setParameter('_locale', $parameters['_locale']);
} elseif ($session = $request->getSession()) {
$context->setParameter('_locale', $session->getLocale());
}
$path = $this->generateUrl($path, true);
}