Router Update + Bugfix

This commit is contained in:
2022-06-01 09:47:31 +02:00
parent 658157167e
commit 1fb875fb2c
22 changed files with 589 additions and 679 deletions

View File

@@ -94,7 +94,7 @@ namespace Api\Mail {
public function _execute(): bool {
$mailConfig = $this->getMailConfig();
if (!$this->success) {
if (!$this->success || $mailConfig === null) {
return false;
}
@@ -411,7 +411,7 @@ namespace Api\Mail {
}
$mailConfig = $this->getMailConfig();
if (!$this->success) {
if (!$this->success || $mailConfig === null) {
return false;
}

View File

@@ -68,7 +68,10 @@ namespace Api\Routes {
use Api\RoutesAPI;
use Driver\SQL\Condition\Compare;
use Driver\SQL\Condition\CondBool;
use Objects\Router;
use Objects\Router\DocumentRoute;
use Objects\Router\RedirectRoute;
use Objects\Router\Router;
use Objects\Router\StaticFileRoute;
use Objects\User;
class Fetch extends RoutesAPI {
@@ -367,17 +370,17 @@ namespace Api\Routes {
$exact = $sql->parseBool($row["exact"]);
switch ($row["action"]) {
case "redirect_temporary":
$this->router->addRoute(new Router\RedirectRoute($request, $exact, $target, 307));
$this->router->addRoute(new RedirectRoute($request, $exact, $target, 307));
break;
case "redirect_permanently":
$this->router->addRoute(new Router\RedirectRoute($request, $exact, $target, 308));
$this->router->addRoute(new RedirectRoute($request, $exact, $target, 308));
break;
case "static":
$this->router->addRoute(new Router\StaticFileRoute($request, $exact, $target));
$this->router->addRoute(new StaticFileRoute($request, $exact, $target));
break;
case "dynamic":
$extra = json_decode($row["extra"]) ?? [];
$this->router->addRoute(new Router\DocumentRoute($request, $exact, $target, ...$extra));
$this->router->addRoute(new DocumentRoute($request, $exact, $target, ...$extra));
break;
default:
break;

View File

@@ -1076,6 +1076,10 @@ namespace Api\User {
}
$settings = $this->user->getConfiguration()->getSettings();
if (!$settings->isMailEnabled()) {
return $this->createError("The mail service is not enabled, please contact the server administration.");
}
if ($settings->isRecaptchaEnabled()) {
$captcha = $this->getParam("captcha");
$req = new VerifyCaptcha($this->user);