<?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(); } } ?>