Merge pull request #1541 from ArthurHoaro/fix/legacy-login-encoding

This commit is contained in:
ArthurHoaro 2020-09-03 18:54:45 +02:00 committed by GitHub
commit 2ba51040c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -39,13 +39,23 @@ public function process(Request $request, Response $response, string $action): R
/** Legacy route: ?post= */ /** Legacy route: ?post= */
public function post(Request $request, Response $response): Response public function post(Request $request, Response $response): Response
{ {
$parameters = count($request->getQueryParams()) > 0 ? '?' . http_build_query($request->getQueryParams()) : '';
$route = '/admin/shaare'; $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()) { if (!$this->container->loginManager->isLoggedIn()) {
$parameters = $buildParameters($request->getQueryParams(), true);
return $this->redirect($response, '/login?returnurl='. $this->getBasePath() . $route . $parameters); return $this->redirect($response, '/login?returnurl='. $this->getBasePath() . $route . $parameters);
} }
$parameters = $buildParameters($request->getQueryParams(), false);
return $this->redirect($response, $route . $parameters); return $this->redirect($response, $route . $parameters);
} }