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

pull/5/head
ycharbi 3 years ago
parent 7d7b47c69f
commit 4651df9c62

@ -3,11 +3,11 @@
display: none; display: none;
color: #e23026; color: #e23026;
} }
.input-checkbox-supprimer-alias:checked ~ .confirmation-suppression { .input-checkbox-supprimer-valeur:checked ~ .confirmation-suppression {
display: inline; display: inline;
} }
.input-label-supprimer-alias { .input-label-supprimer-valeur {
color: #ffffff; color: #ffffff;
background: #e23026; background: #e23026;
padding: 0.5rem 1rem; padding: 0.5rem 1rem;

@ -5,12 +5,12 @@
/* /*
* Fonction permettant de filtrer la liste des alias virtuels d'un utilisateur au file des caractères entrés dans le formulaire de création idoine. * Fonction permettant de filtrer la liste des alias virtuels d'un utilisateur au file des caractères entrés dans le formulaire de création idoine.
**/ **/
function filtreAliasVirtuels() { function filtreValeurs() {
// Déclaration des variables // Déclaration des variables
var input, filter, ul, li, a, i, txtValue; var input, filter, ul, li, a, i, txtValue;
input = document.getElementById('nom_alias'); input = document.getElementById('nom_pour_filtre');
filter = input.value.toUpperCase(); filter = input.value.toUpperCase();
ul = document.getElementById("liste_alias_virtuels"); ul = document.getElementById("liste_pour_filtre");
li = ul.getElementsByTagName('li'); li = ul.getElementsByTagName('li');
// Pour chaque "<li>", comparer le contenu (actualisé à chaque frappe) du "<input>" "nom_alias" avec le texte du "<p>" qu'il contient // Pour chaque "<li>", comparer le contenu (actualisé à chaque frappe) du "<input>" "nom_alias" avec le texte du "<p>" qu'il contient

@ -6,48 +6,67 @@
*/ */
session_start(); session_start();
require_once($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php"); require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges(); testPrivileges();
require_once($_SERVER["DOCUMENT_ROOT"]."/inclusions/entete.php"); require_once ($_SERVER["DOCUMENT_ROOT"]."/inclusions/entete.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/inclusions/barre_menu.php"); require_once ($_SERVER["DOCUMENT_ROOT"]."/inclusions/barre_menu.php");
/*echo "<pre>";
var_dump($_SESSION);
echo "</pre>";*/
/** /**
* Affichage d'une bannière d'état sur l'action précedemment effectuée. * Affichage d'une bannière d'état sur l'action précedemment effectuée.
*/ */
if (isset($_GET['erreur']) && !empty($_GET['erreur'])){ if (isset($_GET['erreur']) && !empty($_GET['erreur'])) {
switch ($_GET['erreur']) { switch ($_GET['erreur']) {
case 1: case 1:
echo "<p class=\"alias_virtuel_suppr_ko\">Erreur : aucun alias virtuel supprimé.</p>"; echo "<p class=\"message_suppr_ko\">Erreur : aucun alias virtuel supprimé.</p>";
break; break;
case 2: case 2:
echo "<p class=\"alias_virtuel_ajout_ko\">Erreur : aucun alias virtuel créé car une donnée est erronée ou manquante.</p>"; echo "<p class=\"message_ajout_ko\">Erreur : aucun alias virtuel créé car une donnée est erronée ou manquante.</p>";
break; break;
case 3: case 3:
echo "<p class=\"alias_virtuel_ajout_ko\">Erreur : L'alias virtuel est déjà existant.</p>"; echo "<p class=\"message_ajout_ko\">Erreur : L'alias virtuel est déjà existant.</p>";
break; break;
case 4: case 4:
echo "<p class=\"alias_virtuel_ajout_ko\">Erreur : La base SQLite n'est pas accessible en écriture. Il faut que la base et le répertoire <i>bdd</i> appartiennent à <i>www-data</i>.</p>"; echo "<p class=\"message_ajout_ko\">Erreur : Code d'erreur générique (HY000) signifiant probablement que la base SQLite n'est pas accessible en écriture. Il faut que la base et le répertoire <i>bdd</i> appartiennent à <i>www-data</i>.</p>";
break;
case 5:
echo "<p class=\"message_suppr_ko\">Erreur : aucun domaine supprimé.</p>";
break;
case 6:
echo "<p class=\"message_ajout_ko\">Erreur : aucun domaine créé car une donnée est erronée ou manquante.</p>";
break;
case 7:
echo "<p class=\"message_ajout_ko\">Erreur : Le domaine est déjà existant.</p>";
break;
case 8:
echo "<p class=\"message_ajout_ko\">Erreur : Le domaine par défaut n'a pas été modifié.</p>";
break; break;
} }
} }
elseif (isset($_GET['succes']) && !empty($_GET['succes'])){ elseif (isset($_GET['succes']) && !empty($_GET['succes'])) {
switch ($_GET['succes']) { switch ($_GET['succes']) {
case 1: case 1:
echo "<p class=\"alias_virtuel_suppr_ok\">Succès : alias virtuel supprimé avec succès.</p>"; echo "<p class=\"message_ajout_ok\">Succès : alias virtuel créé avec succès.</p>";
break; break;
case 2: case 2:
echo "<p class=\"alias_virtuel_modif_ok\">Succès : alias virtuel modifiés avec succès.</p>"; echo "<p class=\"message_modif_ok\">Succès : alias virtuel modifiés avec succès.</p>";
break; break;
case 3: case 3:
echo "<p class=\"alias_virtuel_ajout_ok\">Succès : alias virtuel créé avec succès.</p>"; echo "<p class=\"message_suppr_ok\">Succès : alias virtuel supprimé avec succès.</p>";
break; break;
case 4: case 4:
echo "<p class=\"alias_virtuel_ajout_ok\">Succès : utilisateur changé en ".$_SESSION['pseudo_utilisateur']." avec succès.</p>"; echo "<p class=\"message_ajout_ok\">Succès : utilisateur changé en ".$_SESSION['pseudo_utilisateur']." avec succès.</p>";
break;
case 5:
echo "<p class=\"message_ajout_ok\">Succès : domaine créé avec succès.</p>";
break;
case 6:
echo "<p class=\"message_modif_ok\">Succès : domaine modifiés avec succès.</p>";
break;
case 7:
echo "<p class=\"message_suppr_ok\">Succès : domaine supprimé avec succès.</p>";
break;
case 8:
echo "<p class=\"message_suppr_ok\">Succès : domaine défini par défaut avec succès.</p>";
break; break;
} }
} }
@ -58,7 +77,7 @@ elseif (isset($_GET['succes']) && !empty($_GET['succes'])){
if (isset($_GET['page']) && !empty($_GET['page'])) { if (isset($_GET['page']) && !empty($_GET['page'])) {
switch ($_GET['page']) { switch ($_GET['page']) {
case 'alias': case 'alias':
require_once($_SERVER["DOCUMENT_ROOT"]."/services/gestion/alias.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/services/gestion/alias_virtuels.php");
break; break;
case 'domaines': case 'domaines':
require_once($_SERVER["DOCUMENT_ROOT"]."/services/gestion/domaines.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/services/gestion/domaines.php");

@ -37,10 +37,7 @@ function listeAliasVirtuelsPostfix($pdo) {
$sql->bindValue(':destination',$_SESSION['pseudo_utilisateur']); $sql->bindValue(':destination',$_SESSION['pseudo_utilisateur']);
$sql->execute(); $sql->execute();
$liste_alias_virtuels = array(); $liste_alias_virtuels = $sql->fetchAll();
foreach ($sql->fetchAll() as $alias_virtuels_bdd => $alias_virtuels) {
array_push($liste_alias_virtuels,$alias_virtuels);
}
return $liste_alias_virtuels; return $liste_alias_virtuels;
} }
catch (\Exception $e) { catch (\Exception $e) {
@ -61,25 +58,25 @@ function ajoutAliasVirtuelsPostfix($pdo) {
$sql->bindValue(':alias_virtuel',retournePrefixeUtilisateurPostfix($pdo).$_POST['nom_alias']."@".$_POST['choix_domaine_alias']); $sql->bindValue(':alias_virtuel',retournePrefixeUtilisateurPostfix($pdo).$_POST['nom_alias']."@".$_POST['choix_domaine_alias']);
$sql->execute(); $sql->execute();
if($sql->rowCount() == 1){ if ($sql->rowCount() == 1){
return true; return true;
} }
else{ else {
return false; return false;
} }
} }
catch (\Exception $e) { 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(); $code_retour=$sql->errorInfo();
if ($code_retour[0]=="23000") { 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"); header ("Location: /pages/gestion/administration.php?page=alias&erreur=3");
die(); die();
} }
elseif ($code_retour[0]=="HY000") { 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"); header ("Location: /pages/gestion/administration.php?page=alias&erreur=4");
die(); die();
} }
@ -92,8 +89,8 @@ function ajoutAliasVirtuelsPostfix($pdo) {
/** /**
* Fonction d'activation/désactivation d'un alias virtuel. * 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. * 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 existe pour un utilisateur donné (le traitement n'intervenant pas spécifiquement pour l'entrée modifiée). * 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) { function modifEtatAliasVirtuelsPostfix($pdo) {
try { try {
@ -109,7 +106,7 @@ function modifEtatAliasVirtuelsPostfix($pdo) {
} }
} }
catch (\Exception $e) { 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(); $code_retour=$sql->errorInfo();
if ($code_retour[0]=="HY000") { if ($code_retour[0]=="HY000") {
@ -139,12 +136,12 @@ function supprAliasVirtuelsPostfix($pdo) {
if($sql->rowCount() == 1){ if($sql->rowCount() == 1){
return true; return true;
} }
else{ else {
return false; return false;
} }
} }
catch (\Exception $e) { 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(); $code_retour=$sql->errorInfo();
if ($code_retour[0]=="HY000") { if ($code_retour[0]=="HY000") {

@ -11,7 +11,8 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/connexion.php")
*/ */
function listeDomainesPostfix($pdo) { function listeDomainesPostfix($pdo) {
try { 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=$pdo->prepare($req);
$sql->execute(); $sql->execute();
@ -29,6 +30,7 @@ function listeDomainesPostfix($pdo) {
function retourneDomaineDefautPostfix($pdo) { function retourneDomaineDefautPostfix($pdo) {
try { try {
$req = 'SELECT domaine FROM postfix_domaines WHERE defaut=1 LIMIT 1'; $req = 'SELECT domaine FROM postfix_domaines WHERE defaut=1 LIMIT 1';
$sql=$pdo->prepare($req); $sql=$pdo->prepare($req);
$sql->execute(); $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());
}
}
}
?> ?>

@ -49,26 +49,30 @@ _HEREDOC_;
?> ?>
<div> <div>
<h1>Ajouter un alias virtuel</h1>
<form action="/services/traitements/alias_virtuels/ajoutAliasVirtuels.php" method="post"> <form action="/services/traitements/alias_virtuels/ajoutAliasVirtuels.php" method="post">
<h1>Ajouter un alias virtuel</h1>
<?php <?php
/**
* Ajout d'un alias virtuel.
*/
$prefixe_utilisateur=retournePrefixeUtilisateurPostfix($pdo); $prefixe_utilisateur=retournePrefixeUtilisateurPostfix($pdo);
if (!empty($prefixe_utilisateur)) { if (!empty($prefixe_utilisateur)) {
echo "<span>$prefixe_utilisateur</span>"; echo "<span>$prefixe_utilisateur</span>";
} }
?> ?>
<input type="text" id="nom_alias" name="nom_alias" placeholder="alias*" onkeyup="filtreAliasVirtuels();" required> <input type="text" id="nom_pour_filtre" name="nom_alias" placeholder="alias*" onkeyup="filtreValeurs();" required>
<span>@</span> <span>@</span>
<select name="choix_domaine_alias"> <select name="choix_domaine_alias">
<?php <?php
var_dump($liste_domaines);
try { try {
foreach ($liste_domaines as $domaine_bdd => $domaine) { foreach ($liste_domaines as $domaine_bdd => $domaine) {
echo "<option value=\"".$domaine['domaine']."\">".$domaine['domaine']."</option>\n"; echo "<option value=\"".$domaine['domaine']."\">".$domaine['domaine']."</option>\n";
} }
} }
catch (\Exception $e) { catch (\Exception $e) {
die ("Erreur de requête de selection utilisateurs pour \"$base\" : ".$e->getMessage()); die ("Erreur de requête de selection du domaine pour \"$base\" : ".$e->getMessage());
} }
?> ?>
@ -82,21 +86,20 @@ _HEREDOC_;
</form> </form>
<h1>Alias de <?php echo $_SESSION['pseudo_utilisateur']; ?></h1> <h1>Alias de <?php echo $_SESSION['pseudo_utilisateur']; ?></h1>
<form class="" action="/services/traitements/alias_virtuels/editEtatAliasVirtuels.php" method="post"> <form class="" action="/services/traitements/alias_virtuels/editEtatAliasVirtuels.php" method="post">
<ul id="liste_alias_virtuels"> <ul id="liste_pour_filtre">
<?php <?php
/** /**
* Ajout d'un alias virtuel. * Liste des alias virtuels.
*/ */
try { try {
foreach ($liste_alias_virtuels as $alias_virtuels_bdd => $alias_virtuels) { foreach ($liste_alias_virtuels as $alias_virtuels_cles => $alias_virtuels_valeurs) {
echo "<li><input type=\"radio\" name=\"".$alias_virtuels['id']."\" value=\"1\""; echo "<li><input type=\"radio\" name=\"".$alias_virtuels_valeurs['id']."\" value=\"1\"";
if (isset($alias_virtuels['active']) && !empty($alias_virtuels['active']) && $alias_virtuels['active']=="1") echo " checked"; if (isset($alias_virtuels_valeurs['active']) && !empty($alias_virtuels_valeurs['active']) && $alias_virtuels_valeurs['active']=="1") echo " checked";
echo "><input type=\"radio\" name=\"".$alias_virtuels['id']."\" value=\"0\""; echo "><input type=\"radio\" name=\"".$alias_virtuels_valeurs['id']."\" value=\"0\"";
if (isset($alias_virtuels['active']) && $alias_virtuels['active']=="0") echo " checked"; if (isset($alias_virtuels_valeurs['active']) && $alias_virtuels_valeurs['active']=="0") echo " checked";
echo "><p>".$alias_virtuels['courriel']."</p><label class=\"input-label-supprimer-alias\" for=\"supprimer-alias-".$alias_virtuels['id']."\">Supprimer</label><input type=\"checkbox\" class=\"input-checkbox-supprimer-alias visuellement-cache\" id=\"supprimer-alias-".$alias_virtuels['id']."\"><a class=\"confirmation-suppression\" href=\"/services/traitements/alias_virtuels/supprAliasVirtuels.php?supprAliasVirtuel=".$alias_virtuels['id']."\">Confirmer la suppression</a></li>\n"; echo "><p>".$alias_virtuels_valeurs['courriel']."</p><label class=\"input-label-supprimer-valeur\" for=\"supprimer-valeur-".$alias_virtuels_valeurs['id']."\">Supprimer</label><input type=\"checkbox\" class=\"input-checkbox-supprimer-valeur visuellement-cache\" id=\"supprimer-valeur-".$alias_virtuels_valeurs['id']."\"><a class=\"confirmation-suppression\" href=\"/services/traitements/alias_virtuels/supprAliasVirtuels.php?supprAliasVirtuel=".$alias_virtuels_valeurs['id']."\">Confirmer la suppression</a></li>\n";
} }
} }
catch (\Exception $e) { catch (\Exception $e) {

@ -4,18 +4,96 @@
* Page de gestion importé par la page d'administration centrale permettant la gestion des domaines. * Page de gestion importé par la page d'administration centrale permettant la gestion des domaines.
*/ */
require_once($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php"); require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
if (testPrivileges()!="administrateur") { if (testPrivileges()!="administrateur") {
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=2"); header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=2");
die(); die();
} }
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
$liste_domaines = listeDomainesPostfix($pdo);
?>
<!-- Affichage et changement du domaine par défaut -->
<div>
<h1>Domaine par défaut</h1>
<p>Changer le domaine par défaut (actuellement
<?php
$domaine_defaut = retourneDomaineDefautPostfix($pdo);
if (!empty($domaine_defaut)) {
echo "<b>$domaine_defaut</b>";
}
else {
echo "Attention : aucun domaine n'est défini par défaut. Ce paramètre permet de pré-selectionner le domaine utilisé par Postfix lors des créations d'alias virtuels";
}
?>
) :</p>
<form action="/services/traitements/domaines/changeDomaineDefaut.php" method="post">
<select name="choix_domaine_defaut">
<?php
echo "<h1>Page domaines.php</h1>"; // Génération de la liste des domaines existants
try {
foreach ($liste_domaines as $domaine_cles => $domaine_valeurs) {
echo "<option value=\"".$domaine_valeurs['domaine']."\">".$domaine_valeurs['domaine']."</option>\n";
}
}
catch (\Exception $e) {
die ("Erreur de requête de selection du domaine pour \"$base\" : ".$e->getMessage());
}
?>
<!-- Définition du domaine sélectionné comme étant par défaut -->
<input type="submit" value="Définir par défaut">
</form>
</div>
<div>
<h1>Ajouter un domaine</h1>
<form action="/services/traitements/domaines/ajoutDomaines.php" method="post">
<input type="text" id="nom_pour_filtre" name="nom_domaine" placeholder="domaine.tld*" onkeyup="filtreValeurs();" required>
<input type="submit" value="Ajouter">
</form>
<h1>Domaines du serveur de messagerie</h1>
require_once($_SERVER["DOCUMENT_ROOT"]."/inclusions/pied.php"); <form class="" action="/services/traitements/domaines/editEtatDomaines.php" method="post">
<ul id="liste_pour_filtre">
<?php
/**
* Liste des domaines.
*/
try {
foreach ($liste_domaines as $liste_domaines_cles => $liste_domaines_valeurs) {
echo "<li>";
if (isset($liste_domaines_valeurs['defaut']) && $liste_domaines_valeurs['defaut']!="1") {
echo "<input type=\"radio\" name=\"".$liste_domaines_valeurs['id']."\" value=\"1\"";
if (isset($liste_domaines_valeurs['active']) && !empty($liste_domaines_valeurs['active']) && $liste_domaines_valeurs['active']=="1") echo " checked";
echo "><input type=\"radio\" name=\"".$liste_domaines_valeurs['id']."\" value=\"0\"";
if (isset($liste_domaines_valeurs['active']) && $liste_domaines_valeurs['active']=="0") echo " checked";
echo ">";
}
echo "<p>".$liste_domaines_valeurs['domaine']."</p>";
if (isset($liste_domaines_valeurs['defaut']) && $liste_domaines_valeurs['defaut']!="1") {
echo "<label class=\"input-label-supprimer-valeur\" for=\"supprimer-valeur-".$liste_domaines_valeurs['id']."\">Supprimer</label><input type=\"checkbox\" class=\"input-checkbox-supprimer-valeur visuellement-cache\" id=\"supprimer-valeur-".$liste_domaines_valeurs['id']."\"><a class=\"confirmation-suppression\" href=\"/services/traitements/domaines/supprDomaines.php?supprDomaine=".$liste_domaines_valeurs['id']."\">Confirmer la suppression</a></li>\n";
}
else {
echo "<p>Domaine en lecture seule tant que définit par défaut</p>";
}
}
}
catch (\Exception $e) {
die ("Erreur de requête de selection utilisateurs pour \"$base\" : ".$e->getMessage());
}
?>
</ul>
<input type="submit" value="Appliquer">
</form>
?> <script src="/fichiers/js/filtre.js"></script>
</div>

@ -13,7 +13,7 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.
if (isset($_POST['nom_alias']) && isset($_POST['choix_domaine_alias']) && !empty($_POST['nom_alias']) && !empty($_POST['choix_domaine_alias'])) { if (isset($_POST['nom_alias']) && isset($_POST['choix_domaine_alias']) && !empty($_POST['nom_alias']) && !empty($_POST['choix_domaine_alias'])) {
ajoutAliasVirtuelsPostfix($pdo); ajoutAliasVirtuelsPostfix($pdo);
header ("Location: /pages/gestion/administration.php?page=alias&succes=3"); header ("Location: /pages/gestion/administration.php?page=alias&succes=1");
die(); die();
} }
else { else {

@ -9,8 +9,8 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges
testPrivileges(); testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.php"); require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.php");
if(supprAliasVirtuelsPostfix($pdo)) { if(isset($_GET['supprAliasVirtuel']) && !empty($_GET['supprAliasVirtuel']) && supprAliasVirtuelsPostfix($pdo)) {
header ("Location: /pages/gestion/administration.php?page=alias&succes=1"); header ("Location: /pages/gestion/administration.php?page=alias&succes=3");
} }
else { else {
header ("Location: /pages/gestion/administration.php?page=alias&erreur=1"); header ("Location: /pages/gestion/administration.php?page=alias&erreur=1");

@ -0,0 +1,24 @@
<?php
/**
* Page de traitement permettant l'ajout d'un domaine.
* C'est elle qui effectue les bons tests et appel la fonction adéquate.
* Elle est appelée par un formulaire de la page de gestion des domaines elle-même appelée par la page d'administration centrale.
*/
session_start();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
if (isset($_POST['nom_domaine']) && !empty($_POST['nom_domaine'])) {
ajoutDomainePostfix($pdo,$_POST['nom_domaine']);
header ("Location: /pages/gestion/administration.php?page=domaines&succes=5");
die();
}
else {
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=6");
die();
}
?>

@ -0,0 +1,32 @@
<?php
/**
* Page de traitement permettant le changement du domaine par défaut.
* Elle est appelée par un formulaire de la page de gestion des domaines elle-même appelée par la page d'administration centrale.
*/
session_start();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
$liste_domaines = listeDomainesPostfix($pdo);
if (isset($_POST['choix_domaine_defaut']) && !empty($_POST['choix_domaine_defaut'])) {
foreach ($liste_domaines as $domaine_cles => $domaine_valeurs){
// Vérification de l'existance du domaine renseigné par l'utilisateur
if ($_POST['choix_domaine_defaut'] == $domaine_valeurs['domaine']) {
changeDomaineDefautPostfix($pdo,$_POST['choix_domaine_defaut']);
header ("Location: /pages/gestion/administration.php?page=domaines&succes=8");
die();
}
}
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=8");
die();
}
else {
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=8");
die();
}
?>

@ -0,0 +1,15 @@
<?php
/**
* Page de traitement permettant l'activation et la désactivation d'un ou plusieurs domaines.
*/
session_start();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
modifEtatDomainesPostfix($pdo);
header ("Location: /pages/gestion/administration.php?page=domaines&succes=6");
?>

@ -0,0 +1,19 @@
<?php
/**
* Page de traitement permettant la suppression d'un alias virtuel.
*/
session_start();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
if(isset($_GET['supprDomaine']) && !empty($_GET['supprDomaine']) && supprDomainesPostfix($pdo)) {
header ("Location: /pages/gestion/administration.php?page=domaines&succes=7");
}
else {
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=5");
}
?>
Loading…
Cancel
Save