MAPG-69 add menu with user info to header
This commit is contained in:
parent
01db72796b
commit
334df3462b
@ -7,4 +7,6 @@ interface IUser
|
||||
const PERMISSION_ADMIN = 1;
|
||||
|
||||
public function hasPermission(int $permission): bool;
|
||||
|
||||
public function getDisplayName(): string;
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ class User extends BaseModel implements IUser
|
||||
{
|
||||
private static array $types = ['user', 'admin'];
|
||||
|
||||
protected static array $fields = ['email', 'password', 'type'];
|
||||
protected static array $fields = ['email', 'password', 'type', 'active'];
|
||||
|
||||
private string $email;
|
||||
|
||||
@ -14,6 +14,8 @@ class User extends BaseModel implements IUser
|
||||
|
||||
private string $type = 'user';
|
||||
|
||||
private bool $active = false;
|
||||
|
||||
public function setEmail(string $email): void
|
||||
{
|
||||
$this->email = $email;
|
||||
@ -36,6 +38,11 @@ class User extends BaseModel implements IUser
|
||||
}
|
||||
}
|
||||
|
||||
public function setActive($active): void
|
||||
{
|
||||
$this->active = (bool) $active;
|
||||
}
|
||||
|
||||
public function getEmail(): string
|
||||
{
|
||||
return $this->email;
|
||||
@ -51,6 +58,11 @@ class User extends BaseModel implements IUser
|
||||
return $this->type;
|
||||
}
|
||||
|
||||
public function getActive(): bool
|
||||
{
|
||||
return $this->active;
|
||||
}
|
||||
|
||||
public function hasPermission(int $permission): bool
|
||||
{
|
||||
switch ($permission) {
|
||||
@ -63,6 +75,11 @@ class User extends BaseModel implements IUser
|
||||
}
|
||||
}
|
||||
|
||||
public function getDisplayName(): string
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
public function checkPassword(string $password): bool
|
||||
{
|
||||
return password_verify($password, $this->password);
|
||||
|
@ -1,8 +1,25 @@
|
||||
<div class="header">
|
||||
<div class="grid">
|
||||
<h1>
|
||||
<a href="/" title="MapGuesser">
|
||||
<img class="inline" width="1em" height="1em" src="<?= $_ENV['STATIC_ROOT'] ?>/img/icon.svg?rev=<?= REVISION ?>">
|
||||
MapGuesser
|
||||
</a>
|
||||
</h1>
|
||||
<p>
|
||||
<?php if (Container::$request->user()) : ?>
|
||||
<span><a href="/profile" title="Profile">
|
||||
<?php /* Copyright (c) 2019 The Bootstrap Authors. License can be found in 'USED_SOFTWARE' in section 'Bootstrap Icons'. */ ?>
|
||||
<svg class="inline" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>
|
||||
</svg>
|
||||
<?= Container::$request->user()->getDisplayName() ?><!--
|
||||
--></a></span><!--
|
||||
--><span><a href="/logout" title="Logout">Logout</a></span>
|
||||
<?php else : ?>
|
||||
<span><a href="/signup" title="Login">Sign up</a></span><!--
|
||||
--><span><a href="/login" title="Login">Login</a></span>
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in New Issue
Block a user