Пример #1
0
 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;
     }
 }
Пример #2
0
 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);
 }
Пример #3
0
    /**
     * 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;
    }