You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.9 KiB
111 lines
2.9 KiB
<?php
|
|
|
|
namespace App\Controller;
|
|
|
|
use App\Container;
|
|
use App\Router\Request\IRequest;
|
|
use App\Router\Response\RedirectResponse;
|
|
use App\Router\Response\Response;
|
|
use App\Router\Response\IResponse;
|
|
|
|
use App\Router\Session;
|
|
use Manager\UserManager;
|
|
use Shared\Attributes\Route;
|
|
use Shared\Validation;
|
|
use Twig\Environment;
|
|
use Data\Core\Preferences;
|
|
use Shared\Log;
|
|
use function PHPUnit\Framework\isEmpty;
|
|
|
|
class UserController extends BaseController
|
|
{
|
|
|
|
private UserManager $userMgr;
|
|
public function __construct(UserManager $manager){
|
|
parent::__construct();
|
|
$this->userMgr = $manager;
|
|
}
|
|
|
|
#[Route(path: '/', name: 'home', methods: ['GET'])]
|
|
public function index(): Response
|
|
{
|
|
|
|
return $this->render('./page/home.html.twig',[
|
|
'css' => $this->preference->getCookie(),
|
|
'pp' => "test2",
|
|
'user' => "Doe",
|
|
'role' => "Athlète",
|
|
'friendship' => [],
|
|
'analyzes' => [],
|
|
'mails' => [],
|
|
'users' => [],
|
|
'infoUser' => [],
|
|
'exos' => [],
|
|
'member' => []
|
|
]);
|
|
}
|
|
|
|
|
|
#[Route(path: '/settings', name: 'settings', methods: ['GET'])]
|
|
public function settings(IRequest $req): Response
|
|
{
|
|
return $this->render('./page/settings.html.twig',[
|
|
'css' => $this->preference->getCookie(),
|
|
'pp' => "test2",
|
|
'user' => "Doe",
|
|
'role' => "Athlète",
|
|
'friendship' => [],
|
|
'analyzes' => [],
|
|
'mails' => [],
|
|
'users' => [],
|
|
'infoUser' => [],
|
|
'exos' => [],
|
|
'member' => []
|
|
]);
|
|
}
|
|
|
|
|
|
#[Route(path: '/preferences', name: 'preferences', methods: ['POST'])]
|
|
public function preferences(string $theme, IRequest $req): Response
|
|
{
|
|
|
|
// VALIDER LES DONNEES
|
|
$this->preference->majCookie($theme);
|
|
|
|
return $this->render('./page/settings.html.twig',[
|
|
'css' => $this->preference->getCookie(),
|
|
'pp' => "test2",
|
|
'user' => "Doe",
|
|
'role' => "Athlète",
|
|
'friendship' => [],
|
|
'analyzes' => [],
|
|
'mails' => [],
|
|
'users' => [],
|
|
'infoUser' => [],
|
|
'exos' => [],
|
|
'member' => []
|
|
]);
|
|
}
|
|
|
|
#[Route(path: '/logout', name: 'logout', methods: ['GET'])]
|
|
public function logout(IRequest $request): IResponse
|
|
{
|
|
$error = [];
|
|
|
|
try {
|
|
|
|
if($this->userMgr->deconnecter()){
|
|
return new RedirectResponse('/');
|
|
}
|
|
else{
|
|
$error [] = "Erreur de deconnexion. Essayez encore";
|
|
return new RedirectResponse('/');
|
|
}
|
|
|
|
} catch (\Throwable $th) {
|
|
$error [] =$th->getMessage();
|
|
return new RedirectResponse('/');
|
|
}
|
|
}
|
|
|
|
} |