5 Commits
Author SHA1 Message Date
bence d504f1d5bb encode and decode parameters in routes
soko-web/pipeline/head This commit looks good
2024-11-08 12:21:54 +01:00
bence 5534f10cee use RFC3986 for query parameter encoding 2024-11-08 12:21:13 +01:00
bence c1fe1bb0e0 do not encode query parameters 2024-11-08 12:20:30 +01:00
bence ee7d9623a3 set redirect_after_login in query parameter as well
soko-web/pipeline/head This commit looks good
2024-10-24 22:15:22 +02:00
bence ecec258a64 allow starttls and smtps for mailing 2024-10-19 22:44:51 +02:00
3 changed files with 11 additions and 6 deletions

No files matched your search

+4 -2
View File
@@ -44,8 +44,10 @@ class Mail
if (!empty($_ENV['MAIL_HOST'])) {
$mailer->Mailer = 'smtp';
$mailer->Host = $_ENV['MAIL_HOST'];
$mailer->Port = !empty($_ENV['MAIL_PORT']) ? $_ENV['MAIL_PORT'] : 25;
$mailer->SMTPSecure = !empty($_ENV['MAIL_SECURE']) ? $_ENV['MAIL_SECURE'] : '';
$mailer->Port = !empty($_ENV['MAIL_PORT']) ? $_ENV['MAIL_PORT'] : 587;
$secureMaping = ['none' => '', 'starttls' => PHPMailer::ENCRYPTION_STARTTLS, 'smtps' => PHPMailer::ENCRYPTION_SMTPS];
$mailer->SMTPSecure = !empty($_ENV['MAIL_SECURE']) ? $secureMaping[$_ENV['MAIL_SECURE']] : '';
if (!empty($_ENV['MAIL_USER'])) {
$mailer->SMTPAuth = true;
+4 -1
View File
@@ -168,7 +168,10 @@ class HttpResponse
private function redirectToLogin(): void
{
$this->request->session()->set('redirect_after_login', $this->rawUrl);
$response = new Redirect($this->routeCollection->getRoute($this->appConfig['loginRouteId'])->generateLink(), IRedirect::TEMPORARY);
$response = new Redirect(
$this->routeCollection->getRoute($this->appConfig['loginRouteId'])
->generateLink(['redirect_after_login' => $this->rawUrl]),
IRedirect::TEMPORARY);
header('Location: ' . $this->getRedirectUrl($response), true, $response->getHttpCode());
}
+3 -3
View File
@@ -34,7 +34,7 @@ class Route implements IRoute
foreach ($this->pattern as $fragment) {
if (preg_match('/^{(\\w+)(\\?)?}$/', $fragment, $matches) === 1) {
if (isset($parameters[$matches[1]])) {
$link[] = $parameters[$matches[1]];
$link[] = rawurlencode($parameters[$matches[1]]);
unset($parameters[$matches[1]]);
} elseif (!isset($matches[2])) {//TODO: why? parameter not found but not optional
$link[] = $fragment;
@@ -53,7 +53,7 @@ class Route implements IRoute
$queryParams[$key] = $value;
}
$query = count($queryParams) > 0 ? '?' . http_build_query($queryParams) : '';
$query = count($queryParams) > 0 ? '?' . http_build_query($queryParams, encoding_type: PHP_QUERY_RFC3986) : '';
return '/' . implode('/', $link) . $query;
}
@@ -64,7 +64,7 @@ class Route implements IRoute
foreach ($path as $i => $fragment) {
if (preg_match('/^{(\\w+)(?:\\?)?}$/', $this->pattern[$i], $matches) === 1) {
$parameters[$matches[1]] = $fragment;
$parameters[$matches[1]] = rawurldecode($fragment);
} elseif ($fragment != $this->pattern[$i]) {
return null;
}