Travail sur la page de gestion des domaines + ajout d'une fonction permettant la création d'un domaine + ajout d'une fonction permettant l'activation/désactivation d'un domaine + ajout d'une fonction permettant la suppression d'un domaine + ajout d'une fonction permettant de changer le domaine par défaut + renommage de la page alias.php en alias_virtuels.php + changement de noms de variables et de classes pour lister les alias virtuels d'un utilisateur + changement de l'ordre des messages de retours utilisateurs
This commit is contained in:
@@ -37,10 +37,7 @@ function listeAliasVirtuelsPostfix($pdo) {
|
||||
$sql->bindValue(':destination',$_SESSION['pseudo_utilisateur']);
|
||||
$sql->execute();
|
||||
|
||||
$liste_alias_virtuels = array();
|
||||
foreach ($sql->fetchAll() as $alias_virtuels_bdd => $alias_virtuels) {
|
||||
array_push($liste_alias_virtuels,$alias_virtuels);
|
||||
}
|
||||
$liste_alias_virtuels = $sql->fetchAll();
|
||||
return $liste_alias_virtuels;
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
@@ -61,25 +58,25 @@ function ajoutAliasVirtuelsPostfix($pdo) {
|
||||
$sql->bindValue(':alias_virtuel',retournePrefixeUtilisateurPostfix($pdo).$_POST['nom_alias']."@".$_POST['choix_domaine_alias']);
|
||||
$sql->execute();
|
||||
|
||||
if($sql->rowCount() == 1){
|
||||
if ($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
|
||||
else{
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite.
|
||||
// Récupération du code de retour de la commande SQLite
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="23000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite signifiant que la contrainte "UNIQUE" du champ "courriel" de la table "postif_alias_virtuels" est violé. L'alias envoyé via le formulaire par l'utilisateur a déjà été renseigné
|
||||
// Code de retour envoyé par le pilote PDO SQLite signifiant que la contrainte "UNIQUE" du champ "courriel" de la table "postif_alias_virtuels" est violée. L'alias envoyé via le formulaire par l'utilisateur a déjà été renseigné dans la base
|
||||
header ("Location: /pages/gestion/administration.php?page=alias&erreur=3");
|
||||
die();
|
||||
}
|
||||
elseif ($code_retour[0]=="HY000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite lorsque la base est accessible en lecture seule à www-data
|
||||
// Code de retour envoyé par le pilote PDO SQLite lorsque la base de données n'est accessible qu'en lecture seule à www-data
|
||||
header ("Location: /pages/gestion/administration.php?page=alias&erreur=4");
|
||||
die();
|
||||
}
|
||||
@@ -92,8 +89,8 @@ function ajoutAliasVirtuelsPostfix($pdo) {
|
||||
|
||||
/**
|
||||
* Fonction d'activation/désactivation d'un alias virtuel.
|
||||
* Suite à une soumission du formulaire dédié, cette fonction va traiter l'ensemble des alias d'un utilisateur.
|
||||
* Elle occasionnera peut-être des baisses de performance si un très grand nombre d'alias existe pour un utilisateur donné (le traitement n'intervenant pas spécifiquement pour l'entrée modifiée).
|
||||
* Suite à une soumission du formulaire dédié, cette fonction va traiter l'ensemble des alias virtuels d'un utilisateur.
|
||||
* Elle occasionnera peut-être des baisses de performance si un très grand nombre d'alias virtuels existe pour un utilisateur donné (le traitement n'intervenant pas spécifiquement pour l'entrée modifiée).
|
||||
*/
|
||||
function modifEtatAliasVirtuelsPostfix($pdo) {
|
||||
try {
|
||||
@@ -109,7 +106,7 @@ function modifEtatAliasVirtuelsPostfix($pdo) {
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite.
|
||||
// Récupération du code de retour de la commande SQLite
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="HY000") {
|
||||
@@ -139,12 +136,12 @@ function supprAliasVirtuelsPostfix($pdo) {
|
||||
if($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite.
|
||||
// Récupération du code de retour de la commande SQLite
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="HY000") {
|
||||
|
||||
@@ -11,7 +11,8 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/connexion.php")
|
||||
*/
|
||||
function listeDomainesPostfix($pdo) {
|
||||
try {
|
||||
$req = 'SELECT domaine FROM postfix_domaines ORDER BY defaut DESC';
|
||||
$req = 'SELECT * FROM postfix_domaines ORDER BY defaut DESC';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
@@ -29,6 +30,7 @@ function listeDomainesPostfix($pdo) {
|
||||
function retourneDomaineDefautPostfix($pdo) {
|
||||
try {
|
||||
$req = 'SELECT domaine FROM postfix_domaines WHERE defaut=1 LIMIT 1';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
@@ -40,4 +42,149 @@ function retourneDomaineDefautPostfix($pdo) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction changeant le domaine par défaut.
|
||||
*/
|
||||
function changeDomaineDefautPostfix($pdo,$choix_domaine_defaut) {
|
||||
try {
|
||||
// suppression du status de domaine par défaut sur tous les domaines pour s'assurer de l'unicité de ce paramètre à la requête suivante
|
||||
$req = 'UPDATE postfix_domaines SET defaut=0';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
// Définition du domaine renseigné par l'utilisateur et activation de celui-ci (au cas-où il ne l'était pas)
|
||||
$req = 'UPDATE postfix_domaines SET defaut=1, active=1 WHERE domaine=:domaine';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':domaine',$choix_domaine_defaut);
|
||||
$sql->execute();
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite
|
||||
$code_retour=$sql->errorInfo();
|
||||
var_dump($code_retour);
|
||||
die();
|
||||
|
||||
if ($code_retour[0]=="HY000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite lorsque la base est accessible en lecture seule à www-data
|
||||
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=4");
|
||||
die();
|
||||
}
|
||||
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 de modification d'état pour les alias virtuels : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fonction d'ajout d'un alias virtuel.
|
||||
*/
|
||||
function ajoutDomainePostfix($pdo,$nom_domaine) {
|
||||
try {
|
||||
// Insertion du domaine entré par l'administrateur
|
||||
$req='INSERT INTO postfix_domaines (domaine,defaut,active) VALUES (:domaine,0,1)';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':domaine',$nom_domaine);
|
||||
$sql->execute();
|
||||
|
||||
if ($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite.
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="23000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite signifiant que la contrainte "UNIQUE" du champ "domaine" de la table "postfix_domaines" est violée. Le domaine envoyé via le formulaire par l'administrateur a déjà été renseigné dans la base
|
||||
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=3");
|
||||
die();
|
||||
}
|
||||
elseif ($code_retour[0]=="HY000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite lorsque la base de données n'est accessible qu'en lecture seule à www-data
|
||||
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=4");
|
||||
die();
|
||||
}
|
||||
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'ajout d'alias virtuel : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction d'activation/désactivation d'un domaine.
|
||||
* Suite à une soumission du formulaire dédié, cette fonction va traiter l'ensemble des domaines d'un utilisateur.
|
||||
* Elle occasionnera peut-être des baisses de performance si un très grand nombre de domaines existe pour un utilisateur donné (le traitement n'intervenant pas spécifiquement pour l'entrée modifiée).
|
||||
*/
|
||||
function modifEtatDomainesPostfix($pdo) {
|
||||
try {
|
||||
$compteModifs=0;
|
||||
foreach ($_POST as $id_domaine => $etat_domaine) {
|
||||
$req='UPDATE postfix_domaines SET active=:etat_domaine WHERE id=:id_domaine AND defaut!=1';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':etat_domaine',$etat_domaine);
|
||||
$sql->bindValue(':id_domaine',$id_domaine);
|
||||
$sql->execute();
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="HY000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite lorsque la base est accessible en lecture seule à www-data
|
||||
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=4");
|
||||
die();
|
||||
}
|
||||
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 de modification d'état pour les alias virtuels : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction de suppression d'un domaine.
|
||||
*/
|
||||
function supprDomainesPostfix($pdo) {
|
||||
try {
|
||||
$req='DELETE FROM postfix_domaines WHERE id=:id_domaine AND defaut!=1';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':id_domaine',$_GET['supprDomaine']);
|
||||
$sql->execute();
|
||||
|
||||
if($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
// Récupération du code de retour de la commande SQLite
|
||||
$code_retour=$sql->errorInfo();
|
||||
|
||||
if ($code_retour[0]=="HY000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite lorsque la base est accessible en lecture seule à www-data
|
||||
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=4");
|
||||
die();
|
||||
}
|
||||
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 de suppression d'un alias virtuel : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user