Ajout de la fonctionnalité de gestion des utilisateurs + déplacement du fichier Javascript gérant le filtrage des entrées dans le pied de page + correction de fautes de frappe dans les textes français + affichage de l'adresse de courriel en message de bienvenue si aucun nom complet n'existe pour l'utilisateur + déconnexion automatique d'un utilisateur désactivé par un administrateur + réorganisation visuel légère du code de certaines page + ajout du support des erreurs personnalisées lors de la déconnexion d'un utilisateur (seul une erreur générique était supporté)
This commit is contained in:
@@ -5,7 +5,6 @@
|
||||
*/
|
||||
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/connexion.php");
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
|
||||
/**
|
||||
* Fonction listant les alias virtuels d'un utilisateur.
|
||||
@@ -69,7 +68,7 @@ function ajoutAliasVirtuelsPostfix($pdo,$nom_alias_virtuel,$choix_domaine_alias_
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="23000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite signifiant que la contrainte "UNIQUE" du champ "courriel" de la table "postif_alias_virtuels" est violée. L'alias envoyé via le formulaire par l'utilisateur a déjà été renseigné dans la base
|
||||
// Code de retour envoyé par le pilote PDO SQLite signifiant que la contrainte "UNIQUE" du champ "courriel" de la table "postfix_alias_virtuels" est violée. L'alias envoyé via le formulaire par l'utilisateur a déjà été renseigné dans la base
|
||||
header ("Location: /pages/gestion/administration.php?page=alias&erreur=3");
|
||||
die();
|
||||
}
|
||||
@@ -154,4 +153,40 @@ function supprAliasVirtuelsPostfix($pdo,$suppr_alias_virtuel) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction de suppression de tous les alias virtuels d'un utilisateur (à la suppression de celui-ci).
|
||||
*/
|
||||
function supprTousAliasVirtuelsUtilisateurBdd($pdo,$id_utilisateur) {
|
||||
try {
|
||||
$req='DELETE FROM postfix_alias_virtuels WHERE destination IN (SELECT utilisateur FROM postfix_utilisateurs WHERE id=:id_utilisateur);';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':id_utilisateur',$id_utilisateur);
|
||||
$sql->execute();
|
||||
|
||||
$code_retour=$sql->errorInfo();
|
||||
if ($code_retour[0]=="00000") {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="HY000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite lorsque la base est accessible en lecture seule à www-data
|
||||
header ("Location: /pages/gestion/administration.php?page=alias&erreur=4");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
// En cas d'erreur non gérée, le script s'arrête avec un message d'erreur à destination de l'administrateur du serveur
|
||||
die ("Erreur de requête de suppression des alias virtuels de l'utilisateur : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
*/
|
||||
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/connexion.php");
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
|
||||
/**
|
||||
* Fonction générant un fichier CSV avec le contenu des alias virtuels d'un utilisateur.
|
||||
|
||||
@@ -7,11 +7,12 @@
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/connexion.php");
|
||||
|
||||
/**
|
||||
* Fonction listant les utilisateurs.
|
||||
* Fonction listant tous les utilisateurs.
|
||||
*/
|
||||
function listeUtilisateursPostfix($pdo) {
|
||||
try {
|
||||
$req = 'SELECT utilisateur FROM postfix_utilisateurs';
|
||||
$req = 'SELECT * FROM postfix_utilisateurs';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
@@ -23,6 +24,71 @@ function listeUtilisateursPostfix($pdo) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction listant un utilisateur en particulier.
|
||||
*/
|
||||
function listeUtilisateurBdd($pdo,$id_utilisateur) {
|
||||
try {
|
||||
$req = 'SELECT * FROM postfix_utilisateurs WHERE id=:id_utilisateur';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':id_utilisateur',$id_utilisateur);
|
||||
$sql->execute();
|
||||
|
||||
$infos_utilisateur = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
return $infos_utilisateur;
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de selection des utilisateurs : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fonction d'ajout d'un utilisateur.
|
||||
*/
|
||||
function ajoutUtilisateurBdd($pdo,$prefixe_utilisateur,$nom_utilisateur,$choix_domaine_utilisateur,$mot_de_passe_utilisateur,$nom_complet_utilisateur,$choix_privilege_utilisateur) {
|
||||
try {
|
||||
// Insertion du nouvelutilisateur entré par l'administrateur. le mot de passe "motdepasse" est mis par défaut et changé juste après par la fonction idoine afin de ne pas dupliquer de code
|
||||
$req='INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,rep_perso,uid,gid,privilege,prefixe,active) VALUES (:nom_utilisateur,"{SHA512-CRYPT}$6$SAeCKr.vyiMjMMVa$okHL4IbTkVJO2an.mdFo8EizAxC0pfP6EV4xhO78C.OvMsirM9BD5TYhNaGPcfReQZ6ilc9feaETTvN6c.h6Z0",:nom_complet_utilisateur,:rep_perso,3000,3000,:choix_privilege_utilisateur,:prefixe_utilisateur,1);';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':nom_utilisateur',substr(htmlspecialchars($nom_utilisateur."@".$choix_domaine_utilisateur),0,100));
|
||||
$sql->bindValue(':nom_complet_utilisateur',substr(htmlspecialchars($nom_complet_utilisateur),0,100));
|
||||
$sql->bindValue(':rep_perso',substr(htmlspecialchars($choix_domaine_utilisateur."/".$nom_utilisateur."/"),0,100));
|
||||
$sql->bindValue(':choix_privilege_utilisateur',substr(htmlspecialchars($choix_privilege_utilisateur),0,100));
|
||||
$sql->bindValue(':prefixe_utilisateur',substr(htmlspecialchars($prefixe_utilisateur),0,100));
|
||||
$sql->execute();
|
||||
|
||||
if ($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="23000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite signifiant que la contrainte "UNIQUE" du champ "utilisateur" de la table "postfix_utilisateurs" est violée. Le nom d'utilisateur envoyé via le formulaire par l'administrateur a déjà été renseigné dans la base
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=25");
|
||||
die();
|
||||
}
|
||||
elseif ($code_retour[0]=="HY000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite lorsque la base de données n'est accessible qu'en lecture seule à www-data
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=4");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
// En cas d'erreur non gérée, le script s'arrête avec un message d'erreur à destination de l'administrateur du serveur
|
||||
die ("Erreur de requête d'ajout d'alias virtuel : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction vérifiant le mot de passe actuel d'un utilisateur.
|
||||
*/
|
||||
@@ -161,5 +227,73 @@ function verifUtilisateursExiste($pdo,$utilisateur) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction de suppression d'un utilisateur.
|
||||
*/
|
||||
function supprUtilisateursBdd($pdo,$suppr_utilisateur) {
|
||||
try {
|
||||
$req='DELETE FROM postfix_utilisateurs WHERE id=:id_utilisateur AND utilisateur!=:pseudo_connexion_utilisateur';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':id_utilisateur',$suppr_utilisateur);
|
||||
$sql->bindValue(':pseudo_connexion_utilisateur',$_SESSION['pseudo_connexion_utilisateur']);
|
||||
$sql->execute();
|
||||
|
||||
if($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="HY000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite lorsque la base est accessible en lecture seule à www-data
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=4");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
// En cas d'erreur non gérée, le script s'arrête avec un message d'erreur à destination de l'administrateur du serveur
|
||||
die ("Erreur de requête de suppression d'un utilisateur : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction de modification des informations des utilisateurs.
|
||||
* Suite à une soumission du formulaire dédié, cette fonction va traiter l'ensemble des données modifiables des utilisateurs.
|
||||
* Seul les utilisateurs recevant au moins une modification sont traités.
|
||||
*/
|
||||
function modifUtilisateursBdd($pdo,$nouvelles_données_utilisateur) {
|
||||
try {
|
||||
$req='UPDATE postfix_utilisateurs SET active=:etat_utilisateur,nom_complet=:nom_complet_utilisateur,privilege=:choix_privilege_utilisateur,prefixe=:prefixe_utilisateur WHERE id=:id_utilisateur AND utilisateur=:pseudo_utilisateur';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':etat_utilisateur',$nouvelles_données_utilisateur['etat_utilisateur']);
|
||||
$sql->bindValue(':nom_complet_utilisateur',$nouvelles_données_utilisateur['nom_complet_utilisateur']);
|
||||
$sql->bindValue(':choix_privilege_utilisateur',$nouvelles_données_utilisateur['choix_privilege_utilisateur']);
|
||||
$sql->bindValue(':prefixe_utilisateur',$nouvelles_données_utilisateur['prefixe_utilisateur']);
|
||||
$sql->bindValue(':id_utilisateur',$nouvelles_données_utilisateur['id_utilisateur']);
|
||||
$sql->bindValue(':pseudo_utilisateur',$nouvelles_données_utilisateur['nom_utilisateur']);
|
||||
$sql->execute();
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="HY000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite lorsque la base est accessible en lecture seule à www-data
|
||||
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=4");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
// En cas d'erreur non gérée, le script s'arrête avec un message d'erreur à destination de l'administrateur du serveur
|
||||
die ("Erreur de requête de modification des données pour l'utilisateur $nouvelles_données_utilisateur[nom_utilisateur] : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -25,8 +25,8 @@ function retourneMessage($type_message,$num_message) {
|
||||
6 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Domaine modifiés avec succès.</div>",
|
||||
7 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Domaine supprimé avec succès.</div>",
|
||||
8 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Domaine défini par défaut avec succès.</div>",
|
||||
9 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'entrée de liste noire destiataires a été créée avec succès.</div>",
|
||||
10 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'état de l'entrée de liste noire destiataires a été modifié avec succès.</div>",
|
||||
9 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'entrée de liste noire destinataires a été créée avec succès.</div>",
|
||||
10 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'état de l'entrée de liste noire destinataires a été modifié avec succès.</div>",
|
||||
11 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'entrée de liste noire destinataires a été supprimée avec succès.</div>",
|
||||
12 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'entrée de liste noire expéditeurs a été créée avec succès.</div>",
|
||||
13 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'état de l'entrée de liste noire expéditeurs a été modifié avec succès.</div>",
|
||||
@@ -35,7 +35,10 @@ function retourneMessage($type_message,$num_message) {
|
||||
16 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Le mot de passe de $pseudo_utilisateur a bien été changé.</div>",
|
||||
17 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Le préfixe de $pseudo_utilisateur a bien été changé.</div>",
|
||||
18 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Vos données ont bien étés importés. Les doublons ainsi que les données erronées ont étés ignorés.</div>",
|
||||
19 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Vos données ont bien étés importés. Veuillez vous ré-identifier.</div>"),
|
||||
19 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Vos données ont bien étés importés. Veuillez vous ré-identifier.</div>",
|
||||
20 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'utilisateur a bien été créé.</div>",
|
||||
21 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'utilisateur a bien été supprimé.</div>",
|
||||
22 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Les données utilisateur ont bien étés mises à jour.</div>"),
|
||||
"erreurs" => array(
|
||||
1 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Aucun alias virtuel supprimé.</div>",
|
||||
2 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Aucun alias virtuel créé car une donnée est erronée ou manquante.</div>",
|
||||
@@ -57,10 +60,16 @@ function retourneMessage($type_message,$num_message) {
|
||||
18 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Vous n'avez pas les privilèges nécessaires.</div>",
|
||||
19 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Erreur non gérée.</div>",
|
||||
20 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> L'ancien mot de passe renseigné est erroné.</div>",
|
||||
21 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Le mot de passe de confimation n'est pas identique au nouveau mot de passe.</div>",
|
||||
21 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Le mot de passe de confirmation n'est pas identique au nouveau mot de passe.</div>",
|
||||
22 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Une erreur s'est produite lors de l'envoi du fichier. Il doit être de type CSV de moins de 2 Mo et avoir été généré par Courtail.</div>",
|
||||
23 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Votre fichier d'import CSV est plus grand que 2 Mo.</div>",
|
||||
24 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Auncun type de donnée n'a été spécifié pour l'importation.</div>"),
|
||||
24 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Aucun type de donnée n'a été spécifié pour l'importation.</div>",
|
||||
25 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> L'utilisateur est déjà existant.</div>",
|
||||
26 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Le domaine indiqué n'existe pas.</div>",
|
||||
27 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Le privilège indiqué n'existe pas.</div>",
|
||||
28 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Aucun utilisateur supprimé.</div>",
|
||||
29 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Erreur lors de la suppression des alias virtuels de l'utilisateur. Utilisateur non supprimé.</div>",
|
||||
30 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Votre accès a été révoqué par un administrateur suite à la désactivation de votre compte.</div>"),
|
||||
"messages" => array(
|
||||
"bienvenue" => "<div class=\"alert alert-primary\" role=\"alert\"><img src=\"/fichiers/svg/info.svg\"/> Bienvenue ".$nom_utilisateur.". Vous êtes authentifié en tant qu'".$privilege_utilisateur.".</div>")
|
||||
);
|
||||
|
||||
@@ -63,7 +63,12 @@ function validationIdentifiants($pdo,$identifiant,$mdp) {
|
||||
function initValeursSession($result) {
|
||||
$_SESSION['id_utilisateur'] = $result[0]['id'];
|
||||
$_SESSION['pseudo_utilisateur'] = $result[0]['utilisateur'];
|
||||
$_SESSION['nom_utilisateur'] = $result[0]['nom_complet'];
|
||||
if (!empty($result[0]['nom_complet'])) {
|
||||
$_SESSION['nom_utilisateur'] = $result[0]['nom_complet'];
|
||||
}
|
||||
else {
|
||||
$_SESSION['nom_utilisateur'] = $result[0]['utilisateur'];
|
||||
}
|
||||
$_SESSION['privilege_utilisateur'] = $result[0]['privilege'];
|
||||
$_SESSION['pseudo_connexion_utilisateur'] = $result[0]['utilisateur'];
|
||||
}
|
||||
|
||||
@@ -4,17 +4,35 @@
|
||||
* 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(){
|
||||
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 {
|
||||
|
||||
Reference in New Issue
Block a user