This commit is contained in:
Halbe Bruno
2025-12-05 19:40:39 -03:00
commit f37bc712e6
4312 changed files with 359196 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
<?php
namespace App\Controllers;
use App\Models\User;
use App\Utils\View;
class AuthController
{
public function login()
{
if (isset($_SESSION['user_id'])) {
$user = (new User())->find($_SESSION['user_id']);
if ($user['role'] === 'admin') {
View::redirect('/admin/dashboard');
} else {
View::redirect('/client/dashboard');
}
}
View::render('auth.login');
}
public function authenticate()
{
$email = $_POST['email'] ?? '';
$password = $_POST['password'] ?? '';
$userModel = new User();
$user = $userModel->first('email', $email);
if ($user && password_verify($password, $user['password'])) {
$_SESSION['user_id'] = $user['id'];
$_SESSION['user_role'] = $user['role'];
$_SESSION['user_name'] = $user['name'];
if ($user['role'] === 'admin') {
View::redirect('/admin/dashboard');
} else {
View::redirect('/client/dashboard');
}
} else {
View::render('auth.login', ['error' => 'Credenciais inválidas']);
}
}
public function logout()
{
session_destroy();
View::redirect('/login');
}
}