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