Bugfix, Document constructor, docker
This commit is contained in:
@@ -4,12 +4,12 @@
|
||||
namespace Documents;
|
||||
|
||||
use Elements\TemplateDocument;
|
||||
use Objects\User;
|
||||
use Objects\Router\Router;
|
||||
|
||||
|
||||
class Account extends TemplateDocument {
|
||||
public function __construct(User $user, string $templateName) {
|
||||
parent::__construct($user, $templateName);
|
||||
public function __construct(Router $router, string $templateName) {
|
||||
parent::__construct($router, $templateName);
|
||||
$this->enableCSP();
|
||||
}
|
||||
|
||||
@@ -34,13 +34,13 @@ class Account extends TemplateDocument {
|
||||
}
|
||||
}
|
||||
} else if ($this->getTemplateName() === "account/register.twig") {
|
||||
$settings = $this->user->getConfiguration()->getSettings();
|
||||
if ($this->user->isLoggedIn()) {
|
||||
$settings = $this->getSettings();
|
||||
if ($this->getUser()->isLoggedIn()) {
|
||||
$this->createError("You are already logged in.");
|
||||
} else if (!$settings->isRegistrationAllowed()) {
|
||||
$this->createError("Registration is not enabled on this website.");
|
||||
}
|
||||
} else if ($this->getTemplateName() === "account/login.twig" && $this->user->isLoggedIn()) {
|
||||
} else if ($this->getTemplateName() === "account/login.twig" && $this->getUser()->isLoggedIn()) {
|
||||
header("Location: /admin");
|
||||
exit();
|
||||
} else if ($this->getTemplateName() === "account/accept_invite.twig") {
|
||||
|
||||
@@ -3,13 +3,14 @@
|
||||
namespace Documents;
|
||||
|
||||
use Elements\TemplateDocument;
|
||||
use Objects\User;
|
||||
use Objects\Router\Router;
|
||||
|
||||
class Admin extends TemplateDocument {
|
||||
public function __construct(User $user) {
|
||||
public function __construct(Router $router) {
|
||||
$user = $router->getUser();
|
||||
$template = $user->isLoggedIn() ? "admin.twig" : "redirect.twig";
|
||||
$params = $user->isLoggedIn() ? [] : ["url" => "/login"];
|
||||
parent::__construct($user, $template, $params);
|
||||
parent::__construct($router, $template, $params);
|
||||
$this->enableCSP();
|
||||
}
|
||||
}
|
||||
26
core/Documents/Info.class.php
Normal file
26
core/Documents/Info.class.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Documents;
|
||||
|
||||
use Elements\EmptyHead;
|
||||
use Elements\HtmlDocument;
|
||||
use Elements\SimpleBody;
|
||||
use Objects\Router\Router;
|
||||
|
||||
class Info extends HtmlDocument {
|
||||
public function __construct(Router $router) {
|
||||
parent::__construct($router, EmptyHead::class, InfoBody::class);
|
||||
}
|
||||
}
|
||||
|
||||
class InfoBody extends SimpleBody {
|
||||
protected function getContent(): string {
|
||||
$user = $this->getDocument()->getUser();
|
||||
if ($user->isLoggedIn() && $user->hasGroup(USER_GROUP_ADMIN)) {
|
||||
phpinfo();
|
||||
} else {
|
||||
$message = "You are not logged in or do not have the proper privileges to access this page.";
|
||||
return $this->getDocument()->getRouter()->returnStatusCode(403, [ "message" => $message] );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,10 +5,11 @@ namespace Documents {
|
||||
use Documents\Install\InstallBody;
|
||||
use Documents\Install\InstallHead;
|
||||
use Elements\HtmlDocument;
|
||||
use Objects\Router\Router;
|
||||
|
||||
class Install extends HtmlDocument {
|
||||
public function __construct($user) {
|
||||
parent::__construct($user, InstallHead::class, InstallBody::class);
|
||||
public function __construct(Router $router) {
|
||||
parent::__construct($router, InstallHead::class, InstallBody::class);
|
||||
$this->databaseRequired = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user