public function membre($action, $id, $vars) { $membreDAO = new MembreDAO(BDD::getInstancePDO()); switch ($action) { /**** GET ****/ case 'get': $vars['titrePage'] = 'Profil'; // <h1> de la page $vars['active_profil'] = 1; // Active le style dans le menu profil // On met à jour les variables de profil et les droits du membre $_SESSION['user']->rechargerProfil(); // On récupère son profil $vars['profil'] = $_SESSION['user']->getProfil(); $this->vue->display('membre_get.twig', $vars); exit; /**** ADD ****/ /**** ADD ****/ case 'add': $vars['titrePage'] = 'Inscription'; // <h1> de la page $vars['active_profile'] = 1; // Active le style dans le menu profil // Si un formulaire a été envoyé if (!empty($_POST)) { // On essaye d'inscrire l'utilisateur echo json_encode(Membre::inscription($_POST)); exit; } $this->vue->display('membre_add.twig', $vars); exit; /**** EDIT ****/ /**** EDIT ****/ case 'edit': $vars['active_profile'] = 1; // Active le style dans le menu profil // Si l'utilisateur est connecté alors édition de profil if ($_SESSION['user']) { $vars['titrePage'] = 'Modification du profil'; // <h1> de la page // Si un formulaire a été envoyé if (!empty($_POST)) { // Si le formulaire est valide au niveau faille CSRF if (!empty($_POST['jetonCSRF']) && $_POST['jetonCSRF'] == $_SESSION['jetonCSRF']) { // On essaye de faire les modifications $res = $_SESSION['user']->editProfil($_POST); if (!empty($_POST['updateEmail']) && $res->success) { $res->update['email'] = $_SESSION['user']->email; } echo json_encode($res); exit; } } $this->vue->display('membre_edit.twig', $vars); } else { $vars['titrePage'] = 'Mot de passe oublié'; // <h1> de la page // Si la clé de réinitialisation n'est pas vide et est correcte alors formulaire de changement du mot de passe if (!empty($_GET['cle']) && ($membre = $membreDAO->checkCleResetPass($_GET['cle'])) !== false) { // Réinitialisation du mot de passe if (!empty($_POST)) { $res = $membre->resetLostPass($_POST); if ($res->success) { $res->redirect = '/accueil'; } echo json_encode($res); exit; } $vars['etape'] = 'formMDP'; } elseif (!empty($_POST)) { // On essaye d'envoyé le mail avec le lien de réinitialisation du mot de passe echo json_encode(Membre::sendMailLostPass($_POST)); exit; } $this->vue->display('membre_lostMDP.twig', $vars); } exit; /**** DROP ****/ /**** DROP ****/ case 'drop': $vars['active_profile'] = 1; // Active le style dans le menu profil exit; default: $this->vue->display('404.twig', $vars); exit; } }