You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Courtail/services/bdd/alias_virtuels.php

150 lines
6.2 KiB

<?php
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/bdd/connexion.php");
function listeAliasVirtuelsPostfix($pdo) {
try {
//$req = $pdo->query('SELECT * FROM postfix_alias_virtuels');
// Filtre des alias virtuels de l'utilisateur courant
/*$reqDomaineDefaut = $pdo->query('SELECT domaine FROM postfix_domaines WHERE defaut=1 LIMIT 1');
foreach ($reqDomaineDefaut as $cle => $domaineDefaut) {
$req = $pdo->query('SELECT * FROM postfix_alias_virtuels WHERE courriel='."\"$_SESSION[pseudo_utilisateur]".'@'."$domaineDefaut[domaine]\"");
}*/
$req = $pdo->query('SELECT * FROM postfix_alias_virtuels WHERE courriel='."\"$_SESSION[pseudo_utilisateur]".'@"'.'||(SELECT domaine FROM postfix_domaines WHERE defaut=1)');
$liste_alias_virtuels = array();
foreach ($req as $alias_virtuels_bdd => $alias_virtuels) {
array_push($liste_alias_virtuels,$alias_virtuels);
}
return $liste_alias_virtuels;
}
catch (\Exception $e) {
die ("Erreur de requête de selection des alias virtuels : ".$e->getMessage());
}
}
function ajoutAliasVirtuelsPostfix($pdo) {
try {
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/bdd/domaines.php");
//foreach ($_GET as $id_alias_virtuel => $etat_alias_virtuel) {
//echo "$id_alias_virtuel et $etat_alias_virtuel";
//echo 'UPDATE postfix_alias_virtuels SET active='."$etat_alias_virtuel".' WHERE id='."$id_alias_virtuel".' AND courriel='."\"$_SESSION[pseudo_utilisateur]".'@"'.'||(SELECT domaine FROM postfix_domaines WHERE defaut=1)';
//die();
echo "<pre>";
var_dump($_POST);
echo "</pre>";
//echo afficheDomaineDefautPostfix($pdo);
//die();
//$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='INSERT INTO postfix_alias_virtuels (courriel,destination,active) VALUES (:courriel,:alias_virtuel,1)';
$sql=$pdo->prepare($req);
//$sql->bindParam(':id',$_GET['supprAliasVirtuel'],':pseudo_utilisateur',$_SESSION['pseudo_utilisateur]',':@','@');
//Vérifier que l'utilisateur choisi dans la liste est un choix légitime.
$sql->bindValue(':courriel',$_SESSION['pseudo_utilisateur']."@".afficheDomaineDefautPostfix($pdo));
////$sql->bindValue(':courriel',"toto@toto.fr");
if (!empty($_POST['prefix_alias'])) {
$separateur_prefix_alias=".";
}
$sql->bindValue(':alias_virtuel',$_POST['prefix_alias'].$separateur_prefix_alias.$_POST['nom_alias']."@".$_POST['choix_domaine_alias']);
////$sql->bindValue(':alias_virtuel',"y.charbi@toto.fr");
//$sql->bindValue(':@','@');
$sql->execute();
if($sql->rowCount() == 1){
return true;
}
/*if($sql->execute()){
echo "Successfully deleted record ";
echo "<br><br>Number of rows deleted : ".$sql->rowCount();
}*/
else{
return false;
}
//}
//die();
/*/$liste_alias_virtuels = array();
foreach ($req as $alias_virtuels_bdd => $alias_virtuels) {
array_push($liste_alias_virtuels,$alias_virtuels);
}*/
}
catch (\Exception $e) {
die ("Erreur de requête d'ajout d'alias virtuel : ".$e->getMessage());
}
}
//Tester les injections SQL
function modifEtatAliasVirtuelsPostfix($pdo) {
try {
$compteModifs=0;
foreach ($_POST as $id_alias_virtuel => $etat_alias_virtuel) {
//echo "$id_alias_virtuel et $etat_alias_virtuel";
//echo 'UPDATE postfix_alias_virtuels SET active='."$etat_alias_virtuel".' WHERE id='."$id_alias_virtuel".' AND courriel='."\"$_SESSION[pseudo_utilisateur]".'@"'.'||(SELECT domaine FROM postfix_domaines WHERE defaut=1)';
//die();
//$req = $pdo->query('UPDATE postfix_alias_virtuels SET active='."$etat_alias_virtuel".' WHERE id='."$id_alias_virtuel".' AND courriel='."\"$_SESSION[pseudo_utilisateur]".'@"'.'||(SELECT domaine FROM postfix_domaines WHERE defaut=1)');
$req='UPDATE postfix_alias_virtuels SET active=:etat_alias_virtuel WHERE id=:id_alias_virtuel AND courriel=:pseudo_utilisateur||(SELECT domaine FROM postfix_domaines WHERE defaut=1)';
$sql=$pdo->prepare($req);
$sql->bindValue(':etat_alias_virtuel',$etat_alias_virtuel);
$sql->bindValue(':id_alias_virtuel',$id_alias_virtuel);
$sql->bindValue(':pseudo_utilisateur',$_SESSION['pseudo_utilisateur']."@");
$sql->execute();
/*return true;
die();
}
else{
return false;
}*/
}
//die();
/*/$liste_alias_virtuels = array();
foreach ($req as $alias_virtuels_bdd => $alias_virtuels) {
array_push($liste_alias_virtuels,$alias_virtuels);
}*/
}
catch (\Exception $e) {
die ("Erreur de requête de modification d'état pour les alias virtuels : ".$e->getMessage());
}
}
function supprAliasVirtuelsPostfix($pdo) {
try {
//foreach ($_GET as $id_alias_virtuel => $etat_alias_virtuel) {
//echo "$id_alias_virtuel et $etat_alias_virtuel";
//echo 'UPDATE postfix_alias_virtuels SET active='."$etat_alias_virtuel".' WHERE id='."$id_alias_virtuel".' AND courriel='."\"$_SESSION[pseudo_utilisateur]".'@"'.'||(SELECT domaine FROM postfix_domaines WHERE defaut=1)';
//die();
echo $_GET['supprAliasVirtuel'];
//$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 courriel=:pseudo_utilisateur||(SELECT domaine FROM postfix_domaines WHERE defaut=1)';
$sql=$pdo->prepare($req);
//$sql->bindParam(':id',$_GET['supprAliasVirtuel'],':pseudo_utilisateur',$_SESSION['pseudo_utilisateur]',':@','@');
$sql->bindValue(':id_alias_virtuel',$_GET['supprAliasVirtuel']);
$sql->bindValue(':pseudo_utilisateur',$_SESSION['pseudo_utilisateur']."@");
//$sql->bindValue(':@','@');
$sql->execute();
if($sql->rowCount() == 1){
return true;
}
/*if($sql->execute()){
echo "Successfully deleted record ";
echo "<br><br>Number of rows deleted : ".$sql->rowCount();
}*/
else{
return false;
}
//}
//die();
/*/$liste_alias_virtuels = array();
foreach ($req as $alias_virtuels_bdd => $alias_virtuels) {
array_push($liste_alias_virtuels,$alias_virtuels);
}*/
}
catch (\Exception $e) {
die ("Erreur de requête de modification d'état pour les alias virtuels : ".$e->getMessage());
}
}
?>