Merge pull request 'Ajout code pour affichage du bouton si formulaire modifié' (#7) from nmorin into develop
Reviewed-on: #7
This commit was merged in pull request #7.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
body {
|
||||
background-color: #eee;
|
||||
background-color: #f8f9fa;
|
||||
margin-bottom: 100px;
|
||||
}
|
||||
|
||||
@@ -45,6 +45,20 @@ body {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border: 2px solid #0d6efd;
|
||||
animation-name: zoom;
|
||||
animation-duration: .2s;
|
||||
}
|
||||
|
||||
@keyframes zoom {
|
||||
0% {
|
||||
transform: scale(0, 0);
|
||||
}
|
||||
100% {
|
||||
transform: scale(1, 1);
|
||||
}
|
||||
}
|
||||
.bouton-flotant.deactivation{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.contour-pastille {
|
||||
@@ -74,3 +88,16 @@ body {
|
||||
.interieur-pastille-bleu {
|
||||
background-color: #cfe2ff;
|
||||
}
|
||||
|
||||
.chevron-dst {
|
||||
height: 1em;
|
||||
padding-bottom: 0.1em;
|
||||
}
|
||||
|
||||
.fond-arc-noire{
|
||||
background-color: #343a40;
|
||||
}
|
||||
|
||||
.max-hauteur-pastille{
|
||||
height: calc(100% - 1.5em);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
const listedesentree = [];
|
||||
|
||||
function activationBoutonFlotant(lui) {
|
||||
if (listedesentree.find(function(valeur) {return valeur == lui.name;})) {
|
||||
for( var i = 0; i < listedesentree.length; i++){
|
||||
if ( listedesentree[i] === lui.name) {
|
||||
listedesentree.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
listedesentree.push(lui.name);
|
||||
};
|
||||
console.log(listedesentree);
|
||||
if (listedesentree.length > 0){
|
||||
document.getElementById("enregistement").classList.remove("deactivation");
|
||||
}else{
|
||||
document.getElementById("enregistement").classList.add("deactivation");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"><polyline points="9 18 15 12 9 6"></polyline></svg>
|
||||
|
After Width: | Height: | Size: 270 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg>
|
||||
|
After Width: | Height: | Size: 357 B |
@@ -6,7 +6,7 @@
|
||||
if (isset($_GET['page']) && !empty($_GET['page'])) {
|
||||
?>
|
||||
|
||||
<nav class="navbar navbar-expand-lg navbar-dark" style="background-color: #343a40;">
|
||||
<nav class="navbar navbar-expand-lg navbar-dark fond-arc-noire">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/pages/gestion/administration.php?page=accueil">Courtail</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<script src="/fichiers/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="/fichiers/js/formulaire.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -28,7 +28,5 @@ INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active
|
||||
INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES ("roland@tata.fr",554,"Parle à ma main, ma tête est malade.",1);
|
||||
|
||||
-- Listes utilisateurs
|
||||
INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,rep_perso,uid,gid,privilege,active) VALUES ("toto@exemple.fr","{SHA512-CRYPT}$6$xWfisyC6fLawFcBr$zLm4hfRfs6Pn0RKArnyWcgliBy6lpnRUkDHfHMkvskShfLiv4pRIU6XC5ry0ysd.DeKhoAiZUfnNdmwIai2k50","Toto
|
||||
Dupont","exemple.fr/toto/",3000,3000,"administrateur",1);
|
||||
INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,rep_perso,uid,gid,privilege,prefixe,active) VALUES ("tata@exemple.fr","{SHA512-CRYPT}$6$xWfisyC6fLawFcBr$zLm4hfRfs6Pn0RKArnyWcgliBy6lpnRUkDHfHMkvskShfLiv4pRIU6XC5ry0ysd.DeKhoAiZUfnNdmwIai2k50","Toto
|
||||
Dupont","exemple.fr/tata/",3000,3000,"utilisateur","ta.",1)
|
||||
INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,rep_perso,uid,gid,privilege,active) VALUES ("toto@exemple.fr","{SHA512-CRYPT}$6$xWfisyC6fLawFcBr$zLm4hfRfs6Pn0RKArnyWcgliBy6lpnRUkDHfHMkvskShfLiv4pRIU6XC5ry0ysd.DeKhoAiZUfnNdmwIai2k50","Toto Dupont","exemple.fr/toto/",3000,3000,"administrateur",1);
|
||||
INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,rep_perso,uid,gid,privilege,prefixe,active) VALUES ("tata@exemple.fr","{SHA512-CRYPT}$6$xWfisyC6fLawFcBr$zLm4hfRfs6Pn0RKArnyWcgliBy6lpnRUkDHfHMkvskShfLiv4pRIU6XC5ry0ysd.DeKhoAiZUfnNdmwIai2k50","Tata Dupuis","exemple.fr/tata/",3000,3000,"utilisateur","ta.",1);
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
* Impose une authentification du visiteur pour continuer.
|
||||
* Redirige les tentative d'identification pour traitement et test de légitimité.
|
||||
*/
|
||||
session_start();
|
||||
if (isset($_SESSION['id_utilisateur']) && isset($_SESSION['pseudo_utilisateur']) && isset($_SESSION['nom_utilisateur']) && isset($_SESSION['privilege_utilisateur']) && !empty($_SESSION['id_utilisateur']) && !empty($_SESSION['pseudo_utilisateur']) && !empty($_SESSION['nom_utilisateur']) && !empty($_SESSION['privilege_utilisateur'])) {
|
||||
header ("location: /pages/gestion/administration.php?page=accueil");
|
||||
die();
|
||||
}
|
||||
|
||||
require_once($_SERVER["DOCUMENT_ROOT"]."/inclusions/entete.php");
|
||||
require_once($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/messages/messages.php");
|
||||
@@ -48,7 +53,7 @@ require_once($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/messages/messages.ph
|
||||
|
||||
<script>
|
||||
const body = document.querySelector('body');
|
||||
body.style.backgroundColor = '#343a40';
|
||||
body.classList.add("fond-arc-noire");
|
||||
</script>
|
||||
|
||||
<?php
|
||||
|
||||
@@ -8,26 +8,7 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/connexion.php")
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/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 d'un utilisateur.
|
||||
*/
|
||||
function listeAliasVirtuelsPostfix($pdo) {
|
||||
try {
|
||||
@@ -37,7 +18,24 @@ function listeAliasVirtuelsPostfix($pdo) {
|
||||
$sql->bindValue(':destination',$_SESSION['pseudo_utilisateur']);
|
||||
$sql->execute();
|
||||
|
||||
$liste_alias_virtuels = $sql->fetchAll();
|
||||
$liste_alias_virtuels = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
return $liste_alias_virtuels;
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de selection des alias virtuels : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction listant tous les alias virtuels de la base.
|
||||
*/
|
||||
function listeTousAliasVirtuelsPostfix($pdo) {
|
||||
try {
|
||||
$req = 'SELECT * FROM postfix_alias_virtuels';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
$liste_alias_virtuels = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
return $liste_alias_virtuels;
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
@@ -55,7 +53,7 @@ function ajoutAliasVirtuelsPostfix($pdo,$nom_alias_virtuel,$choix_domaine_alias_
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':courriel',$_SESSION['pseudo_utilisateur']);
|
||||
$sql->bindValue(':alias_virtuel',substr(htmlspecialchars(retournePrefixeUtilisateurPostfix($pdo).$nom_alias_virtuel."@".$choix_domaine_alias_virtuel),0,100));
|
||||
$sql->bindValue(':alias_virtuel',substr(htmlspecialchars(retournePrefixeUtilisateurPostfix($pdo,$_SESSION['pseudo_utilisateur']).$nom_alias_virtuel."@".$choix_domaine_alias_virtuel),0,100));
|
||||
$sql->execute();
|
||||
|
||||
if ($sql->rowCount() == 1){
|
||||
|
||||
@@ -16,7 +16,7 @@ function listeDomainesPostfix($pdo) {
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
$liste_domaines = $sql->fetchAll();
|
||||
$liste_domaines = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
return $liste_domaines;
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
@@ -72,8 +72,6 @@ function changeDomaineDefautPostfix($pdo,$choix_domaine_defaut) {
|
||||
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
|
||||
|
||||
@@ -0,0 +1,323 @@
|
||||
<?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());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction générant un fichier CSV avec le contenu de la base Sqlite demandé par un administrateur.
|
||||
* Ce fichier est créé à la volée et se popose à l'administrateur pour téléchargement.
|
||||
*/
|
||||
function exportDonneesMessagerie($pdo,$types_donnees_a_exporter) {
|
||||
try {
|
||||
$nom_fichier_csv="Données_Courtail_".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 ($types_donnees_a_exporter as $cle_donnees_a_exporter => $type_donnee_a_exporter) {
|
||||
switch ($type_donnee_a_exporter) {
|
||||
case "alias_virtuels":
|
||||
$req = 'SELECT * FROM postfix_alias_virtuels';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
$liste_alias_virtuels = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
echo "#~// Alias_vituels\n";
|
||||
foreach ($liste_alias_virtuels as $alias_virtuel => $champ_alias_virtuel) {
|
||||
echo implode(":", $champ_alias_virtuel)."\n";
|
||||
}
|
||||
break;
|
||||
case "domaines":
|
||||
$req = 'SELECT * FROM postfix_domaines';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
$liste_domaines = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
echo "#~// Domaines\n";
|
||||
foreach ($liste_domaines as $domaine => $champ_domaine) {
|
||||
echo implode(":", $champ_domaine)."\n";
|
||||
}
|
||||
break;
|
||||
case "liste_noire_destinataires":
|
||||
$req = 'SELECT * FROM postfix_liste_noire_destinataires';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
$liste_liste_noire_destinataires = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
echo "#~// Liste_noire_destinataires\n";
|
||||
foreach ($liste_liste_noire_destinataires as $liste_noire_destinataire => $champ_liste_noire_destinataire) {
|
||||
echo implode(":", $champ_liste_noire_destinataire)."\n";
|
||||
}
|
||||
break;
|
||||
case "liste_noire_expediteurs":
|
||||
$req = 'SELECT * FROM postfix_liste_noire_expediteurs';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
$liste_liste_noire_expediteurs = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
echo "#~// Liste_noire_expéditeur\n";
|
||||
foreach ($liste_liste_noire_expediteurs as $liste_noire_expediteur => $champ_liste_noire_expediteur) {
|
||||
echo implode(":", $champ_liste_noire_expediteur)."\n";
|
||||
}
|
||||
break;
|
||||
case "utilisateurs":
|
||||
$req = 'SELECT * FROM postfix_utilisateurs';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
$liste_utilisateurs = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
echo "#~// Utilisateurs\n";
|
||||
foreach ($liste_utilisateurs as $liste_utilisateur => $champ_utilisateur) {
|
||||
echo implode(":", $champ_utilisateur)."\n";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 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 données de la base en CSV : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction important un fichier d'export d'alias virtuels utilisateur en CSV vers la base de données.
|
||||
*/
|
||||
function importAliasVirtuelsUtilisateur($pdo,$alias_virtuel,$utilisateur,$active) {
|
||||
try {
|
||||
// Insertion de l'alias virtuels parcouru dans le fichier CSV soumis pas l'utilisateur
|
||||
// Les contrôles de données ont étés effectués dans la page de traitement
|
||||
$req = 'INSERT INTO postfix_alias_virtuels (courriel,destination,active) VALUES (:alias_virtuel,:destination,:active)';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':alias_virtuel',htmlspecialchars($alias_virtuel));
|
||||
$sql->bindValue(':destination',htmlspecialchars($utilisateur));
|
||||
$sql->bindValue(':active',$active);
|
||||
$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 "courriel" de la table "postif_alias_virtuels" est violée. Dans la mesure ou un contrôle d'unicité est effectué par la page de traitement, cette erreur signifie qu'un bogue est présent dans celui-ci
|
||||
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 de données n'est accessible qu'en lecture seule à www-data
|
||||
header ("Location: /pages/gestion/administration.php?page=alias&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'import des alias virtuels utilisateur en CSV : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction important les données sauvegardées dans un fichier CSV par un administrateur avec la fonction exportDonneesMessagerie().
|
||||
*/
|
||||
function importDonneesMessagerie($pdo,$type_donnees_csv,$donnees_csv) {
|
||||
try {
|
||||
switch ($type_donnees_csv) {
|
||||
case "alias_virtuels":
|
||||
$req = 'INSERT INTO postfix_alias_virtuels (courriel,destination,active) VALUES (:alias_virtuel,:destination,:active)';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':alias_virtuel',htmlspecialchars($donnees_csv[1]));
|
||||
$sql->bindValue(':destination',htmlspecialchars($donnees_csv[2]));
|
||||
$sql->bindValue(':active',$donnees_csv[3]);
|
||||
$sql->execute();
|
||||
|
||||
if ($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case "domaines":
|
||||
$req = 'INSERT INTO postfix_domaines (domaine,defaut,active) VALUES (:domaine,:defaut,:active)';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':domaine',htmlspecialchars($donnees_csv[1]));
|
||||
$sql->bindValue(':defaut',htmlspecialchars($donnees_csv[2]));
|
||||
$sql->bindValue(':active',$donnees_csv[3]);
|
||||
$sql->execute();
|
||||
|
||||
if ($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case "liste_noire_destinataires":
|
||||
$req = 'INSERT INTO postfix_liste_noire_destinataires (courriel,action,active) VALUES (:courriel,:action,:active)';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':courriel',htmlspecialchars($donnees_csv[1]));
|
||||
$sql->bindValue(':action',htmlspecialchars($donnees_csv[2]));
|
||||
$sql->bindValue(':active',$donnees_csv[3]);
|
||||
$sql->execute();
|
||||
|
||||
if ($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case "liste_noire_expediteurs":
|
||||
$req = 'INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES (:courriel,:code_retour,:message,:active)';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':courriel',htmlspecialchars($donnees_csv[1]));
|
||||
$sql->bindValue(':code_retour',htmlspecialchars($donnees_csv[2]));
|
||||
$sql->bindValue(':message',htmlspecialchars($donnees_csv[3]));
|
||||
$sql->bindValue(':active',$donnees_csv[4]);
|
||||
$sql->execute();
|
||||
|
||||
if ($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case "utilisateurs":
|
||||
$req = 'INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,rep_perso,uid,gid,privilege,prefixe,active) VALUES (:utilisateur,:mot_de_passe,:nom_complet,:rep_perso,:uid,:gid,:privilege,:prefixe,:active)';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':utilisateur',htmlspecialchars($donnees_csv[1]));
|
||||
$sql->bindValue(':mot_de_passe',htmlspecialchars($donnees_csv[2]));
|
||||
$sql->bindValue(':nom_complet',htmlspecialchars($donnees_csv[3]));
|
||||
$sql->bindValue(':rep_perso',$donnees_csv[4]);
|
||||
$sql->bindValue(':uid',$donnees_csv[5]);
|
||||
$sql->bindValue(':gid',$donnees_csv[6]);
|
||||
$sql->bindValue(':privilege',$donnees_csv[7]);
|
||||
$sql->bindValue(':prefixe',$donnees_csv[8]);
|
||||
$sql->bindValue(':active',$donnees_csv[9]);
|
||||
$sql->execute();
|
||||
|
||||
if ($sql->rowCount() == 1){
|
||||
return true;
|
||||
}
|
||||
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête d'import des données de la base en CSV : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction de purge des tables permettant une importation fidèle des données contenues dans un ficher d'export CSV généré par la fonction exportDonneesMessagerie().
|
||||
*/
|
||||
function purgeTable($pdo,$table) {
|
||||
try {
|
||||
switch ($table) {
|
||||
case "postfix_alias_virtuels":
|
||||
$sql = $pdo->prepare('DELETE FROM postfix_alias_virtuels');
|
||||
$sql->execute();
|
||||
$sql = $pdo->prepare('UPDATE sqlite_sequence SET seq = 0 WHERE name = "postfix_alias_virtuels"');
|
||||
$sql->execute();
|
||||
$sql = $pdo->prepare('VACUUM');
|
||||
$sql->execute();
|
||||
break;
|
||||
case "postfix_domaines":
|
||||
$sql = $pdo->prepare('DELETE FROM postfix_domaines');
|
||||
$sql->execute();
|
||||
$sql = $pdo->prepare('UPDATE sqlite_sequence SET seq = 0 WHERE name = "postfix_domaines"');
|
||||
$sql->execute();
|
||||
$sql = $pdo->prepare('VACUUM');
|
||||
$sql->execute();
|
||||
break;
|
||||
case "postfix_liste_noire_destinataires":
|
||||
$sql = $pdo->prepare('DELETE FROM postfix_liste_noire_destinataires');
|
||||
$sql->execute();
|
||||
$sql = $pdo->prepare('UPDATE sqlite_sequence SET seq = 0 WHERE name = "postfix_liste_noire_destinataires"');
|
||||
$sql->execute();
|
||||
$sql = $pdo->prepare('VACUUM');
|
||||
$sql->execute();
|
||||
break;
|
||||
case "postfix_liste_noire_expediteurs":
|
||||
$sql = $pdo->prepare('DELETE FROM postfix_liste_noire_expediteurs');
|
||||
$sql->execute();
|
||||
$sql = $pdo->prepare('UPDATE sqlite_sequence SET seq = 0 WHERE name = "postfix_liste_noire_expediteurs"');
|
||||
$sql->execute();
|
||||
$sql = $pdo->prepare('VACUUM');
|
||||
$sql->execute();
|
||||
break;
|
||||
case "postfix_utilisateurs":
|
||||
$sql = $pdo->prepare('DELETE FROM postfix_utilisateurs');
|
||||
$sql->execute();
|
||||
$sql = $pdo->prepare('UPDATE sqlite_sequence SET seq = 0 WHERE name = "postfix_utilisateurs"');
|
||||
$sql->execute();
|
||||
$sql = $pdo->prepare('VACUUM');
|
||||
$sql->execute();
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de purge d'une table : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -17,7 +17,7 @@ function listeEntreeListeNoireDstPostfix($pdo) {
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
$liste_entree_liste_noire_dst = $sql->fetchAll();
|
||||
$liste_entree_liste_noire_dst = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
return $liste_entree_liste_noire_dst;
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
@@ -35,11 +35,11 @@ function listeEntreeListeNoireExpPostfix($pdo) {
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
$liste_entree_liste_noire_exp = $sql->fetchAll();
|
||||
$liste_entree_liste_noire_exp = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
return $liste_entree_liste_noire_exp;
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de selection des entrées de liste noire expéditeurs pour \"$base\" : ".$e->getMessage());
|
||||
die ("Erreur de requête de selection des entrées de liste noire expéditeurs : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,12 +15,151 @@ function listeUtilisateursPostfix($pdo) {
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->execute();
|
||||
|
||||
$liste_utilisateurs = $sql->fetchAll();
|
||||
$liste_utilisateurs = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
return $liste_utilisateurs;
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de selection des utilisateurs pour \"$base\" : ".$e->getMessage());
|
||||
die ("Erreur de requête de selection des utilisateurs : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction vérifiant le mot de passe actuel d'un utilisateur.
|
||||
*/
|
||||
function verificationMotDePasseUtilisateurPostfix($pdo,$identifiant,$mdp) {
|
||||
try {
|
||||
$req = 'SELECT mot_de_passe FROM postfix_utilisateurs WHERE utilisateur=:identifiant';
|
||||
|
||||
$sql = $pdo->prepare($req);
|
||||
$sql->bindValue(':identifiant', $identifiant);
|
||||
$sql->execute();
|
||||
|
||||
$result = $sql ->fetchAll(PDO::FETCH_ASSOC);
|
||||
$comptage = count($result);
|
||||
|
||||
}
|
||||
catch(PDOException $e) {
|
||||
die ("Erreur lors du traitement de la requête de vérification du mot de passe utilisateur : " . $e->getMessage());
|
||||
}
|
||||
|
||||
if ($comptage == 1) {
|
||||
|
||||
$mot_de_passe_base=explode('$', $result['0']['mot_de_passe']);
|
||||
$mot_de_passe_form=crypt(trim("$mdp"), "$".$mot_de_passe_base[1]."$".$mot_de_passe_base[2]."$");
|
||||
|
||||
if ("$".$mot_de_passe_base[1]."$".$mot_de_passe_base[2]."$".$mot_de_passe_base[3]==$mot_de_passe_form) {
|
||||
// Si le mot de passe renseigné n'est le bon, le visiteur est redirigé vers la page d'accueil avec un message explicatif
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction changeant le mot de passe d'un utilisateur.
|
||||
*/
|
||||
function changeMotDePasseUtilisateurPostfix($pdo,$utilisateur,$nouveau_mdp,$confirmation_mdp) {
|
||||
if ($nouveau_mdp===$confirmation_mdp) {
|
||||
$caracters = '.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
||||
$chaine_aleatoire = '';
|
||||
|
||||
// Génération d'un sel à 16 caractères
|
||||
for ($i = 0; $i < 16; $i++) {
|
||||
$index = rand(0, strlen($caracters) - 1);
|
||||
$chaine_aleatoire .= $caracters[$index];
|
||||
}
|
||||
|
||||
// Construction d'un mot de passe haché compatible avec Dovecot
|
||||
$mot_de_passe_hachis='{SHA512-CRYPT}'.crypt(trim($nouveau_mdp),'$6$'.$chaine_aleatoire);
|
||||
|
||||
try {
|
||||
$req = 'UPDATE postfix_utilisateurs SET mot_de_passe=:nouveau_mdp WHERE utilisateur=:utilisateur';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':utilisateur', $utilisateur);
|
||||
$sql->bindValue(':nouveau_mdp', $mot_de_passe_hachis);
|
||||
$sql->execute();
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de changement de mot de passe utilisateur : ".$e->getMessage());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction listant le préfixe de l'utilisateur courant.
|
||||
*/
|
||||
function retournePrefixeUtilisateurPostfix($pdo,$utilisateur) {
|
||||
try {
|
||||
$req = 'SELECT prefixe FROM postfix_utilisateurs WHERE utilisateur=:utilisateur';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':utilisateur', $utilisateur);
|
||||
$sql->execute();
|
||||
|
||||
$prefixe_utilisateurs = $sql->fetchAll();
|
||||
|
||||
if (isset($prefixe_utilisateurs[0]['prefixe'])) {
|
||||
return $prefixe_utilisateurs[0]['prefixe'];
|
||||
}
|
||||
else {
|
||||
$prefixe_utilisateurs[0]['prefixe']="";
|
||||
return $prefixe_utilisateurs[0]['prefixe'];
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de changement de préfixe utilisateur : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction changeant le préfixe d'un utilisateur.
|
||||
*/
|
||||
function changePrefixeUtilisateurPostfix($pdo,$utilisateur,$nouveau_prefixe) {
|
||||
try {
|
||||
$req = 'UPDATE postfix_utilisateurs SET prefixe=:nouveau_prefixe WHERE utilisateur=:utilisateur';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':utilisateur', $utilisateur);
|
||||
$sql->bindValue(':nouveau_prefixe', $nouveau_prefixe);
|
||||
$sql->execute();
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de changement de préfixe utilisateur : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction vérifiant que l'utilisateur connecté au site existe toujours dans la base de données.
|
||||
*/
|
||||
function verifUtilisateursExiste($pdo,$utilisateur) {
|
||||
try {
|
||||
$req = 'SELECT utilisateur FROM postfix_utilisateurs WHERE utilisateur=:utilisateur';
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':utilisateur', $utilisateur);
|
||||
$sql->execute();
|
||||
|
||||
$liste_utilisateurs = $sql->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
if (count($liste_utilisateurs) === 1) {
|
||||
return TRUE;
|
||||
}
|
||||
else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de vérification d'existence de l'utilisateur connecté : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
@@ -31,7 +31,11 @@ function retourneMessage($type_message,$num_message) {
|
||||
12 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'entrée de liste noire expéditeurs a été créée avec succès.</div>",
|
||||
13 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'état de l'entrée de liste noire expéditeurs a été modifié avec succès.</div>",
|
||||
14 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> L'entrée de liste noire expéditeurs a été supprimée avec succès.</div>",
|
||||
15 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Vous avez bien été déconnecté.</div>"),
|
||||
15 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Vous avez bien été déconnecté.</div>",
|
||||
16 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Le mot de passe de $pseudo_utilisateur a bien été changé.</div>",
|
||||
17 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Le préfixe de $pseudo_utilisateur a bien été changé.</div>",
|
||||
18 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Vos données ont bien étés importés. Les doublons ainsi que les données erronées ont étés ignorés.</div>",
|
||||
19 => "<div class=\"alert alert-success\" role=\"alert\"><img src=\"/fichiers/svg/check-circle.svg\"/> Vos données ont bien étés importés. Veuillez vous ré-identifier.</div>"),
|
||||
"erreurs" => array(
|
||||
1 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Aucun alias virtuel supprimé.</div>",
|
||||
2 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Aucun alias virtuel créé car une donnée est erronée ou manquante.</div>",
|
||||
@@ -51,7 +55,12 @@ function retourneMessage($type_message,$num_message) {
|
||||
16 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> L'entrée de liste noire expéditeurs n'a pas été ajouté car elle est déjà existante.</div>",
|
||||
17 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Identifiant ou mot de passe incorrecte.</div>",
|
||||
18 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Vous n'avez pas les privilèges nécessaires.</div>",
|
||||
19 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Erreur non gérée.</div>"),
|
||||
19 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Erreur non gérée.</div>",
|
||||
20 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> L'ancien mot de passe renseigné est erroné.</div>",
|
||||
21 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Le mot de passe de confimation n'est pas identique au nouveau mot de passe.</div>",
|
||||
22 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Une erreur s'est produite lors de l'envoi du fichier. Il doit être de type CSV de moins de 2 Mo et avoir été généré par Courtail.</div>",
|
||||
23 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Votre fichier d'import CSV est plus grand que 2 Mo.</div>",
|
||||
24 => "<div class=\"alert alert-danger\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle.svg\"/> Auncun type de donnée n'a été spécifié pour l'importation.</div>"),
|
||||
"messages" => array(
|
||||
"bienvenue" => "<div class=\"alert alert-primary\" role=\"alert\"><img src=\"/fichiers/svg/info.svg\"/> Bienvenue ".$nom_utilisateur.". Vous êtes authentifié en tant qu'".$privilege_utilisateur.".</div>")
|
||||
);
|
||||
|
||||
@@ -12,15 +12,15 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/connexion.php")
|
||||
* Elle compare ces information avec la ligne correspondante dans la base de donnée (en prenant l'adresse de courriel comme sélecteur).
|
||||
* Elle hache le mot de passe du formulaire et le compare à celui de l'entrée correspondante en base.
|
||||
*/
|
||||
function validationIdentifiants($pdo,$identifiant,$mdp){
|
||||
function validationIdentifiants($pdo,$identifiant,$mdp) {
|
||||
try {
|
||||
$req = 'SELECT * FROM postfix_utilisateurs WHERE utilisateur=:identifiant';
|
||||
|
||||
$prep = $pdo->prepare($req);
|
||||
$prep->bindValue(':identifiant', $identifiant);
|
||||
$prep->execute();
|
||||
$sql = $pdo->prepare($req);
|
||||
$sql->bindValue(':identifiant', $identifiant);
|
||||
$sql->execute();
|
||||
|
||||
$result = $prep ->fetchAll(PDO::FETCH_ASSOC);
|
||||
$result = $sql ->fetchAll(PDO::FETCH_ASSOC);
|
||||
$comptage = count($result);
|
||||
|
||||
}
|
||||
@@ -28,7 +28,7 @@ function validationIdentifiants($pdo,$identifiant,$mdp){
|
||||
die ("Erreur lors du traitement de la requête : " . $e->getMessage());
|
||||
}
|
||||
|
||||
if($comptage == 1){
|
||||
if ($comptage == 1) {
|
||||
|
||||
/**
|
||||
* Les paramètres de la fonction crypt de $mot_de_passe_form sont composés du mot de passe issue du formulaire accueil ainsi que du sel.
|
||||
|
||||
@@ -15,11 +15,11 @@ $liste_alias_virtuels = listeAliasVirtuelsPostfix($pdo);
|
||||
/**
|
||||
* Affiche le formulaire de selection d'un utilisateur si celui connecté possède les privilèges administrateur.
|
||||
*/
|
||||
if (testPrivileges()=="administrateur") {
|
||||
if (testPrivileges()==="administrateur") {
|
||||
echo <<<_HEREDOC_
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="card mt-4">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Choix de l'adresse</h5>
|
||||
<form id="form_choix_utilisateur" action="/services/traitements/utilisateurs/changeUtilisateur.php" method="post">
|
||||
@@ -28,20 +28,21 @@ _HEREDOC_;
|
||||
|
||||
/**
|
||||
* Remplis un menu déroulant permettant le choix de l'utilisateur par l'administrateur.
|
||||
* Ce choix permettra de modifier les alias virtuels y étant rattachés.
|
||||
* Ce choix permettra de modifier les données y étant rattachés.
|
||||
* La valeur par défaut du menu est positionnée sur le compte administrateur actuellement connecté.
|
||||
*/
|
||||
foreach ($liste_utilisateurs as $utilisateur_bdd => $utilisateur) {
|
||||
if ($utilisateur['utilisateur']==$_SESSION['pseudo_utilisateur']) {
|
||||
if ($utilisateur['utilisateur']===$_SESSION['pseudo_utilisateur']) {
|
||||
echo "<option value=\"".$utilisateur['utilisateur']."\" selected>".$utilisateur['utilisateur']."</option>\n";
|
||||
}
|
||||
elseif ($_SESSION['privilege_utilisateur']=="administrateur") {
|
||||
elseif ($_SESSION['privilege_utilisateur']==="administrateur") {
|
||||
echo "<option value=\"".$utilisateur['utilisateur']."\">".$utilisateur['utilisateur']."</option>\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo <<<_HEREDOC_
|
||||
</select>
|
||||
<input type="hidden" name="page_origine" value="alias">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -51,8 +52,8 @@ _HEREDOC_;
|
||||
|
||||
?>
|
||||
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="card mt-4">
|
||||
<div class="col-12<?php if ($_SESSION['privilege_utilisateur']==="administrateur") {echo' col-md-6';}?>">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Ajouter un alias virtuel</h5>
|
||||
<form action="/services/traitements/alias_virtuels/ajoutAliasVirtuels.php" method="post">
|
||||
@@ -62,7 +63,7 @@ _HEREDOC_;
|
||||
/**
|
||||
* Ajout d'un alias virtuel.
|
||||
*/
|
||||
$prefixe_utilisateur=retournePrefixeUtilisateurPostfix($pdo);
|
||||
$prefixe_utilisateur=retournePrefixeUtilisateurPostfix($pdo,$_SESSION['pseudo_utilisateur']);
|
||||
if (!empty($prefixe_utilisateur)) {
|
||||
echo "<span class=\"input-group-text\">$prefixe_utilisateur</span>";
|
||||
}
|
||||
@@ -120,9 +121,9 @@ _HEREDOC_;
|
||||
<div class="card contour-pastille">
|
||||
<div class="d-flex interieur-pastille">
|
||||
<div class="champ-interrupteur">
|
||||
<input type="radio" name="{$alias_virtuels_valeurs['id']}" id="allumer{$alias_virtuels_valeurs['id']}" value="1" {$etat_interrupteur_allumer}>
|
||||
<input type="radio" name="{$alias_virtuels_valeurs['id']}" id="allumer{$alias_virtuels_valeurs['id']}" onchange="activationBoutonFlotant(this)" value="1" {$etat_interrupteur_allumer}>
|
||||
<label for="allumer{$alias_virtuels_valeurs['id']}" class="interrupteur-allumer"></label>
|
||||
<input type="radio" name="{$alias_virtuels_valeurs['id']}" id="eteint{$alias_virtuels_valeurs['id']}" value="0" {$etat_interrupteur_eteint}>
|
||||
<input type="radio" name="{$alias_virtuels_valeurs['id']}" id="eteint{$alias_virtuels_valeurs['id']}" onchange="activationBoutonFlotant(this)" value="0" {$etat_interrupteur_eteint}>
|
||||
<label for="eteint{$alias_virtuels_valeurs['id']}" class="interrupteur-eteint"></label>
|
||||
</div>
|
||||
<div class="titre-pastille">
|
||||
@@ -145,7 +146,7 @@ _HEREDOC_;
|
||||
|
||||
?>
|
||||
</div>
|
||||
<button class="bouton-flotant" type="submit"><img src="/fichiers/svg/save.svg"/></button>
|
||||
<button id="enregistement" class="bouton-flotant deactivation" type="submit"><img src="/fichiers/svg/save.svg"/></button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
|
||||
if (testPrivileges()!="administrateur") {
|
||||
if (testPrivileges()!=="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
@@ -18,7 +18,7 @@ $liste_domaines = listeDomainesPostfix($pdo);
|
||||
<!-- Affichage et changement du domaine par défaut -->
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="card mt-4">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Domaine par défaut</h5>
|
||||
<?php
|
||||
@@ -58,7 +58,7 @@ $liste_domaines = listeDomainesPostfix($pdo);
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="card mt-4">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Ajouter un domaine</h5>
|
||||
<form action="/services/traitements/domaines/ajoutDomaines.php" method="post">
|
||||
@@ -72,7 +72,7 @@ $liste_domaines = listeDomainesPostfix($pdo);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mt-4">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Domaines du serveur de messagerie</h5>
|
||||
<form class="" action="/services/traitements/domaines/editEtatDomaines.php" method="post">
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page de gestion importé par la page d'administration centrale permettant la gestion des listes noires.
|
||||
*/
|
||||
* Page de gestion importé par la page d'administration centrale permettant la gestion des listes noires.
|
||||
*/
|
||||
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
|
||||
if (testPrivileges()!="administrateur") {
|
||||
if (testPrivileges()!=="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
@@ -17,105 +17,157 @@ $liste_entrees_liste_noires_dst=listeEntreeListeNoireDstPostfix($pdo);
|
||||
$liste_entrees_liste_noires_exp=listeEntreeListeNoireExpPostfix($pdo);
|
||||
|
||||
/**
|
||||
* Permet d'inclure la page d'administration des listes noires déstinataires ou expéditeurs dédiée.
|
||||
*/
|
||||
* Permet d'inclure la page d'administration des listes noires déstinataires ou expéditeurs dédiée.
|
||||
*/
|
||||
|
||||
if (isset($_GET['sousPage']) && !empty($_GET['sousPage'])) {
|
||||
switch ($_GET['sousPage']) {
|
||||
case 'destinataires':
|
||||
echo <<<_HEREDOC_
|
||||
<div class="card mt-4">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Ajouter une entrée dans la liste noire des destinataires</h5>
|
||||
<form action="/services/traitements/liste_noire_dst/ajoutEntreeListeNoireDst.php" method="post">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" id="nom_pour_filtre" name="courriel_entree_liste_noire_dst" placeholder="utilisateur@domaine.tld" onkeyup="filtreValeurs();" required>
|
||||
<select class="form-select" name="choix_action_entree_liste_noire_dst">
|
||||
<option value="REJECT">REJECT</option>
|
||||
<option value="DEFER">DEFER</option>
|
||||
</select>
|
||||
<button class="btn btn-primary bouton-ajout" type="submit"><img src="/fichiers/svg/plus.svg"/></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mt-4">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Ajouter une entrée dans la liste noire des destinataires</h5>
|
||||
<form action="/services/traitements/liste_noire_dst/ajoutEntreeListeNoireDst.php" method="post">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" id="nom_pour_filtre" name="courriel_entree_liste_noire_dst" placeholder="utilisateur@domaine.tld" onkeyup="filtreValeurs();" required>
|
||||
<select class="form-select" name="choix_action_entree_liste_noire_dst">
|
||||
<option value="REJECT">REJECT</option>
|
||||
<option value="DEFER">DEFER</option>
|
||||
</select>
|
||||
<button class="btn btn-primary bouton-ajout" type="submit"><img src="/fichiers/svg/plus.svg"/></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mt-4">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Entrées de la liste noire des destinataires du serveur de messagerie</h5>
|
||||
|
||||
<h1>Entrées de la liste noire des destinataires du serveur de messagerie</h1>
|
||||
|
||||
<form class="" action="/services/traitements/liste_noire_dst/editEntreeListeNoireDst.php" method="post">
|
||||
<ul id="liste_pour_filtre">
|
||||
_HEREDOC_;
|
||||
<form class="" action="/services/traitements/liste_noire_dst/editEntreeListeNoireDst.php" method="post">
|
||||
<div class="row" id="liste_pour_filtre">
|
||||
_HEREDOC_;
|
||||
/**
|
||||
* Liste des entrées de la liste noire des destinataires.
|
||||
*/
|
||||
try {
|
||||
foreach ($liste_entrees_liste_noires_dst as $liste_entrees_liste_noires_dst_cles => $liste_entrees_liste_noires_dst_valeurs) {
|
||||
echo "<li><input type=\"radio\" name=\"".$liste_entrees_liste_noires_dst_valeurs['id']."\" value=\"1\"";
|
||||
if (isset($liste_entrees_liste_noires_dst_valeurs['active']) && !empty($liste_entrees_liste_noires_dst_valeurs['active']) && $liste_entrees_liste_noires_dst_valeurs['active']=="1") echo " checked";
|
||||
echo "><input type=\"radio\" name=\"".$liste_entrees_liste_noires_dst_valeurs['id']."\" value=\"0\"";
|
||||
if (isset($liste_entrees_liste_noires_dst_valeurs['active']) && $liste_entrees_liste_noires_dst_valeurs['active']=="0") echo " checked";
|
||||
echo "><table><tr><td><p>".$liste_entrees_liste_noires_dst_valeurs['courriel']."</p></td><td><p>".$liste_entrees_liste_noires_dst_valeurs['action']."</p></td></tr></table><label class=\"input-label-supprimer-valeur\" for=\"supprimer-valeur-".$liste_entrees_liste_noires_dst_valeurs['id']."\">Supprimer</label><input type=\"checkbox\" class=\"input-checkbox-supprimer-valeur visuellement-cache\" id=\"supprimer-valeur-".$liste_entrees_liste_noires_dst_valeurs['id']."\"><a class=\"confirmation-suppression\" href=\"/services/traitements/liste_noire_dst/supprEntreeListeNoireDst.php?supprEntreeListeNoireDst=".$liste_entrees_liste_noires_dst_valeurs['id']."\">Confirmer la suppression</a></li>\n";
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de selection utilisateurs pour \"$base\" : ".$e->getMessage());
|
||||
}
|
||||
try {
|
||||
foreach ($liste_entrees_liste_noires_dst as $liste_entrees_liste_noires_dst_cles => $liste_entrees_liste_noires_dst_valeurs) {
|
||||
if (isset($liste_entrees_liste_noires_dst_valeurs['active']) && $liste_entrees_liste_noires_dst_valeurs['active']=="1") {
|
||||
$etat_interrupteur_allumer="checked";
|
||||
$etat_interrupteur_eteint="";
|
||||
} else {
|
||||
$etat_interrupteur_eteint="checked";
|
||||
$etat_interrupteur_allumer="";
|
||||
}
|
||||
echo <<<_HEREDOC_
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<div class="card contour-pastille">
|
||||
<div class="d-flex interieur-pastille">
|
||||
<div class="champ-interrupteur">
|
||||
<input type="radio" name="{$liste_entrees_liste_noires_dst_valeurs['id']}" id="allumer{$liste_entrees_liste_noires_dst_valeurs['id']}" value="1" {$etat_interrupteur_allumer}>
|
||||
<label for="allumer{$liste_entrees_liste_noires_dst_valeurs['id']}" class="interrupteur-allumer"></label>
|
||||
<input type="radio" name="{$liste_entrees_liste_noires_dst_valeurs['id']}" id="eteint{$liste_entrees_liste_noires_dst_valeurs['id']}" value="0" {$etat_interrupteur_eteint}>
|
||||
<label for="eteint{$liste_entrees_liste_noires_dst_valeurs['id']}" class="interrupteur-eteint"></label>
|
||||
</div>
|
||||
<div class="titre-pastille">
|
||||
<span>{$liste_entrees_liste_noires_dst_valeurs['courriel']} <img class="chevron-dst" src="/fichiers/svg/chevron-right.svg" /> <span class="badge fond-arc-noire">{$liste_entrees_liste_noires_dst_valeurs['action']}</span></span>
|
||||
</div>
|
||||
<div>
|
||||
<label class="input-label-supprimer-valeur btn btn-danger btn-sm" for="supprimer-valeur-{$liste_entrees_liste_noires_dst_valeurs['id']}"><img src="/fichiers/svg/trash-2.svg"></label>
|
||||
</div>
|
||||
</div>
|
||||
<input type="checkbox" class="input-checkbox-supprimer-valeur visuellement-cache" id="supprimer-valeur-{$liste_entrees_liste_noires_dst_valeurs['id']}">
|
||||
<a class="confirmation-suppression card-footer" href="/services/traitements/liste_noire_dst/supprEntreeListeNoireDst.php?supprEntreeListeNoireDst={$liste_entrees_liste_noires_dst_valeurs['id']}">Confirmer la suppression</a>
|
||||
</div>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de selection utilisateurs pour \"$base\" : ".$e->getMessage());
|
||||
}
|
||||
echo <<<_HEREDOC_
|
||||
</ul>
|
||||
<input type="submit" value="Appliquer">
|
||||
</form>
|
||||
_HEREDOC_;
|
||||
break;
|
||||
</div>
|
||||
<button class="bouton-flotant" type="submit"><img src="/fichiers/svg/save.svg"/></button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
break;
|
||||
case 'expediteurs':
|
||||
echo <<<_HEREDOC_
|
||||
<div class="card mt-4">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Ajouter une entrée dans la liste noire des expéditeurs</h5>
|
||||
<form action="/services/traitements/liste_noire_exp/ajoutEntreeListeNoireExp.php" method="post">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" id="nom_pour_filtre" name="courriel_entree_liste_noire_exp" placeholder="utilisateur@domaine.tld" onkeyup="filtreValeurs();" required>
|
||||
<select class="form-select" name="choix_code_retour_entree_liste_noire_exp">
|
||||
<option value="554">REJECT</option>
|
||||
</select>
|
||||
<button class="btn btn-primary bouton-ajout" type="submit"><img src="/fichiers/svg/plus.svg"/></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mt-4">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Ajouter une entrée dans la liste noire des expéditeurs</h5>
|
||||
<form action="/services/traitements/liste_noire_exp/ajoutEntreeListeNoireExp.php" method="post">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" id="nom_pour_filtre" name="courriel_entree_liste_noire_exp" placeholder="utilisateur@domaine.tld" onkeyup="filtreValeurs();" required>
|
||||
<select class="form-select" name="choix_code_retour_entree_liste_noire_exp">
|
||||
<option value="554">REJECT</option>
|
||||
</select>
|
||||
<button class="btn btn-primary bouton-ajout" type="submit"><img src="/fichiers/svg/plus.svg"/></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mt-4">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Entrées de la liste noire des expéditeurs du serveur de messagerie</h5>
|
||||
|
||||
<h1>Entrées de la liste noire des expéditeurs du serveur de messagerie</h1>
|
||||
|
||||
<form class="" action="/services/traitements/liste_noire_exp/editEntreeListeNoireExp.php" method="post">
|
||||
<ul id="liste_pour_filtre">
|
||||
_HEREDOC_;
|
||||
<form class="" action="/services/traitements/liste_noire_exp/editEntreeListeNoireExp.php" method="post">
|
||||
<div class="row" id="liste_pour_filtre">
|
||||
_HEREDOC_;
|
||||
/**
|
||||
* Liste des entrées de la liste noire des destinataires.
|
||||
*/
|
||||
try {
|
||||
foreach ($liste_entrees_liste_noires_exp as $liste_entrees_liste_noires_exp_cles => $liste_entrees_liste_noires_exp_valeurs) {
|
||||
echo "<li><input type=\"radio\" name=\"".$liste_entrees_liste_noires_exp_valeurs['id']."\" value=\"1\"";
|
||||
if (isset($liste_entrees_liste_noires_exp_valeurs['active']) && !empty($liste_entrees_liste_noires_exp_valeurs['active']) && $liste_entrees_liste_noires_exp_valeurs['active']=="1") echo " checked";
|
||||
echo "><input type=\"radio\" name=\"".$liste_entrees_liste_noires_exp_valeurs['id']."\" value=\"0\"";
|
||||
if (isset($liste_entrees_liste_noires_exp_valeurs['active']) && $liste_entrees_liste_noires_exp_valeurs['active']=="0") echo " checked";
|
||||
echo "><table><tr><td><p>".$liste_entrees_liste_noires_exp_valeurs['courriel']."</p></td><td><p>".$liste_entrees_liste_noires_exp_valeurs['code_retour']."</p></td></tr></table><label class=\"input-label-supprimer-valeur\" for=\"supprimer-valeur-".$liste_entrees_liste_noires_exp_valeurs['id']."\">Supprimer</label><input type=\"checkbox\" class=\"input-checkbox-supprimer-valeur visuellement-cache\" id=\"supprimer-valeur-".$liste_entrees_liste_noires_exp_valeurs['id']."\"><a class=\"confirmation-suppression\" href=\"/services/traitements/liste_noire_exp/supprEntreeListeNoireExp.php?supprEntreeListeNoireExp=".$liste_entrees_liste_noires_exp_valeurs['id']."\">Confirmer la suppression</a></li>\n";
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de selection utilisateurs pour \"$base\" : ".$e->getMessage());
|
||||
}
|
||||
try {
|
||||
foreach ($liste_entrees_liste_noires_exp as $liste_entrees_liste_noires_exp_cles => $liste_entrees_liste_noires_exp_valeurs) {
|
||||
if (isset($liste_entrees_liste_noires_exp_valeurs['active']) && $liste_entrees_liste_noires_exp_valeurs['active']=="1") {
|
||||
$etat_interrupteur_allumer="checked";
|
||||
$etat_interrupteur_eteint="";
|
||||
} else {
|
||||
$etat_interrupteur_eteint="checked";
|
||||
$etat_interrupteur_allumer="";
|
||||
}
|
||||
echo <<<_HEREDOC_
|
||||
<div class="col-md-6 col-xl-4">
|
||||
<div class="card contour-pastille">
|
||||
<div class="d-flex interieur-pastille">
|
||||
<div class="champ-interrupteur">
|
||||
<input type="radio" name="{$liste_entrees_liste_noires_exp_valeurs['id']}" id="allumer{$liste_entrees_liste_noires_exp_valeurs['id']}" value="1" {$etat_interrupteur_allumer}>
|
||||
<label for="allumer{$liste_entrees_liste_noires_exp_valeurs['id']}" class="interrupteur-allumer"></label>
|
||||
<input type="radio" name="{$liste_entrees_liste_noires_exp_valeurs['id']}" id="eteint{$liste_entrees_liste_noires_exp_valeurs['id']}" value="0" {$etat_interrupteur_eteint}>
|
||||
<label for="eteint{$liste_entrees_liste_noires_exp_valeurs['id']}" class="interrupteur-eteint"></label>
|
||||
</div>
|
||||
<div class="titre-pastille">
|
||||
<span><span class="badge fond-arc-noire">{$liste_entrees_liste_noires_exp_valeurs['code_retour']}</span> <img class="chevron-dst" src="/fichiers/svg/chevron-right.svg" /> {$liste_entrees_liste_noires_exp_valeurs['courriel']}</span>
|
||||
</div>
|
||||
<div>
|
||||
<label class="input-label-supprimer-valeur btn btn-danger btn-sm" for="supprimer-valeur-{$liste_entrees_liste_noires_exp_valeurs['id']}"><img src="/fichiers/svg/trash-2.svg"></label>
|
||||
</div>
|
||||
</div>
|
||||
<input type="checkbox" class="input-checkbox-supprimer-valeur visuellement-cache" id="supprimer-valeur-{$liste_entrees_liste_noires_exp_valeurs['id']}">
|
||||
<a class="confirmation-suppression card-footer" href="/services/traitements/liste_noire_exp/supprEntreeListeNoireExp.php?supprEntreeListeNoireExp={$liste_entrees_liste_noires_exp_valeurs['id']}">Confirmer la suppression</a>
|
||||
</div>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
}
|
||||
}
|
||||
catch (\Exception $e) {
|
||||
die ("Erreur de requête de selection utilisateurs pour \"$base\" : ".$e->getMessage());
|
||||
}
|
||||
echo <<<_HEREDOC_
|
||||
</ul>
|
||||
<input type="submit" value="Appliquer">
|
||||
</form>
|
||||
_HEREDOC_;
|
||||
break;
|
||||
</div>
|
||||
<button class="bouton-flotant" type="submit"><img src="/fichiers/svg/save.svg"/></button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
break;
|
||||
default:
|
||||
echo " <h1>Cette page n'existe pas.</h1>";
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<script src="/fichiers/js/filtre.js"></script>
|
||||
</div>
|
||||
<script src="/fichiers/js/filtre.js"></script>
|
||||
|
||||
@@ -1,7 +1,216 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page centrale de gestion des paramètres d'un utilisateur et du portail lui-même.
|
||||
*/
|
||||
* Page centrale de gestion des paramètres d'un utilisateur et du portail lui-même.
|
||||
*/
|
||||
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/utilisateurs.php");
|
||||
|
||||
$liste_utilisateurs = listeUtilisateursPostfix($pdo);
|
||||
$prefixe_utilisateur = retournePrefixeUtilisateurPostfix($pdo,$_SESSION['pseudo_utilisateur']);
|
||||
|
||||
if ($_SESSION['pseudo_connexion_utilisateur'] !== $_SESSION['pseudo_utilisateur']){
|
||||
$message_alert_utilisateur="<div class=\"alert alert-warning mt-2 mb-2\" role=\"alert\"><img src=\"/fichiers/svg/alert-triangle-warning.svg\"/> Vous allez modifier les paramètres d'un autre utilisateur que vous.</div>";
|
||||
}else{
|
||||
$message_alert_utilisateur="";
|
||||
}
|
||||
|
||||
/**
|
||||
* Affiche le formulaire de selection d'un utilisateur si celui connecté possède les privilèges administrateur.
|
||||
*/
|
||||
|
||||
if (testPrivileges()==="administrateur") {
|
||||
echo <<<_HEREDOC_
|
||||
<div class="col-12">
|
||||
<div class="card mt-4">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Choix de l'adresse</h5>
|
||||
<form id="form_choix_utilisateur" action="/services/traitements/utilisateurs/changeUtilisateur.php" method="post">
|
||||
<select class="form-select" name="choix_utilisateur" onchange="autoSoumission(this);">
|
||||
_HEREDOC_;
|
||||
|
||||
/**
|
||||
* Remplis un menu déroulant permettant le choix de l'utilisateur par l'administrateur.
|
||||
* Ce choix permettra de modifier les données y étant rattachés.
|
||||
* La valeur par défaut du menu est positionnée sur le compte administrateur actuellement connecté.
|
||||
*/
|
||||
foreach ($liste_utilisateurs as $utilisateur_bdd => $utilisateur) {
|
||||
if ($utilisateur['utilisateur']===$_SESSION['pseudo_utilisateur']) {
|
||||
echo "<option value=\"".$utilisateur['utilisateur']."\" selected>".$utilisateur['utilisateur']."</option>\n";
|
||||
}
|
||||
elseif ($_SESSION['privilege_utilisateur']==="administrateur") {
|
||||
echo "<option value=\"".$utilisateur['utilisateur']."\">".$utilisateur['utilisateur']."</option>\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo <<<_HEREDOC_
|
||||
</select>
|
||||
<input type="hidden" name="page_origine" value="parametres">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
}
|
||||
|
||||
/**
|
||||
* Changement du mot de passe d'un utilisateur.
|
||||
*/
|
||||
if ($_SESSION['privilege_utilisateur']==="administrateur" && !empty($prefixe_utilisateur)){
|
||||
$message="<div class=\"mt-2 mb-2 alert alert-primary\" role=\"alert\">Préfixe actuel de ".$_SESSION['pseudo_utilisateur']." : <span class=\"badge bg-primary\">".$prefixe_utilisateur."</span></div>";
|
||||
}else{
|
||||
$message="";
|
||||
}
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-12<?php if ($_SESSION['privilege_utilisateur']==="administrateur") {echo ' col-xl-6';}?>">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Modifier le mot de passe<?php if ($_SESSION['privilege_utilisateur']==="administrateur") {echo ' de '.$_SESSION['pseudo_utilisateur'];} ?></h5>
|
||||
<?php echo $message_alert_utilisateur; ?>
|
||||
<form action="/services/traitements/utilisateurs/changeMotDePasseUtilisateur.php" method="post">
|
||||
<div class="input-group">
|
||||
<?php if ($_SESSION['privilege_utilisateur']==="utilisateur") { echo '<input type="password" class="form-control" name="ancien_mot_de_passe" placeholder="Ancien mot de passe" required>'; } ?>
|
||||
<input type="password" class="form-control" name="nouveau_mot_de_passe" placeholder="Nouveau mot de passe" required>
|
||||
<input type="password" class="form-control" name="confirmation_mot_de_passe" placeholder="Confirmation mot de passe" required>
|
||||
<button class="btn btn-primary bouton-ajout" type="submit">Modifier</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ($_SESSION['privilege_utilisateur']==="administrateur") {
|
||||
echo <<<_HEREDOC_
|
||||
<div class="col-12 col-md-12 col-xl-6">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Modifier le préfixe de {$_SESSION['pseudo_utilisateur']}</h5>
|
||||
{$message}
|
||||
{$message_alert_utilisateur}
|
||||
<form action="/services/traitements/utilisateurs/changePrefixeUtilisateur.php" method="post">
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="nouveau_prefixe" placeholder="Nouveau prefixe">
|
||||
<button class="btn btn-primary bouton-ajout" type="submit">Appliquer</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
}
|
||||
|
||||
echo <<<_HEREDOC_
|
||||
<div class="col-12 col-md-12 col-xl-6">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Sauvegarde des alias virtuels de {$_SESSION['pseudo_utilisateur']}</h5>
|
||||
<form action="/services/traitements/import_export/exportAliasVirtuelsUtilisateur.php" method="post">
|
||||
<button class="btn btn-primary w-100" type="submit">Sauvegarder</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
|
||||
echo <<<_HEREDOC_
|
||||
<div class="col-12 col-md-12 col-xl-6">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Restauration des alias virtuels de {$_SESSION['pseudo_utilisateur']}</h5>
|
||||
<div class="alert alert-primary" role="alert">Les doublons seront omis.</div>
|
||||
{$message_alert_utilisateur}
|
||||
<form action="/services/traitements/import_export/importAliasVirtuelsUtilisateur.php" method="post" enctype="multipart/form-data">
|
||||
<div class="input-group mt-2">
|
||||
<input type="file" name="import_alias_virtuels_csv" class="form-control">
|
||||
<button class="btn btn-primary bouton-ajout" type="submit">Restaurer</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
|
||||
if ($_SESSION['privilege_utilisateur']==="administrateur") {
|
||||
echo <<<_HEREDOC_
|
||||
<div class="col-12 col-md-12 col-xl-6">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Sauvegarde de la base de données</h5>
|
||||
<form action="/services/traitements/import_export/exportDonneesBdd.php" method="post">
|
||||
<div class="row g-1">
|
||||
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="export_alias_virtuels" name="export_alias_virtuels" checked>
|
||||
<label class="form-check-label" for="export_alias_virtuels">Alias virtuels</label>
|
||||
</div>
|
||||
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="export_domaines" name="export_domaines" checked>
|
||||
<label class="form-check-label" for="export_domaines">Domaines</label>
|
||||
</div>
|
||||
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="export_liste_noire_destinataires" name="export_liste_noire_destinataires" checked>
|
||||
<label class="form-check-label" for="export_liste_noire_destinataires">Liste noire destinataires</label>
|
||||
</div>
|
||||
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="export_liste_noire_expediteurs" name="export_liste_noire_expediteurs" checked>
|
||||
<label class="form-check-label" for="export_liste_noire_expediteurs">Liste noire expéditeurs</label>
|
||||
</div>
|
||||
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="export_utilisateurs" name="export_utilisateurs" checked>
|
||||
<label class="form-check-label" for="export_utilisateurs">Utilisateurs</label>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary w-100 mt-2" type="submit">Sauvegarder</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
}
|
||||
|
||||
if ($_SESSION['privilege_utilisateur']==="administrateur") {
|
||||
echo <<<_HEREDOC_
|
||||
<div class="col-12 col-md-12 col-xl-6">
|
||||
<div class="card mt-4 max-hauteur-pastille">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Restauration de la base de données</h5>
|
||||
<div class="alert alert-warning" role="alert"><img src="/fichiers/svg/alert-triangle-warning.svg"/> Toutes les données non sauvegardées dans chaque section sélectionnée et présente dans votre fichier de restauration seront écrasées !</div>
|
||||
<form action="/services/traitements/import_export/importDonneesBdd.php" method="post" enctype="multipart/form-data">
|
||||
<div class="row g-1 mt-2 mb-2">
|
||||
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="import_alias_virtuels" name="import_alias_virtuels">
|
||||
<label class="form-check-label" for="import_alias_virtuels">Alias virtuels</label>
|
||||
</div>
|
||||
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="import_domaines" name="import_domaines">
|
||||
<label class="form-check-label" for="import_domaines">Domaines</label>
|
||||
</div>
|
||||
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="import_liste_noire_destinataires" name="import_liste_noire_destinataires">
|
||||
<label class="form-check-label" for="import_liste_noire_destinataires">Liste noire destinataires</label>
|
||||
</div>
|
||||
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="import_liste_noire_expediteurs" name="import_liste_noire_expediteurs">
|
||||
<label class="form-check-label" for="import_liste_noire_expediteurs">Liste noire expéditeurs</label>
|
||||
</div>
|
||||
<div class="form-check form-switch col-12 col-sm-12 col-md-6">
|
||||
<input class="form-check-input" type="checkbox" role="switch" id="import_utilisateurs" name="import_utilisateurs">
|
||||
<label class="form-check-label" for="import_utilisateurs">Utilisateurs</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group mb-2">
|
||||
<input type="file" name="import_donnees_csv" class="form-control">
|
||||
<button class="btn btn-primary bouton-ajout" type="submit">Restaurer</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
}
|
||||
|
||||
?>
|
||||
</div>
|
||||
|
||||
<script src="/fichiers/js/filtre.js"></script>
|
||||
|
||||
@@ -10,14 +10,12 @@ session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.php");
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/utilisateurs.php");
|
||||
|
||||
// Permet le contrôle du domaine renseigné par l'utilisateur
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
|
||||
$liste_domaines = listeDomainesPostfix($pdo);
|
||||
|
||||
var_dump($liste_domaines,$_POST);
|
||||
//die();
|
||||
|
||||
if (isset($_POST['nom_alias_virtuel']) && isset($_POST['choix_domaine_alias_virtuel']) && !empty($_POST['nom_alias_virtuel']) && !empty($_POST['choix_domaine_alias_virtuel']) && in_array($_POST['choix_domaine_alias_virtuel'],array_column($liste_domaines,'domaine'))) {
|
||||
ajoutAliasVirtuelsPostfix($pdo,$_POST['nom_alias_virtuel'],$_POST['choix_domaine_alias_virtuel']);
|
||||
header ("Location: /pages/gestion/administration.php?page=alias&succes=1");
|
||||
|
||||
@@ -8,7 +8,10 @@
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
|
||||
|
||||
if (isset($_POST['nom_domaine']) && !empty($_POST['nom_domaine'])) {
|
||||
|
||||
@@ -7,7 +7,10 @@
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
|
||||
|
||||
$liste_domaines = listeDomainesPostfix($pdo);
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
|
||||
|
||||
modifEtatDomainesPostfix($pdo,$_POST);
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
|
||||
|
||||
if(isset($_GET['supprDomaine']) && !empty($_GET['supprDomaine']) && supprDomainesPostfix($pdo,$_GET['supprDomaine'])) {
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page de traitement permettant l'export des alias virtuels d'un utilisateur.
|
||||
* Elle est appelée par un bouton de la page des paramètres.
|
||||
*/
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/import_export.php");
|
||||
|
||||
exportAliasVirtuelsUtilisateur($pdo,$_SESSION['pseudo_utilisateur']);
|
||||
// La suite n'est pas interprété en temps normal
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres");
|
||||
die();
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page de traitement permettant l'export des alias virtuels d'un utilisateur.
|
||||
* Elle est appelée par un bouton de la page des paramètres.
|
||||
*/
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/import_export.php");
|
||||
|
||||
$types_donnees_a_exporter=array();
|
||||
if (isset($_POST['export_alias_virtuels']) && $_POST['export_alias_virtuels']==="on") {
|
||||
array_push($types_donnees_a_exporter, 'alias_virtuels');
|
||||
}
|
||||
if (isset($_POST['export_domaines']) && $_POST['export_domaines']==="on") {
|
||||
array_push($types_donnees_a_exporter, 'domaines');
|
||||
}
|
||||
if (isset($_POST['export_liste_noire_destinataires']) && $_POST['export_liste_noire_destinataires']==="on") {
|
||||
array_push($types_donnees_a_exporter, 'liste_noire_destinataires');
|
||||
}
|
||||
if (isset($_POST['export_liste_noire_expediteurs']) && $_POST['export_liste_noire_expediteurs']==="on") {
|
||||
array_push($types_donnees_a_exporter, 'liste_noire_expediteurs');
|
||||
}
|
||||
if (isset($_POST['export_utilisateurs']) && $_POST['export_utilisateurs']==="on") {
|
||||
array_push($types_donnees_a_exporter, 'utilisateurs');
|
||||
}
|
||||
|
||||
exportDonneesMessagerie($pdo,$types_donnees_a_exporter);
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres");
|
||||
die();
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page de traitement permettant l'import des alias virtuels d'un utilisateur.
|
||||
* Elle est appelée par un bouton de la page des paramètres.
|
||||
*/
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/import_export.php");
|
||||
|
||||
// Permet le contrôle du domaine des alias virtuels du CSV de l'utilisateur
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
|
||||
$liste_domaines = listeDomainesPostfix($pdo);
|
||||
// Permet le contrôle des alias virtuels du CSV de l'utilisateur
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.php");
|
||||
|
||||
$types_donnees_a_exporter=array();
|
||||
if (isset($_FILES['import_alias_virtuels_csv']) && !empty($_FILES['import_alias_virtuels_csv']['name']) && $_FILES['import_alias_virtuels_csv']['type']=="text/csv" && $_FILES['import_alias_virtuels_csv']['error']===0) {
|
||||
if ($_FILES['import_alias_virtuels_csv']['size']<2000000) {
|
||||
if (file_exists($_FILES['import_alias_virtuels_csv']['tmp_name'])) {
|
||||
if (($fichier_csv = fopen($_FILES['import_alias_virtuels_csv']['tmp_name'], "r")) !== FALSE) {
|
||||
while (($donnees_csv = fgetcsv($fichier_csv, 1000, ":")) !== FALSE) {
|
||||
// Vérification de la légitimité des alais virtuels importés
|
||||
// Si un utilisateur modifie le contenu du fichier CSV afin d'ajouter des alias virtuels à un autre utilisateur, aucun traitement pour cet alias virtuel n'est effectué
|
||||
if ($donnees_csv[2]===$_SESSION['pseudo_utilisateur']) {
|
||||
// Vérification de l'existence du domaine de l'alias virtuel soumis
|
||||
$domaine_alias_virtuel_csv=explode('@', $donnees_csv[1]);
|
||||
if (in_array($domaine_alias_virtuel_csv[1],array_column($liste_domaines,'domaine'))) {
|
||||
// Vérification de la cohérence de l'état d'activation de l'alias virtuel soumis
|
||||
if ($donnees_csv[3]==0 || $donnees_csv[3]==1) {
|
||||
// Omission des doublons
|
||||
$liste_alias_virtuels = listeAliasVirtuelsPostfix($pdo);
|
||||
if (!in_array($donnees_csv[1],array_column($liste_alias_virtuels,'courriel'))) {
|
||||
importAliasVirtuelsUtilisateur($pdo,$donnees_csv[1],$_SESSION['pseudo_utilisateur'],$donnees_csv[3]);
|
||||
}
|
||||
// Sinon l'alias virtuel doublon est ignoré
|
||||
}
|
||||
// Sinon l'alias virtuel contenant un état d'activation erroné est ignoré
|
||||
}
|
||||
// Sinon l'alias virtuel contenant un domaine non existant dans la base est ignoré
|
||||
}
|
||||
// Sinon l'alias virtuel pointant sur un autre utilisateur est ignoré
|
||||
}
|
||||
fclose($fichier_csv);
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&succes=18");
|
||||
die();
|
||||
}
|
||||
}
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&succes=18");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&erreur=23");
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&erreur=22");
|
||||
die();
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,153 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page de traitement permettant l'import des données dans la base de données.
|
||||
* Elle est appelée par un bouton de la page des paramètres.
|
||||
*/
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/import_export.php");
|
||||
|
||||
// Permet le contrôle du domaine des alias virtuels du CSV de l'utilisateur
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
|
||||
$liste_domaines = listeDomainesPostfix($pdo);
|
||||
// Permet le contrôle des alias virtuels du CSV de l'utilisateur
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.php");
|
||||
// Permet le contrôle des listes noires du CSV de l'utilisateur
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
|
||||
// Permet le contrôle des utilisateurs du CSV de l'utilisateur
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/utilisateurs.php");
|
||||
|
||||
$types_donnees_a_exporter=array();
|
||||
|
||||
// Si aucune case n'est coché pour l'importation, le script ne fait rien et renvoi l'utilisateur sur la page des paramètres
|
||||
if (!isset($_POST) || empty($_POST)) {
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&erreur=24");
|
||||
die();
|
||||
}
|
||||
|
||||
if (isset($_FILES['import_donnees_csv']) && !empty($_FILES['import_donnees_csv']['name']) && $_FILES['import_donnees_csv']['type']=="text/csv" && $_FILES['import_donnees_csv']['error']===0) {
|
||||
if ($_FILES['import_donnees_csv']['size']<2000000) {
|
||||
if (file_exists($_FILES['import_donnees_csv']['tmp_name'])) {
|
||||
|
||||
$ligne_fichier_csv=1;
|
||||
$type_donnees_csv="";
|
||||
if (($fichier_csv = fopen($_FILES['import_donnees_csv']['tmp_name'], "r")) !== FALSE) {
|
||||
while (($donnees_csv = fgetcsv($fichier_csv, 1000, ":")) !== FALSE) {
|
||||
|
||||
$entete_type_donnees=FALSE;
|
||||
if (strpos($donnees_csv[0], '#~// ') !== FALSE) {
|
||||
$type_donnees_csv=explode('#~// ', $donnees_csv[0]);
|
||||
$entete_type_donnees=TRUE;
|
||||
}
|
||||
if (!$entete_type_donnees) {
|
||||
switch ($type_donnees_csv[1]) {
|
||||
case "Alias_vituels":
|
||||
if (isset($_POST['import_alias_virtuels'])) {
|
||||
if (!isset($purge_table_alias_virtuels)) {
|
||||
purgeTable($pdo,'postfix_alias_virtuels');
|
||||
$purge_table_alias_virtuels="";
|
||||
}
|
||||
// Vérification de la cohérence des données de l'alias virtuel soumis
|
||||
if (!empty($donnees_csv[1]) && !empty($donnees_csv[2]) && ($donnees_csv[3]==="0" || $donnees_csv[3]==="1")) {
|
||||
// Omission des doublons
|
||||
$liste_alias_virtuels = listeTousAliasVirtuelsPostfix($pdo);
|
||||
if (!in_array($donnees_csv[1],array_column($liste_alias_virtuels,'courriel'))) {
|
||||
importDonneesMessagerie($pdo,"alias_virtuels",$donnees_csv);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "Domaines":
|
||||
if (isset($_POST['import_domaines'])) {
|
||||
if (!isset($purge_table_domaines)) {
|
||||
purgeTable($pdo,'postfix_domaines');
|
||||
$purge_table_domaines="";
|
||||
}
|
||||
// Vérification de la cohérence des données du domaine soumis
|
||||
if (!empty($donnees_csv[1]) && ($donnees_csv[2]==="0" || $donnees_csv[2]==="1") && ($donnees_csv[3]==="0" || $donnees_csv[3]==="1")) {
|
||||
// Omission des doublons
|
||||
$liste_domaines = listeDomainesPostfix($pdo);
|
||||
if (!in_array($donnees_csv[1],array_column($liste_domaines,'domaine'))) {
|
||||
importDonneesMessagerie($pdo,"domaines",$donnees_csv);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "Liste_noire_destinataires":
|
||||
if (isset($_POST['import_liste_noire_destinataires'])) {
|
||||
if (!isset($purge_table_postfix_liste_noire_destinataires)) {
|
||||
purgeTable($pdo,'postfix_liste_noire_destinataires');
|
||||
$purge_table_postfix_liste_noire_destinataires="";
|
||||
}
|
||||
// Vérification de la cohérence des données de la liste noire destinataire soumise
|
||||
if (!empty($donnees_csv[1]) && ($donnees_csv[2]==="REJECT" || $donnees_csv[2]==="DEFER") && ($donnees_csv[3]==="0" || $donnees_csv[3]==="1")) {
|
||||
// Omission des doublons
|
||||
$liste_entrees_liste_noires_dst=listeEntreeListeNoireDstPostfix($pdo);
|
||||
if (!in_array($donnees_csv[1],array_column($liste_entrees_liste_noires_dst,'courriel'))) {
|
||||
importDonneesMessagerie($pdo,"liste_noire_destinataires",$donnees_csv);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "Liste_noire_expéditeur":
|
||||
if (isset($_POST['import_liste_noire_expediteurs'])) {
|
||||
if (!isset($purge_table_postfix_liste_noire_expediteurs)) {
|
||||
purgeTable($pdo,'postfix_liste_noire_expediteurs');
|
||||
$purge_table_postfix_liste_noire_expediteurs="";
|
||||
}
|
||||
// Vérification de la cohérence des données de la liste noire expediteur soumise
|
||||
if (!empty($donnees_csv[1]) && ($donnees_csv[2]==="554") && !empty($donnees_csv[3]) && ($donnees_csv[4]==="0" || $donnees_csv[4]==="1")) {
|
||||
// Omission des doublons
|
||||
$liste_entrees_liste_noires_exp=listeEntreeListeNoireExpPostfix($pdo);
|
||||
if (!in_array($donnees_csv[1],array_column($liste_entrees_liste_noires_exp,'courriel'))) {
|
||||
importDonneesMessagerie($pdo,"liste_noire_expediteurs",$donnees_csv);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "Utilisateurs":
|
||||
if (isset($_POST['import_utilisateurs'])) {
|
||||
if (!isset($purge_table_postfix_utilisateurs)) {
|
||||
purgeTable($pdo,'postfix_utilisateurs');
|
||||
$purge_table_postfix_utilisateurs="";
|
||||
}
|
||||
// Vérification de la cohérence des données de l'utilisateur soumis
|
||||
if (!empty($donnees_csv[1]) && !empty($donnees_csv[2]) && !empty($donnees_csv[4]) && !empty($donnees_csv[5]) && !empty($donnees_csv[6]) && !empty($donnees_csv[7]) && ($donnees_csv[9]==="0" || $donnees_csv[9]==="1")) {
|
||||
// Omission des doublons
|
||||
$liste_utilisateurs=listeUtilisateursPostfix($pdo);
|
||||
if (!in_array($donnees_csv[1],array_column($liste_utilisateurs,'utilisateur'))) {
|
||||
importDonneesMessagerie($pdo,"utilisateurs",$donnees_csv);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fclose($fichier_csv);
|
||||
// Si l'utilisateur ayant importé les données n'existe plus, une déconnexion automatique est effectuée
|
||||
if (!verifUtilisateursExiste($pdo,$_SESSION['pseudo_connexion_utilisateur'])) {
|
||||
header ("Location: /services/traitements/utilisateurs/deconnexion.php?succes=19");
|
||||
die();
|
||||
}
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&succes=18");
|
||||
die();
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&erreur=23");
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&erreur=22");
|
||||
die();
|
||||
|
||||
?>
|
||||
@@ -8,7 +8,10 @@
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
|
||||
|
||||
if (isset($_POST['courriel_entree_liste_noire_dst']) && isset($_POST['choix_action_entree_liste_noire_dst']) && !empty($_POST['courriel_entree_liste_noire_dst']) && !empty($_POST['choix_action_entree_liste_noire_dst'])) {
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
|
||||
|
||||
if (isset($_POST) && !empty($_POST)) {
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
|
||||
|
||||
if(isset($_GET['supprEntreeListeNoireDst']) && !empty($_GET['supprEntreeListeNoireDst']) && supprEntreeListeNoireDstPostfix($pdo,$_GET['supprEntreeListeNoireDst'])) {
|
||||
|
||||
@@ -8,7 +8,10 @@
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
|
||||
|
||||
if (isset($_POST['courriel_entree_liste_noire_exp']) && isset($_POST['choix_code_retour_entree_liste_noire_exp']) && !empty($_POST['courriel_entree_liste_noire_exp']) && !empty($_POST['choix_code_retour_entree_liste_noire_exp'])) {
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
|
||||
|
||||
if (isset($_POST) && !empty($_POST)) {
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
|
||||
session_start();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
|
||||
|
||||
if(isset($_GET['supprEntreeListeNoireExp']) && !empty($_GET['supprEntreeListeNoireExp']) && supprEntreeListeNoireExpPostfix($pdo,$_GET['supprEntreeListeNoireExp'])) {
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page de traitement permettant le changement du mot de passe d'un utilisateur.
|
||||
* Elle est appelée par la page de paramètres.
|
||||
* Un champ supplémentaire demandant l'ancien mot de passe est affiché et exigé sur cette derniere lorsque la requête provient d'un utilisateur ordinaire.
|
||||
*/
|
||||
|
||||
session_start();
|
||||
require_once($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
testPrivileges();
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/utilisateurs.php");
|
||||
|
||||
if ($_SESSION['privilege_utilisateur']=="administrateur" && isset($_POST['nouveau_mot_de_passe']) && !empty($_POST['nouveau_mot_de_passe']) && isset($_POST['confirmation_mot_de_passe']) && !empty($_POST['confirmation_mot_de_passe'])) {
|
||||
if (changeMotDePasseUtilisateurPostfix($pdo,$_SESSION['pseudo_utilisateur'],trim($_POST['nouveau_mot_de_passe']),trim($_POST['confirmation_mot_de_passe']))) {
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&succes=16");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&erreur=21");
|
||||
die();
|
||||
}
|
||||
}
|
||||
elseif ($_SESSION['privilege_utilisateur']=="utilisateur" && isset($_POST['ancien_mot_de_passe']) && !empty($_POST['ancien_mot_de_passe']) && isset($_POST['nouveau_mot_de_passe']) && !empty($_POST['nouveau_mot_de_passe']) && isset($_POST['confirmation_mot_de_passe']) && !empty($_POST['confirmation_mot_de_passe'])) {
|
||||
if (verificationMotDePasseUtilisateurPostfix($pdo,$_SESSION['pseudo_utilisateur'],trim($_POST['ancien_mot_de_passe']))) {
|
||||
if (changeMotDePasseUtilisateurPostfix($pdo,$_SESSION['pseudo_utilisateur'],trim($_POST['nouveau_mot_de_passe']),trim($_POST['confirmation_mot_de_passe']))) {
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&succes=16");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&erreur=21");
|
||||
die();
|
||||
}
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&erreur=20");
|
||||
die();
|
||||
}
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page de traitement permettant le changement du préfixe d'un utilisateur.
|
||||
* Elle est appelée par la page de paramètres.
|
||||
* Un champ accessible aux seuls administrateurs permet de changer le préfixe d'un utilisateur (peut être vide).
|
||||
*/
|
||||
|
||||
session_start();
|
||||
require_once($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
|
||||
if (testPrivileges()!="administrateur") {
|
||||
header("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/utilisateurs.php");
|
||||
|
||||
if ($_SESSION['privilege_utilisateur']=="administrateur" && isset($_POST['nouveau_prefixe'])) {
|
||||
changePrefixeUtilisateurPostfix($pdo,$_SESSION['pseudo_utilisateur'],trim($_POST['nouveau_prefixe']));
|
||||
header ("Location: /pages/gestion/administration.php?page=parametres&succes=17");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
die();
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -11,8 +11,14 @@ require_once($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.
|
||||
|
||||
if (testPrivileges()=="administrateur" && isset($_POST['choix_utilisateur']) && !empty($_POST['choix_utilisateur'])) {
|
||||
$_SESSION['pseudo_utilisateur'] = $_POST['choix_utilisateur'];
|
||||
header ("Location: /pages/gestion/administration.php?page=alias&succes=4");
|
||||
die();
|
||||
if (isset($_POST['page_origine']) && !empty($_POST['page_origine'])) {
|
||||
header ("Location: /pages/gestion/administration.php?page=".$_POST['page_origine']."&succes=4");
|
||||
die();
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/gestion/administration.php?page=accueil&succes=4");
|
||||
die();
|
||||
}
|
||||
}
|
||||
else {
|
||||
header ("Location: /pages/visiteurs/formulaire_accueil.php?erreur=18");
|
||||
|
||||
@@ -4,13 +4,22 @@
|
||||
* Page permettant la déconnexion d'un utilisateur authentifié.
|
||||
*/
|
||||
|
||||
// Récupération de la session
|
||||
session_start ();
|
||||
// Destruction des variables de la session
|
||||
session_unset ();
|
||||
// Destruction de la session
|
||||
session_destroy ();
|
||||
// Redirection de l'utilisateur vers la page d'authentifiaction
|
||||
header('location: /pages/visiteurs/formulaire_accueil.php?succes=15');
|
||||
|
||||
// Récupération de la session
|
||||
session_start ();
|
||||
// Affichage d'un message différent dans le cas particulier d'une restauration de la base ne comportant plus l'utilisateur ayant effectué cette importation
|
||||
if (!empty($_GET['succes'])) {
|
||||
$succes=$_GET['succes'];
|
||||
}
|
||||
// Destruction des variables de la session
|
||||
session_unset ();
|
||||
// Destruction de la session
|
||||
session_destroy ();
|
||||
// Nous sommes obligés de passer par la variable transitoire $succes car le session_unset détruit $_GET...
|
||||
if (!empty($succes)) {
|
||||
header('location: /pages/visiteurs/formulaire_accueil.php?succes='.$succes);
|
||||
die();
|
||||
}
|
||||
// Redirection de l'utilisateur vers la page d'authentifiaction
|
||||
header('location: /pages/visiteurs/formulaire_accueil.php?succes=15');
|
||||
die();
|
||||
?>
|
||||
@@ -17,17 +17,20 @@ if (isset($_POST['identifiant']) && isset($_POST['mdp']) && !empty($_POST['ident
|
||||
$result = validationIdentifiants($pdo,$_POST['identifiant'],trim($_POST['mdp']));
|
||||
|
||||
if($result) {
|
||||
$duree_session=2592000;
|
||||
session_set_cookie_params($duree_session);
|
||||
session_start();
|
||||
$_SESSION['id_utilisateur'] = $result[0]['id'];
|
||||
$_SESSION['pseudo_utilisateur'] = $result[0]['utilisateur'];
|
||||
$_SESSION['nom_utilisateur'] = $result[0]['nom_complet'];
|
||||
$_SESSION['privilege_utilisateur'] = $result[0]['privilege'];
|
||||
$_SESSION['pseudo_connexion_utilisateur'] = $result[0]['utilisateur'];
|
||||
|
||||
if (isset($_SESSION['pseudo_utilisateur']) && !empty($_SESSION['pseudo_utilisateur']) && $_SESSION['privilege_utilisateur']=="administrateur") {
|
||||
if (isset($_SESSION['pseudo_utilisateur']) && !empty($_SESSION['pseudo_utilisateur']) && $_SESSION['privilege_utilisateur']==="administrateur") {
|
||||
header ("location: /pages/gestion/administration.php?message=bienvenue&page=accueil");
|
||||
die();
|
||||
}
|
||||
elseif (isset($_SESSION['pseudo_utilisateur']) && !empty($_SESSION['pseudo_utilisateur']) && $_SESSION['privilege_utilisateur']=="utilisateur") {
|
||||
elseif (isset($_SESSION['pseudo_utilisateur']) && !empty($_SESSION['pseudo_utilisateur']) && $_SESSION['privilege_utilisateur']==="utilisateur") {
|
||||
header ("location: /pages/gestion/administration.php?message=bienvenue&page=accueil");
|
||||
die();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user