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:
ycharbi
2023-03-11 18:37:27 +01:00
parent d3baa6166c
commit 3bd350e761
18 changed files with 569 additions and 33 deletions
+37 -2
View File
@@ -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());
}
}
}
?>