X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2Flegacy%2FLegacyController.php;h=1fed418b7c16612e875b9be185e07dd730100f4c;hb=53054b2bf6a919fd4ff9b44b6ad1986f21f488b6;hp=e16dd0f43effa6921b6238f0546e7357c9cea188;hpb=865f0a0e014bb114cc2f528be10a023de4057ff4;p=github%2Fshaarli%2FShaarli.git diff --git a/application/legacy/LegacyController.php b/application/legacy/LegacyController.php index e16dd0f4..1fed418b 100644 --- a/application/legacy/LegacyController.php +++ b/application/legacy/LegacyController.php @@ -39,13 +39,23 @@ class LegacyController extends ShaarliVisitorController /** Legacy route: ?post= */ public function post(Request $request, Response $response): Response { - $parameters = count($request->getQueryParams()) > 0 ? '?' . http_build_query($request->getQueryParams()) : ''; $route = '/admin/shaare'; + $buildParameters = function (?array $parameters, bool $encode) { + if ($encode) { + $parameters = array_map('urlencode', $parameters); + } + + return count($parameters) > 0 ? '?' . http_build_query($parameters) : ''; + }; + if (!$this->container->loginManager->isLoggedIn()) { - return $this->redirect($response, '/login?returnurl='. $this->getBasePath() . $route . $parameters); + $parameters = $buildParameters($request->getQueryParams(), true); + return $this->redirect($response, '/login?returnurl=' . $this->getBasePath() . $route . $parameters); } + $parameters = $buildParameters($request->getQueryParams(), false); + return $this->redirect($response, $route . $parameters); }