userMgr = $manager; } #[Route('/login', name: 'login',methods: ['POST'])] public function login(string $email,string $password, IRequest $request): IResponse { $error = []; try { $log=$email; // should check email with verrify email $mdp=Validation::clean_string($password); if($this->userMgr->login($log,$mdp)){ // Log::dd($this->userMgr->getCurrentUser()); // $athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD)); // $user = $athleteGateway->getUserByEmail($email); // $map = new AthleteMapper(); // $userEntity = $map->athleteSqlToEntity($user); // // $users = ['username' => $userEntity[0]->getUsername(), 'nom' => $userEntity[0]->getNom(), // 'prenom' => $userEntity[0]->getPrenom(),'email' => $userEntity[0]->getEmail(), 'sexe' => $userEntity[0]->getSexe(), // 'taille' => $userEntity[0]->getTaille(), 'poids' => $userEntity[0]->getPoids(), 'motdepasse' => $userEntity[0]->getMotDePasse(), // 'datenaissance' => $userEntity[0]->getDateNaissance(), 'iscoach' => $userEntity[0]->getIsCoach(), 'img' => 'test']; return $this->render('./page/home.html.twig', [ 'css' => $this->preference->getCookie(), 'pp' => 'test', // 'user' => $this->userMgr->getCurrentUser()->getUsername(), // 'role' => $this->userMgr->getCurrentUser()->getRole() ]); } else{ $error [] = "Erreur de connexion. Essayez encore"; return $this->render('./page/login.html.twig',[ 'css' => $this->preference->getCookie(), 'login_error'=> $error, ]); } // should only cath a type of Exception not all } catch (\Throwable $th) { $error [] =$th->getMessage(); return $this->render('./page/login.html.twig',[ 'css' => $this->preference->getCookie(), 'login_error'=> $error, ]); } } #[Route('/login', name: 'login2',methods: ['GET'])] public function login2(IRequest $request): IResponse { return $this->render('./page/login.html.twig',[ 'css' => $this->preference->getCookie() ]); } #[Route('/register', name: 'register2' , methods:['GET'])] public function register2(IRequest $request): IResponse{ return $this->render('./page/register.html.twig',[ 'css' => $this->preference->getCookie() ]); } #[Route('/register', name: 'register' , methods:['POST'])] public function register( string $nom, string $prenom, string $username, string $mail, string $motDePasse, string $sexe, float $taille, float $poids, string $dateNaissance, string $roleName, IRequest $request): IResponse { $error = []; try { $registrationData = [ 'nom' => $nom, 'prenom' => $prenom, 'username' => $username, 'email' => $mail, 'sexe' => $sexe, 'taille' => $taille, 'poids' => $poids, 'dateNaissance' => $dateNaissance, 'roleName' => $roleName ]; if ($this->userMgr->register($mail, $motDePasse, $registrationData) ) { return new RedirectResponse('/'); } else { $error [] = 'L\'inscription a échoué. Veuillez réessayer.'; return $this->render('./page/register.html.twig',[ 'css' => $this->preference->getCookie(), 'register_error'=> $error, ]); } } catch (\Throwable $e) { $error [] =$e->getMessage(); return $this->render('./page/register.html.twig', ['css' => $this->preference->getCookie(),"register_error" => $error ]); } } //string $ancienMotDePasse,string $nouveauMotDePasse,string $confirmerMotDePasse, #[Route(path: '/forgetPassword', name: 'forget-password2', methods: ['GET'])] public function forgetPassword2(IRequest $request): IResponse { return $this->render('./page/password.html.twig',[ 'css' => $this->preference->getCookie(), ]); } #[Route(path: '/forgetPassword', name: 'forget-password', methods: ['POST'])] public function forgetPassword(string $mail, IRequest $request): IResponse { return $this->render('./page/password.html.twig',[ 'css' => $this->preference->getCookie(), ]); } #[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('/'); } } } ?>