37 lines
799 B
PHP
37 lines
799 B
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use App\Core\Controller;
|
|
use App\Core\Response;
|
|
use App\Services\AuthService;
|
|
|
|
class AuthController extends Controller
|
|
{
|
|
public function showLogin(): Response
|
|
{
|
|
return $this->view('auth/login');
|
|
}
|
|
|
|
public function login(): Response
|
|
{
|
|
$email = $_POST['email'] ?? '';
|
|
$password = $_POST['password'] ?? '';
|
|
|
|
$auth = AuthService::getInstance();
|
|
if ($auth->attempt($email, $password)) {
|
|
return $this->redirect('/');
|
|
}
|
|
|
|
return $this->view('auth/login', [
|
|
'error' => 'Invalid credentials or inactive account.',
|
|
]);
|
|
}
|
|
|
|
public function logout(): Response
|
|
{
|
|
AuthService::getInstance()->logout();
|
|
return $this->redirect('/login');
|
|
}
|
|
}
|