<?php

/**
 * Page de fonctions permettant la la sauvegarde et la restauration des données de la base de la messagerie.
 */

require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/connexion.php");
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");

/**
 * Fonction générant un fichier CSV avec le contenu des alias virtuels d'un utilisateur.
 * Ce fichier est créé à la volée et se popose à l'utilisateur pour téléchargement.
 */
function exportAliasVirtuelsUtilisateur($pdo,$utilisateur) {
	try {
		// Filtre des alias virtuels de l'utilisateur courant
		$req = 'SELECT * FROM postfix_alias_virtuels WHERE destination=:destination';
		$sql=$pdo->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());
	}
}

?>