diff --git a/services/fonctions/bdd/import_export.php b/services/fonctions/bdd/import_export.php
index 1c7916c..952f906 100644
--- a/services/fonctions/bdd/import_export.php
+++ b/services/fonctions/bdd/import_export.php
@@ -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());
}
}
diff --git a/services/fonctions/bdd/utilisateurs.php b/services/fonctions/bdd/utilisateurs.php
index b238157..b726470 100644
--- a/services/fonctions/bdd/utilisateurs.php
+++ b/services/fonctions/bdd/utilisateurs.php
@@ -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());
+ }
+}
+
+
?>
diff --git a/services/fonctions/messages/messages.php b/services/fonctions/messages/messages.php
index 8e3a998..5099529 100644
--- a/services/fonctions/messages/messages.php
+++ b/services/fonctions/messages/messages.php
@@ -34,7 +34,8 @@ function retourneMessage($type_message,$num_message) {
15 => "
Vous avez bien été déconnecté.
",
16 => " Le mot de passe de $pseudo_utilisateur a bien été changé.
",
17 => " Le préfixe de $pseudo_utilisateur a bien été changé.
",
- 18 => " Vos données ont bien étés importés. Les doublons ainsi que les données erronées ont étés ignorés.
"),
+ 18 => " Vos données ont bien étés importés. Les doublons ainsi que les données erronées ont étés ignorés.
",
+ 19 => " Vos données ont bien étés importés. Veuillez vous ré-identifier.
"),
"erreurs" => array(
1 => " Aucun alias virtuel supprimé.
",
2 => " Aucun alias virtuel créé car une donnée est erronée ou manquante.
",
diff --git a/services/traitements/import_export/importDonneesBdd.php b/services/traitements/import_export/importDonneesBdd.php
index 701a5df..1481ca5 100644
--- a/services/traitements/import_export/importDonneesBdd.php
+++ b/services/traitements/import_export/importDonneesBdd.php
@@ -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();
}
diff --git a/services/traitements/utilisateurs/deconnexion.php b/services/traitements/utilisateurs/deconnexion.php
index bba5b8b..2b20630 100644
--- a/services/traitements/utilisateurs/deconnexion.php
+++ b/services/traitements/utilisateurs/deconnexion.php
@@ -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');
-
-?>
\ No newline at end of file
+// 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();
+?>