prepare($req); $sql->bindValue(':destination',$utilisateur); $sql->execute(); $liste_alias_virtuels = $sql->fetchAll(PDO::FETCH_ASSOC); $nom_fichier_csv="Alias-virtuels_".$utilisateur."_".date('d-m-Y').".csv"; // Entêtes HTTP permettant le téléchargement à la volée du CSV header("Content-Disposition: attachment; filename=\"$nom_fichier_csv\""); header("Content-Type: text/csv"); foreach ($liste_alias_virtuels as $alias_virtuel => $champ_alias_virtuel) { echo implode(":", $champ_alias_virtuel)."\n"; } // Le fait de tuer la page enclenche la demande de téléchargement à l'utilisateur qui ne quitte visuellement jamais la page des paramètres die(); } catch (\Exception $e) { die ("Erreur de requête d'export des alias virtuels utilisateur en CSV : ".$e->getMessage()); } } /** * Fonction générant un fichier CSV avec le contenu de la base Sqlite demandé par un administrateur. * Ce fichier est créé à la volée et se popose à l'administrateur pour téléchargement. */ function exportDonneesMessagerie($pdo,$types_donnees_a_exporter) { try { $nom_fichier_csv="Données_Courtail_".date('d-m-Y').".csv"; // Entêtes HTTP permettant le téléchargement à la volée du CSV header("Content-Disposition: attachment; filename=\"$nom_fichier_csv\""); header("Content-Type: text/csv"); foreach ($types_donnees_a_exporter as $cle_donnees_a_exporter => $type_donnee_a_exporter) { switch ($type_donnee_a_exporter) { case "alias_virtuels": $req = 'SELECT * FROM postfix_alias_virtuels'; $sql=$pdo->prepare($req); $sql->execute(); $liste_alias_virtuels = $sql->fetchAll(PDO::FETCH_ASSOC); echo "#~// Alias vituels\n"; foreach ($liste_alias_virtuels as $alias_virtuel => $champ_alias_virtuel) { echo implode(":", $champ_alias_virtuel)."\n"; } break; case "domaines": $req = 'SELECT * FROM postfix_domaines'; $sql=$pdo->prepare($req); $sql->execute(); $liste_domaines = $sql->fetchAll(PDO::FETCH_ASSOC); echo "#~// Domaines\n"; foreach ($liste_domaines as $domaine => $champ_domaine) { echo implode(":", $champ_domaine)."\n"; } break; case "liste_noire_destinataires": $req = 'SELECT * FROM postfix_liste_noire_destinataires'; $sql=$pdo->prepare($req); $sql->execute(); $liste_liste_noire_destinataires = $sql->fetchAll(PDO::FETCH_ASSOC); echo "#~// Liste noire destinataires\n"; foreach ($liste_liste_noire_destinataires as $liste_noire_destinataire => $champ_liste_noire_destinataire) { echo implode(":", $champ_liste_noire_destinataire)."\n"; } break; case "liste_noire_expediteurs": $req = 'SELECT * FROM postfix_liste_noire_expediteurs'; $sql=$pdo->prepare($req); $sql->execute(); $liste_liste_noire_expediteurs = $sql->fetchAll(PDO::FETCH_ASSOC); echo "#~// Liste noire expéditeur\n"; foreach ($liste_liste_noire_expediteurs as $liste_noire_expediteur => $champ_liste_noire_expediteur) { echo implode(":", $champ_liste_noire_expediteur)."\n"; } break; case "utilisateurs": $req = 'SELECT * FROM postfix_utilisateurs'; $sql=$pdo->prepare($req); $sql->execute(); $liste_utilisateurs = $sql->fetchAll(PDO::FETCH_ASSOC); echo "#~// Utilisateurs\n"; foreach ($liste_utilisateurs as $liste_utilisateur => $champ_utilisateur) { echo implode(":", $champ_utilisateur)."\n"; } break; } } // Le fait de tuer la page enclenche la demande de téléchargement à l'utilisateur qui ne quitte visuellement jamais la page des paramètres die(); } catch (\Exception $e) { die ("Erreur de requête d'export des données de la base en CSV : ".$e->getMessage()); } } ?>