connection($email, $motDePasse); if ($utilisateur instanceof Alumni) { $_SESSION['utilisateur'] = $utilisateur; // echo $twig->render('accueil.html',[]); header('Location: accueil'); return; } else { $dVueErreur[] = "L'adresse email ou le mot de passe est incorrect."; } } echo $twig->render('connection.html', ['dVueErreur' => $dVueErreur]); } public function inscription() { global $twig; $dVueErreur = []; $userModel = new UtilisateurModele(); if (isset($_POST['firstname'],$_POST['name'], $_POST['email'], $_POST['password'])) { $nom = Validation::nettoyerString($_POST['name']); $prenom = Validation::nettoyerString($_POST['firstname']); $email = Validation::nettoyerString($_POST['email']); $motDePasse = Validation::nettoyerString($_POST['password']); $hash = password_hash($motDePasse, PASSWORD_DEFAULT); try { // verification que l'email est valide et unique : if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $dVueErreur[] = "L'adresse email n'est pas valide ou est déjà utilisée."; } else { $utilisateur = $userModel->getUtilisateurByEmail($email); if ($utilisateur instanceof Alumni) { $dVueErreur[] = "L'adresse email est déjà utilisée."; } } $nouvelUtilisateur = $userModel->inscription($prenom, $nom, $email, $hash); if ($nouvelUtilisateur instanceof Alumni) { echo $twig->render('inscription_success.html'); exit(); } } catch (Exception $e) { $dVueErreur[] = "L'inscription a échoué, veuillez réessayer."; } } echo $twig->render('inscription.html', ['dVueErreur' => $dVueErreur]); } protected function accueil() { global $twig; // Ajout d'un var_dump pour déboguer if (isset($_SESSION['utilisateur']) && $_SESSION['utilisateur'] instanceof Alumni) { $userModel = new UtilisateurModele(); $evenements=$userModel->getEvenement(); //aller sur la page d'accueil avec le nom et prenom de l'utilisateur echo $twig->render('accueil.html', ['evenements' => $evenements]); } else { echo $twig->render('accueil.html'); } } public function consulterProfilLimite() { //TODO echo 'not implemented yet'; } public function consultOffers() { $userMdl = new UtilisateurModele(); global $twig; $niveauEtudes=null; $typeContrat=null; $exp = null; $role = NULL; if(isset($_SESSION['utilisateur'])) { $role = $_SESSION['utilisateur']->getRole() ; } $nbOffers = 5 ; if(isset($_GET["niveauEtudes"]) && Validation::validateTypeStudies($_GET["niveauEtudes"])) { $niveauEtudes = $_GET["niveauEtudes"]; } if(isset($_GET["typeContrat"]) && Validation::validateTypeContract($_GET["typeContrat"])) { $typeContrat = $_GET["typeContrat"]; } if(isset($_GET["experience"]) && Validation::validateExperience($_GET["experience"])) { $exp = $_GET["experience"]; } if ($niveauEtudes == null && $typeContrat == null && $exp == null) { $totalOffers = $userMdl->getNbOffers(); } else { $params = array( 'typeContrat' => $typeContrat, 'exp' => $exp, 'niveauEtudes' => $niveauEtudes, 'role' => $role ); $offers = $userMdl->getOffersWithFilters($params); $totalOffers = count($offers); } $numberPages = ceil($totalOffers / 5); $msg = NULL; if($numberPages == 0 ) { $msg = 'Aucune Offre Trouvée'; } if (isset($_GET["page"]) && intval($_GET["page"]) != null) { $page = intval($_GET["page"]); if ($page > $numberPages || $page < 1) { $dVueErreur[] = "Page introuvable"; echo $twig->render("erreur.html", ['dVueErreur' => $dVueErreur ]); return; } } else { $page = 1; } $start = intval(($page - 1) * 5); if ($niveauEtudes == null && $typeContrat == null && $exp == null) { $offers = $userMdl->getOfferLimit($start, $nbOffers); } else { $params['start'] = $start; $params['nbOffers'] = 5; $offers = $userMdl->getOffersWithFilters($params); } /* echo "filtre :".$niveauEtudes."
"; echo "filtre :".$typeContrat."
"; echo "filtre :".$exp."
";*/ echo $twig->render('OffersList.html', [ 'msg' => $msg, 'offres' => $offers, 'numberPages' => $numberPages, 'currentPage' => $page, 'typeContrat' => (($typeContrat != null) ? $typeContrat : ""), 'experience' => (($exp != null) ? $exp : ""), 'niveauEtudes' => (($niveauEtudes != null) ? $niveauEtudes : ""), 'valContrat' => (($typeContrat != null) ? "&typeContrat=".$typeContrat : ""), 'valExp' => (($exp != null) ? "&experience=".$exp : ""), 'valEtudes' => (($niveauEtudes != null) ? "&niveauEtudes=".$niveauEtudes : ""), 'role' => $role ]); } public function displayOffer(?array $params) { global $twig; if (isset($params['id']) && intval($params['id']) != null) { $uttilsMdl = new UtilisateurModele(); $offre = $uttilsMdl->getOfferFromId(intval($params["id"])); if($offre != NULL) { echo $twig->render("OffreDetailTest.html",['offre' => $offre]); return; } } $dVueErreur[] = "Erreur, Offre introuvable"; echo $twig->render("erreur.html", ['dVueErreur' => $dVueErreur]); } public function listerEvenement() { $mdl = new UtilisateurModele(); $evenements = $mdl->getEvenement(); global $twig; echo $twig->render('evenement.html', ['evenements' => $evenements]); } public function avoirDetailEvenement(?array $params) { $mdl = new UtilisateurModele(); global $twig; if(isset($params['id'])) { $evenement = $mdl->getEvenementById($params['id']); echo $twig->render('detailEvenement.html', ['evenement' => $evenement]); } else echo $twig->render('erreur.html', ['dVueErreur' => ['erreur id evenement']]); } public function rechercherEvenement() { $mdl = new UtilisateurModele(); $evenements = $mdl->getEvenement(); if (isset($_POST["recherche"]) and !empty($_POST["recherche"])) { $recherche = Validation::nettoyerString($_POST["recherche"]); $evenements = $mdl->getEvenementByTitre($recherche); } global $twig; echo $twig->render('evenement.html', ['evenements' => $evenements]); } public function getProfilByPage(?array $params) { global $twig; $dVueErreur = []; // Tableau pour stocker les erreurs, le cas échéant $userModel = new UtilisateurModele(); $nbParPage = 10; $nombreTotalPages = ceil(($userModel->getNbTotalPages())/$nbParPage); if (isset($params['id'] ) && $params['id'] != null) { $page = Validation::validerIntPossitif($params['id']); try{ $profils = $userModel->getProfilByPage($page, $nbParPage); if (isset($profils)) { echo $twig->render('profil.html', [ 'profils' => $profils, 'nombreTotalPages' => $nombreTotalPages, 'page' => $page] ); } }catch (Exception $e){ $dVueErreur[] = "Aucun profil n'a été trouvé."; echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]); } } else { $dVueErreur[] = "La page n'existe pas."; echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]); } } public function deconnexion() { session_destroy(); header('Location: accueil'); // global $twig; // $twig->render('accueil.html',[]); exit(); } }