You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							44 lines
						
					
					
						
							1.9 KiB
						
					
					
				
			
		
		
	
	
							44 lines
						
					
					
						
							1.9 KiB
						
					
					
				| <?php
 | |
| 
 | |
| /**
 | |
|  * Page de fonctions permettant la vérification des permission d'un utilisateur ou d'un visiteur.
 | |
|  */
 | |
| 
 | |
| // Importation des fonctions utilisateurs afin de pouvoir en lister les données plus bas (fonction listeUtilisateurBdd).
 | |
| require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/utilisateurs.php");
 | |
| $infos_utilisateur = listeUtilisateurBdd($pdo,$_SESSION['id_utilisateur']);
 | |
| 
 | |
| /**
 | |
|  * Fonction testant le niveau de privilège d'un utilisateur authentifié ou non.
 | |
|  * Elle vérifie le privilège de l'utilisateur connecté et retourne la valeur adéquate.
 | |
|  * Si un visiteur ou un utilisateur ne remplis pas la bonne condition, il est redirigé à la page d'accueil avec un message expllicatif.
 | |
|  * Cette fonction devrait être appelée dans toute page de traitement.
 | |
|  */
 | |
| function testPrivileges() {
 | |
| 	// Utilisation d'une fonction listant les données d'un utilisateur afin de savoir s'il est activé ou non. Ceci permet de déconnecter un utilisateur automatiquement à la prochaine page visité si celui-ci a été désactivé par un administrateur.
 | |
| 	global $pdo;
 | |
| 	$infos_utilisateur = listeUtilisateurBdd($pdo,$_SESSION['id_utilisateur']);
 | |
| 
 | |
| 	if (isset($_SESSION['id_utilisateur']) && !empty($_SESSION['id_utilisateur']) && $_SESSION['privilege_utilisateur']=="administrateur") {
 | |
| 		if (!isset($infos_utilisateur[0]["active"]) || $infos_utilisateur[0]["active"]!=="1") {
 | |
| 			header("Location: /services/traitements/utilisateurs/deconnexion.php?erreur=30");
 | |
| 			die();
 | |
| 		}
 | |
| 
 | |
| 		return "administrateur";
 | |
| 	}
 | |
| 	elseif (isset($_SESSION['id_utilisateur']) && !empty($_SESSION['id_utilisateur']) && $_SESSION['privilege_utilisateur']=="utilisateur") {
 | |
| 		if (!isset($infos_utilisateur[0]["active"]) || $infos_utilisateur[0]["active"]!=="1") {
 | |
| 			header("Location: /services/traitements/utilisateurs/deconnexion.php?erreur=30");
 | |
| 			die();
 | |
| 		}
 | |
| 
 | |
| 		return "utilisateur";
 | |
| 	}
 | |
| 	else {
 | |
| 		header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
 | |
| 		die();
 | |
|   }
 | |
| }
 | |
| 
 | |
| ?>
 |