/**
  * Vérifie les droits d'accès de l'utilisateur en fonction de son rôle
  * @param  string  	$role Le rôle pour lequel on souhaite vérifier les droits d'accès
  * @return boolean 	true si droit d'accès, false sinon
  */
 public function isGranted($role)
 {
     $app = getApp();
     $roleProperty = $app->getConfig('security_role_property');
     //récupère les données en session sur l'utilisateur
     $authentificationModel = new AuthentificationModel();
     $loggedUser = $authentificationModel->getLoggedUser();
     // Si utilisateur non connecté
     if (!$loggedUser) {
         // Redirige vers le login
         $this->redirectToLogin();
     }
     if (!empty($loggedUser[$roleProperty]) && $loggedUser[$roleProperty] === $role) {
         return true;
     }
     return false;
 }
 public function deconnect()
 {
     $login = new AuthentificationModel();
     $params = array();
     if (empty($_POST)) {
         $vue = true;
     }
     // Les paramètres qu'on envoi a la vue, on utilisera les clés du tableau précédé par un $ pour les utiliser dans la vue
     if (!empty($_POST)) {
         $vue = false;
         $userId = $login->logUserOut();
     }
     $params['vue'] = $vue;
     $this->show('admin/deconnect', $params);
 }
Example #3
0
 /**
  * Récupère l'utilisateur actuellement connecté
  */
 public function getUser()
 {
     $authenticationModel = new AuthentificationModel();
     $user = $authenticationModel->getLoggedUser();
     return $user;
 }
 public function deleteAccount($id)
 {
     $params = array();
     $errors = array();
     if (!empty($_POST)) {
         if (empty($_POST['pass'])) {
             $errors[] = 'le mot de passe est vide';
         }
         if (empty($_POST['email'])) {
             $errors[] = 'l\'email est vide';
         }
         if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) !== false) {
             $errors[] = 'L\'email est invalide';
         }
         if (count($errors) == 0) {
             $verifPass = new AuthentificationModel();
             $isValid = $verifPass->isValidLoginInfo($_POST['email'], $_POST['pass']);
             if ($isValid == true) {
                 $delete = new DeleteAccountModel();
                 $allinfos = $delete->deleteAll($id);
                 var_dump($allinfos);
                 $params['success'] = 'Votre profil à bien été supprimé !';
             } else {
                 $errors[] = 'Votre email ou votre mot de passe ne correspond pas, veuillez réessayer.';
             }
         }
     }
     $params['errors'] = $errors;
     $this->show('profil/deleteAccount', $params);
 }