| Server IP : 74.208.250.37 / Your IP : 216.73.216.233 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ubuntu 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : miferval ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/brainwavemx/app/Controller/admin/ |
Upload File : |
<?php
declare(strict_types=1);
namespace App\Controller\Admin;
use Jasny\Auth\Auth;
use Jasny\Auth\Authz;
use Jasny\Auth\LoginException;
use App\Model\UserModel;
use Mosaico\Auth\AuthStorage;
use Mosaico\Controller\BaseController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class AccountController extends BaseController
{
protected $levels;
protected $auth;
protected $env;
protected $userModel;
public function __construct()
{
$this->levels = new Authz\Levels([
'user' => 1,
'developer' => 10,
'admin' => 20,
'root' => 100
]);
$this->auth = new Auth($this->levels, new AuthStorage());
session_start();
$this->auth->initialize();
$this->env = $this->getEnv();
$this->userModel = new UserModel();
}
public function login(Request $request): string
{
$error = '';
if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'POST') {
try {
$this->auth->login(($_POST['username']), ($_POST['password']));
} catch (LoginException $exception) {
$error = $exception->getMessage();
}
}
if ($this->auth->isLoggedIn()) {
if (!isset($_SESSION['user'])) {
$user = $this->userModel->getUserById($_SESSION['auth']['user'])->row;
$_SESSION['user'] = ['firstname' => $user['firstname'], 'level' => $user['level']];
}
return $this->template('admin/redirectadmin', ['env' => $this->env]);
}
return $this->template('admin/login', [
'env' => $this->env,
'error' => $error,
]);
}
public function logout(): string
{
$this->auth->logout();
unset($_SESSION['user']);
//unset($_SESSION['debug']);
return $this->template('admin/redirectlogin', ['env' => $this->env]);
}
}