@ -7,15 +7,38 @@
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/bdd/connexion.php");
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/bdd/connexion.php");
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/sessions/privileges.php");
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/sessions/privileges.php");
/**
* Fonction listant le préfixe de l'utilisateur courant.
*/
function retournePrefixeUtilisateurPostfix($pdo) {
try {
$req = 'SELECT prefixe FROM postfix_utilisateurs WHERE utilisateur=:utilisateur';
$sql=$pdo->prepare($req);
$sql->bindValue(':utilisateur',$_SESSION['pseudo_utilisateur']);
$sql->execute();
$prefixe_utilisateur=$sql->fetchAll();
return $prefixe_utilisateur[0]['prefixe'];
}
catch (\Exception $e) {
die ("Erreur de requête de selection des alias virtuels : ".$e->getMessage());
}
}
/**
/**
* Fonction listant les alias virtuels.
* Fonction listant les alias virtuels.
*/
*/
function listeAliasVirtuelsPostfix($pdo) {
function listeAliasVirtuelsPostfix($pdo) {
try {
try {
// Filtre des alias virtuels de l'utilisateur courant
// Filtre des alias virtuels de l'utilisateur courant
$req = $pdo->query('SELECT * FROM postfix_alias_virtuels WHERE destination='."\"$_SESSION[pseudo_utilisateur]\"");
$req = 'SELECT * FROM postfix_alias_virtuels WHERE destination=:destination';
$sql=$pdo->prepare($req);
$sql->bindValue(':destination',$_SESSION['pseudo_utilisateur']);
$sql->execute();
$liste_alias_virtuels = array();
$liste_alias_virtuels = array();
foreach ($req as $alias_virtuels_bdd => $alias_virtuels) {
foreach ($sql->fetchAll() as $alias_virtuels_bdd => $alias_virtuels) {
array_push($liste_alias_virtuels,$alias_virtuels);
array_push($liste_alias_virtuels,$alias_virtuels);
}
}
return $liste_alias_virtuels;
return $liste_alias_virtuels;
@ -35,17 +58,7 @@ function ajoutAliasVirtuelsPostfix($pdo) {
$sql=$pdo->prepare($req);
$sql=$pdo->prepare($req);
$sql->bindValue(':courriel',$_SESSION['pseudo_utilisateur']);
$sql->bindValue(':courriel',$_SESSION['pseudo_utilisateur']);
$sql->bindValue(':alias_virtuel',retournePrefixeUtilisateurPostfix($pdo).$_POST['nom_alias']."@".$_POST['choix_domaine_alias']);
// Si l'utilisateur spécifie un préfixe à son alias, un "." est ajouté pour lé séparé du reste afin d'avoir "préfixe.alias@NdD"
if (!empty($_POST['prefix_alias'])) {
$separateur_prefix_alias=".";
}
// Permet de ne pas renvoyer le message "Notice: Undefined variable: separateur_prefix_alias" lors de lexécution du "bindValue" suivant
else {
$separateur_prefix_alias="";
}
$sql->bindValue(':alias_virtuel',$_POST['prefix_alias'].$separateur_prefix_alias.$_POST['nom_alias']."@".$_POST['choix_domaine_alias']);
$sql->execute();
$sql->execute();
if($sql->rowCount() == 1){
if($sql->rowCount() == 1){
@ -116,15 +129,13 @@ function modifEtatAliasVirtuelsPostfix($pdo) {
*/
*/
function supprAliasVirtuelsPostfix($pdo) {
function supprAliasVirtuelsPostfix($pdo) {
try {
try {
//$req = $pdo->query('DELETE FROM postfix_alias_virtuels WHERE id='."$_GET[supprAliasVirtuel]".' AND courriel='."\"$_SESSION[pseudo_utilisateur]".'@"'.'||(SELECT domaine FROM postfix_domaines WHERE defaut=1)');
$req='DELETE FROM postfix_alias_virtuels WHERE id=:id_alias_virtuel AND destination=:pseudo_utilisateur';
$req='DELETE FROM postfix_alias_virtuels WHERE id=:id_alias_virtuel AND destination=:pseudo_utilisateur';
//$req='DELETE FROM postfix_alias_virtuels WHERE id=:id_alias_virtuel AND courriel=:pseudo_utilisateur||(SELECT domaine FROM postfix_domaines WHERE defaut=1)';
$sql=$pdo->prepare($req);
$sql=$pdo->prepare($req);
//$sql->bindParam(':id',$_GET['supprAliasVirtuel'],':pseudo_utilisateur',$_SESSION['pseudo_utilisateur]',':@','@');
$sql->bindValue(':id_alias_virtuel',$_GET['supprAliasVirtuel']);
$sql->bindValue(':id_alias_virtuel',$_GET['supprAliasVirtuel']);
//$sql->bindValue(':pseudo_utilisateur',$_SESSION['pseudo_utilisateur']."@");
$sql->bindValue(':pseudo_utilisateur',$_SESSION['pseudo_utilisateur']);
$sql->bindValue(':pseudo_utilisateur',$_SESSION['pseudo_utilisateur']);
$sql->execute();
$sql->execute();
if($sql->rowCount() == 1){
if($sql->rowCount() == 1){
return true;
return true;
}
}