Gestion du cas où l'utilisateur restaurant la base n'existe plus + modification des messages d'erreurs SQL des fonctions d'importation

pull/7/head
ycharbi 3 years ago
parent 48e8bdceb9
commit 585017ef7a

@ -162,7 +162,7 @@ function importAliasVirtuelsUtilisateur($pdo,$alias_virtuel,$utilisateur,$active
}
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'export des alias virtuels utilisateur en CSV : ".$e->getMessage());
die ("Erreur de requête d'import des alias virtuels utilisateur en CSV : ".$e->getMessage());
}
}
}
@ -263,7 +263,7 @@ function importDonneesMessagerie($pdo,$type_donnees_csv,$donnees_csv) {
}
}
catch (\Exception $e) {
die ("Erreur de requête d'export des données de la base en CSV : ".$e->getMessage());
die ("Erreur de requête d'import des données de la base en CSV : ".$e->getMessage());
}
}

@ -137,4 +137,29 @@ function changePrefixeUtilisateurPostfix($pdo,$utilisateur,$nouveau_prefixe) {
}
}
/**
* Fonction vérifiant que l'utilisateur connecté au site existe toujours dans la base de données.
*/
function verifUtilisateursExiste($pdo,$utilisateur) {
try {
$req = 'SELECT utilisateur FROM postfix_utilisateurs WHERE utilisateur=:utilisateur';
$sql=$pdo->prepare($req);
$sql->bindValue(':utilisateur', $utilisateur);
$sql->execute();
$liste_utilisateurs = $sql->fetchAll(PDO::FETCH_ASSOC);
if (count($liste_utilisateurs) === 1) {
return TRUE;
}
else {
return FALSE;
}
}
catch (\Exception $e) {
die ("Erreur de requête de vérification d'existence de l'utilisateur connecté : ".$e->getMessage());
}
}
?>

@ -34,7 +34,8 @@ function retourneMessage($type_message,$num_message) {
15 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Vous avez bien été déconnecté.</div>",
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>"),
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>"),
"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>",

@ -131,6 +131,11 @@ if (isset($_FILES['import_donnees_csv']) && !empty($_FILES['import_donnees_csv']
}
}
fclose($fichier_csv);
// Si l'utilisateur ayant importé les données n'existe plus, une déconnexion automatique est effectuée
if (!verifUtilisateursExiste($pdo,$_SESSION['pseudo_connexion_utilisateur'])) {
header ("Location: /services/traitements/utilisateurs/deconnexion.php?succes=19");
die();
}
header ("Location: /pages/gestion/administration.php?page=parametres&succes=18");
die();
}

@ -4,13 +4,22 @@
* Page permettant la déconnexion d'un utilisateur authentifié.
*/
// Récupération de la session
session_start ();
// Destruction des variables de la session
session_unset ();
// Destruction de la session
session_destroy ();
// Redirection de l'utilisateur vers la page d'authentifiaction
header('location: /pages/visiteurs/formulaire_accueil.php?succes=15');
?>
// Récupération de la session
session_start ();
// Affichage d'un message différent dans le cas particulier d'une restauration de la base ne comportant plus l'utilisateur ayant effectué cette importation
if (!empty($_GET['succes'])) {
$succes=$_GET['succes'];
}
// Destruction des variables de la session
session_unset ();
// Destruction de la session
session_destroy ();
// Nous sommes obligés de passer par la variable transitoire $succes car le session_unset détruit $_GET...
if (!empty($succes)) {
header('location: /pages/visiteurs/formulaire_accueil.php?succes='.$succes);
die();
}
// Redirection de l'utilisateur vers la page d'authentifiaction
header('location: /pages/visiteurs/formulaire_accueil.php?succes=15');
die();
?>

Loading…
Cancel
Save