8 Commits

Author SHA1 Message Date
nmorin ac5ca20de6 Merge branch 'master' into develop 2023-08-02 22:38:55 +02:00
ycharbi 6b433361b3 Modification de la septième image en rapport avec l'ajout de la section information du dernier commit 2023-07-09 16:46:03 +02:00
ycharbi f3c057aec2 Ajout d'une section d'information dans les paramètres de l'administrateur + ajout de la version du site dans cette dernière 2023-07-09 16:39:16 +02:00
ycharbi b2248c3715 Modification des captures d'écran + adaptation du fichier README.md en conséquence 2023-07-09 16:23:11 +02:00
ycharbi b4e9654ad1 Suppression des formulaires de changement de mot de passe et de préfixe utilisateur faisant doublons avec la page dédiée aux utilisateurs 2023-06-17 12:44:31 +02:00
ycharbi 561139835b Actualisation du fichier README prenant en compte les nouvelles fonctions autour des utilisateurs + ajout d'un message indiquant que les fichiers de l'utilisateur prochainement supprimé devront l'être manuellement sur le serveur + correction d'une faute de français dans le message au survol d'une modification de préfixe utilisateur 2023-06-17 11:55:45 +02:00
ycharbi d77dcc32db Envoi d'un code HTTP 404 si la page demandée dans l'administration n'existe pas + modification de l'état d'un alias virtuel uniquement si la valeur envoyée est 0 ou 1 + ajout de fonctions die() après chaque redirections header HTTP dans les pages de traitements + nettoyage d'un ancien code commenté dans editUtilisateur.php 2023-06-17 11:54:36 +02:00
nmorin d597b1a5bf V1.0.0
Première version stable
2022-09-03 22:11:28 +02:00
21 changed files with 69 additions and 72 deletions
+4 -2
View File
@@ -9,7 +9,7 @@ L'objectif de Courtail est de permettre le paramétrage de certaines fonctionnal
* ajout, activation/désactivation, suppression des alias virtuels
* ajout, activation/désactivation, suppression des domaines
* ajout, activation/désactivation, suppression des adresses en liste noire
* changement de mot de passe des utilisateurs
* ajout, activation/désactivation, suppression, changement de préfixe, changement de mot de passe, changement de privilège des utilisateurs
* exportation/importation des alias virtuels d'un utilisateur
* exportation/importation des données (à la carte) du site
@@ -62,4 +62,6 @@ Plusieurs utilisateurs sont créés dans notre exemple :
![Page liste noire des expéditeurs](outils/galerie/courtail-galerie-5.png)
![Page des paramètres](outils/galerie/courtail-galerie-6.png)
![Page des utilisateurs](outils/galerie/courtail-galerie-6.png)
![Page des paramètres](outils/galerie/courtail-galerie-7.png)
+9
View File
@@ -38,3 +38,12 @@
* https://dabblet.com/gist/1506530
* https://css-tricks.com/the-checkbox-hack/
*/
/* Style concernant le message d'avertissement concernant les fichiers d'un utilisateur après sa suppression dans les menus déroulants d'une pastille */
.confirmation-avertissement-info {
display: none;
}
.input-checkbox-supprimer-valeur:checked ~ .confirmation-avertissement-info {
display: inline;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 339 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

+1
View File
@@ -56,6 +56,7 @@ if (isset($_GET['page']) && !empty($_GET['page'])) {
break;
default:
http_response_code(404);
echo "<h1>Cette page n'existe pas.</h1>";
break;
}
@@ -93,6 +93,7 @@ function modifEtatAliasVirtuelsBdd($pdo,$retour_form) {
try {
$compteModifs=0;
foreach ($retour_form as $id_alias_virtuel => $etat_alias_virtuel) {
if ($etat_alias_virtuel==0 || $etat_alias_virtuel==1) {
$req='UPDATE postfix_alias_virtuels SET active=:etat_alias_virtuel WHERE id=:id_alias_virtuel AND destination=:pseudo_utilisateur';
$sql=$pdo->prepare($req);
@@ -102,6 +103,7 @@ function modifEtatAliasVirtuelsBdd($pdo,$retour_form) {
$sql->execute();
}
}
}
catch (\Exception $e) {
// Récupération du code de retour de la commande SQLite
$code_retour=$sql->errorInfo();
+31 -30
View File
@@ -18,7 +18,6 @@ if ($_SESSION['pseudo_connexion_utilisateur'] !== $_SESSION['pseudo_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">
@@ -54,23 +53,19 @@ if (testPrivileges()==="administrateur") {
}
/**
* Changement du mot de passe d'un utilisateur.
* Changement du mot de passe de l'utilisateur courant.
*/
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="col-12 col-md-12">
<?php if ($_SESSION['privilege_utilisateur']==="utilisateur" && !empty($prefixe_utilisateur)){ ?>
<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>
<h5 class="card-title">Modifier le mot de passe</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="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>
@@ -78,29 +73,13 @@ if ($_SESSION['privilege_utilisateur']==="administrateur" && !empty($prefixe_uti
</form>
</div>
</div>
<?php } ?>
</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_;
}
/**
* Sauvegarde des alias virtuels de l'utilisateur sélectionné.
*/
echo <<<_HEREDOC_
<div class="col-12 col-md-12 col-xl-6">
<div class="card mt-4 max-hauteur-pastille">
@@ -114,6 +93,9 @@ if ($_SESSION['privilege_utilisateur']==="administrateur" && !empty($prefixe_uti
</div>
_HEREDOC_;
/**
* Restauration des alias virtuels de l'utilisateur sélectionné.
*/
echo <<<_HEREDOC_
<div class="col-12 col-md-12 col-xl-6">
<div class="card mt-4 max-hauteur-pastille">
@@ -132,6 +114,9 @@ if ($_SESSION['privilege_utilisateur']==="administrateur" && !empty($prefixe_uti
</div>
_HEREDOC_;
/**
* Sauvegarde de la base de données selon la sélection de l'administrateur.
*/
if ($_SESSION['privilege_utilisateur']==="administrateur") {
echo <<<_HEREDOC_
<div class="col-12 col-md-12 col-xl-6">
@@ -169,6 +154,9 @@ if ($_SESSION['privilege_utilisateur']==="administrateur" && !empty($prefixe_uti
_HEREDOC_;
}
/**
* Restauration de la base de données selon la sélection de l'administrateur.
*/
if ($_SESSION['privilege_utilisateur']==="administrateur") {
echo <<<_HEREDOC_
<div class="col-12 col-md-12 col-xl-6">
@@ -210,6 +198,19 @@ if ($_SESSION['privilege_utilisateur']==="administrateur" && !empty($prefixe_uti
_HEREDOC_;
}
if ($_SESSION['privilege_utilisateur']==="administrateur") {
echo <<<_HEREDOC_
<div class="col-12 col-md-12 col-xl-12">
<div class="card mt-4 max-hauteur-pastille">
<div class="card-body">
<h5 class="card-title">Informations du site</h5>
<p class="mb-0">Version de Courtail : <a href="https://gitea.ycharbi.fr/YC-NM/Courtail/releases">v1.1.0</a></p>
</div>
</div>
</div>
_HEREDOC_;
}
?>
</div>
+2 -1
View File
@@ -28,7 +28,7 @@ if (testPrivileges()==="administrateur") {
<div class="row">
<div class="col-xl-5 col-12 pt-2">
<div class="input-group">
<input class="form-control" type="text" name="prefixe_utilisateur" placeholder="prefixe" title="Texte s'ajoutant devant les alias de l'utilisateurs afin de les discriminer de ceux des autres">
<input class="form-control" type="text" name="prefixe_utilisateur" placeholder="prefixe" title="Texte s'ajoutant devant les alias de l'utilisateur afin de les discriminer de ceux des autres">
<input type="text" class="form-control" id="nom_pour_filtre" name="nom_utilisateur" placeholder="nom utilisateur *" onkeyup="filtreValeurs();" title="Identifiant de l'utilisateur" required>
<span class="input-group-text">@</span>
<select class="form-select" name="choix_domaine_utilisateur" title="Choix d'un nom de domaine existant">
@@ -152,6 +152,7 @@ _HEREDOC_;
</div>
<input type="checkbox" class="input-checkbox-supprimer-valeur visuellement-cache" id="supprimer-valeur-{$utilisateurs_valeurs['id']}">
<div class="confirmation-avertissement-info alert alert-warning" role="alert"><img src="/fichiers/svg/alert-triangle-warning.svg"/> Les fichiers de l'utilisateur devront être supprimés manuellement du serveur</div>
<a class="confirmation-suppression card-footer" href="/services/traitements/utilisateurs/supprUtilisateur.php?supprUtilisateur={$utilisateurs_valeurs['id']}">Confirmer la suppression</a>
</div>
@@ -11,5 +11,6 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.
modifEtatAliasVirtuelsBdd($pdo,$_POST);
header ("Location: /pages/gestion/administration.php?page=alias&succes=2");
die();
?>
@@ -11,9 +11,11 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.
if(isset($_GET['supprAliasVirtuel']) && !empty($_GET['supprAliasVirtuel']) && supprAliasVirtuelsBdd($pdo,$_GET['supprAliasVirtuel'])) {
header ("Location: /pages/gestion/administration.php?page=alias&succes=3");
die();
}
else {
header ("Location: /pages/gestion/administration.php?page=alias&erreur=1");
die();
}
?>
@@ -14,5 +14,6 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
modifEtatDomainesBdd($pdo,$_POST);
header ("Location: /pages/gestion/administration.php?page=domaines&succes=6");
die();
?>
@@ -14,9 +14,11 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
if(isset($_GET['supprDomaine']) && !empty($_GET['supprDomaine']) && supprDomainesBdd($pdo,$_GET['supprDomaine'])) {
header ("Location: /pages/gestion/administration.php?page=domaines&succes=7");
die();
}
else {
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=5");
die();
}
?>
@@ -14,9 +14,11 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.p
if(isset($_GET['supprEntreeListeNoireDst']) && !empty($_GET['supprEntreeListeNoireDst']) && supprEntreeListeNoireDstBdd($pdo,$_GET['supprEntreeListeNoireDst'])) {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=destinataires&succes=11");
die();
}
else {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=destinataires&erreur=11");
die();
}
?>
@@ -14,9 +14,11 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.p
if(isset($_GET['supprEntreeListeNoireExp']) && !empty($_GET['supprEntreeListeNoireExp']) && supprEntreeListeNoireExpBdd($pdo,$_GET['supprEntreeListeNoireExp'])) {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=expediteurs&succes=14");
die();
}
else {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=expediteurs&erreur=15");
die();
}
?>
@@ -31,4 +31,5 @@ elseif (!empty($erreur)) {
// Redirection de l'utilisateur vers la page d'authentifiaction
header('location: /pages/visiteurs/formulaire_accueil.php?succes=15');
die();
?>
@@ -49,34 +49,4 @@ foreach ($liste_utilisateurs as $enieme_utilisateur_liste => $infos_utilisateur_
header ("Location: /pages/gestion/administration.php?page=utilisateurs&succes=22");
die();
/*$numero_entree=1;
foreach ($_POST as $cle_post => $infos_utilisateur){
$toto=$_POST["id_utilisateur$numero_entree"];
echo $_POST["nom_complet_utilisateur$toto"];/*
// Vérification de l'existance du domaine renseigné par l'utilisateur
/*if ($_POST['choix_domaine_utilisateur'] === $domaine_valeurs['domaine']) {
if ($_POST['choix_privilege_utilisateur'] === 'utilisateur' || $_POST['prefixe_utilisateur'] === 'administrateur') {
modifUtilisateursBdd($pdo,$_POST["nom_complet_utilisateur$id_utilisateur"],$_POST["prefixe_utilisateur$id_utilisateur"],$_POST["choix_privilege_utilisateur$id_utilisateur"],$_POST['mot_de_passe_utilisateur'],$_POST['nom_complet_utilisateur'],$_POST['choix_privilege_utilisateur']);
changeMotDePasseUtilisateurBdd($pdo,substr(htmlspecialchars($_POST['nom_utilisateur']."@".$_POST['choix_domaine_utilisateur']),0,100),trim($_POST['mot_de_passe_utilisateur']),trim($_POST['mot_de_passe_utilisateur']));
header ("Location: /pages/gestion/administration.php?page=utilisateurs&succes=20");
die();
}
else {
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=27");
die();
}
}*/
/*$numero_entree++;
}*/
//echo "$id_utilisateur";
//echo "$infos_utilisateur";
/*die();
header ("Location: /pages/gestion/administration.php?page=utilisateurs&erreur=26");
die();
modifUtilisateursBdd($pdo,$_POST);
header ("Location: /pages/gestion/administration.php?page=utilisateurs&succes=22");*/
?>