public function membres($action, $id, $vars) { switch ($action) { /**** GET ****/ case 'get': $vars['titrePage'] = 'Les membres'; // <h1> de la page $membreDAO = new MembreDAO(BDD::getInstancePDO()); $vars['membres'] = $membreDAO->getAllForTable(); $this->vue->display('admin/membres_get_all.twig', $vars); exit; /**** EDIT ****/ /**** EDIT ****/ case 'edit': $vars['titrePage'] = 'Modification d\'un membre'; // <h1> de la page $membreDAO = new MembreDAO(BDD::getInstancePDO()); $vars['membre'] = $membreDAO->getOne($id); $groupeDAO = new GroupeDAO(BDD::getInstancePDO()); $vars['groupes'] = $groupeDAO->getAll(); // 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 = Membre::edit($_POST, $id); if ($res->success) { $res->redirect = '/admin/membres'; } echo json_encode($res); exit; } } $this->vue->display('admin/membre_edit.twig', $vars); exit; /**** DROP ****/ /**** DROP ****/ case 'drop': if (!empty($_POST)) { // Si le formulaire est valide au niveau faille CSRF if (!empty($_POST['jetonCSRF']) && $_POST['jetonCSRF'] == $_SESSION['jetonCSRF']) { echo json_encode(Membre::delete($id)); } } exit; default: $this->vue->display('404.twig', $vars); exit; } }
public function rechargerProfil() { // Recupère les variables utilisateurs $membreDAO = new MembreDAO(BDD::getInstancePDO()); $_SESSION['user'] = $membreDAO->getOne($this->id_membre); // Récupère les doits du groupe du membre $droitGroupeDAO = new DroitGroupeDAO(BDD::getInstancePDO()); $_SESSION['droits']['groupe'] = $droitGroupeDAO->getAllForOneGroupeTree($_SESSION['user']->id_groupe); // Récupère les doits du membre $droitMembreDAO = new DroitMembreDAO(BDD::getInstancePDO()); $_SESSION['droits']['membre'] = $droitMembreDAO->getAllForOneMembre($_SESSION['user']->id_membre); }
/** * Vérifie si un cookie de connexion est présent et est valide * Si oui remplie la variable de session avec un Membre, sinon session = False et destruction cookie */ public function checkToken() { if (!empty($_COOKIE['token'])) { $req = $this->pdo->prepare('SELECT id_membre FROM token T WHERE cle = :token AND date_expiration > NOW() AND actif = 1'); $req->execute(array('token' => $_COOKIE['token'])); if ($res = $req->fetch()) { $membreDAO = new MembreDAO(BDD::getInstancePDO()); $_SESSION['user'] = $membreDAO->getOne($res->id_membre); // Récupère les doits du groupe du membre $droitGroupeDAO = new DroitGroupeDAO(BDD::getInstancePDO()); $_SESSION['droits']['groupe'] = $droitGroupeDAO->getAllForOneGroupeTree($_SESSION['user']->id_groupe); // Récupère les doits du membre $droitMembreDAO = new DroitMembreDAO(BDD::getInstancePDO()); $_SESSION['droits']['membre'] = $droitMembreDAO->getAllForOneMembre($_SESSION['user']->id_membre); return; } } setcookie('token', '', time()); $_SESSION['user'] = false; }