Works for now...

This commit is contained in:
William 2022-01-25 17:50:32 +01:00
parent bcd610f36a
commit ad26410ae7

View File

@ -1,29 +1,66 @@
<?php <?php
// TODO: ... // TODO: this stinks...
class User class User
{ {
private Session $session; private Session $session;
public ?bool $loggedIn; public bool $loggedIn;
public ?string $username; public string $username;
public string $password;
public function __construct(Session $session) public function __construct(Session $session)
{ {
$this->session = $session; $this->session = $session;
$this->setProperties();
$this->loggedIn = $this->session->get('loggedIn');
$this->username = $this->session->get('username');
} }
private function setProperties(): void
{
if ($this->session->get('loggedIn'))
{
$this->loggedIn = $this->session->get('loggedIn');
$this->username = $this->session->get('username');
$this->password = $this->session->get('password');
if (!$this->authenticate($this->username, $this->password)) {
$this->logout();
$this->session->flash('Kontodetaljer endret, vennligst logg inn igjen', 'warning');
}
} else {
$this->loggedIn = FALSE;
}
}
// Set session if user and password match
public function login(string $username, string $password): bool public function login(string $username, string $password): bool
{ {
if ($username === 'William' && $password === 'William') if ($this->authenticate($username, $password))
{ {
$this->session->set('loggedIn', TRUE); $this->session->set('loggedIn', TRUE);
$this->session->set('username', 'William'); $this->session->set('username', $username);
$this->session->set('password', $password);
$this->setProperties();
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
} }
// Check if user and pass match
private function authenticate(string $username, string $password): bool
{
if ($username === 'Willaiam' && $password === 'William')
{
return TRUE;
}
return FALSE;
}
public function logout(): void
{
$this->session->set('loggedIn', FALSE);
$this->session->remove('username', FALSE);
$this->session->remove('password', FALSE);
$this->setProperties();
}
} }