diff --git a/Dockerfile b/Dockerfile index 5fad0fb..1041e3b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,6 +11,7 @@ COPY . /var/www/html/ RUN mv /var/www/html/outils/conf/php.ini /etc/php/7.4/apache2 && \ mv /var/www/html/outils/conf/apache2.conf /etc/apache2/ && \ chmod +x /var/www/html/outils/genenv.sh && \ -/var/www/html/outils/genenv.sh +/var/www/html/outils/genenv.sh && \ +chown -R www-data:www-data /var/www/html/ CMD /usr/sbin/apachectl -D FOREGROUND \ No newline at end of file diff --git a/README.md b/README.md index 857e3f6..7ea61f7 100644 --- a/README.md +++ b/README.md @@ -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 @@ -46,7 +46,7 @@ Plusieurs utilisateurs sont créés dans notre exemple : |---------------|------------|--------------| |demo@exemple.fr|demo |Administrateur| |toto@exemple.fr|toto |Administrateur| -|tata@exemple.fr|tata |Utilisateur | +|tata@tata.fr |tata |Utilisateur | *La définition d'un domaine par défaut dans la section dédiée du site permet l'usage d'identifiants courts (demo = demo@exemple.fr).* @@ -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) diff --git a/fichiers/css/confirmation.css b/fichiers/css/confirmation.css index f96c40c..f6d6853 100644 --- a/fichiers/css/confirmation.css +++ b/fichiers/css/confirmation.css @@ -1,4 +1,4 @@ -/* Style concernant la confirmation de suppression d'un alias virtuel */ +/* Style concernant les menus déroulants d'une pastille */ .confirmation-suppression { display: none; color: #fff; @@ -14,19 +14,23 @@ } .input-checkbox-supprimer-valeur:checked ~ .confirmation-suppression { - display: inline; + display: inline; } -/*.input-label-supprimer-valeur { - color: #ffffff; - background: #e23026; - padding: 0.5rem 1rem; - border-radius: 0.5rem; -}*/ - .visuellement-cache { - position: absolute; - left: -100vw; + position: absolute; + left: -100vw; +} + +.detail-utilisateur { + display: none; + color: #fff; + text-align: center; + text-decoration: none; +} + +.input-checkbox-detail-utilisateur:checked ~ .detail-utilisateur { + display: block; } /* Sources : @@ -34,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; +} \ No newline at end of file diff --git a/fichiers/css/personalisation.css b/fichiers/css/personalisation.css index 0ded1a5..c1b2cdb 100644 --- a/fichiers/css/personalisation.css +++ b/fichiers/css/personalisation.css @@ -113,3 +113,30 @@ body { .max-hauteur-pastille{ height: calc(100% - 1.5em); } + +.survol{ + display: inline-block; +} +.survol:hover .message-survol { + overflow: hidden; + padding: 12px 12px; + height: auto; + width: auto; + opacity: 1; +} + +.message-survol { + opacity: 0; + position: absolute; + z-index: 7; + background: #343a40; + color: #FFFFFF; + border: 1px solid transparent; + border-radius: 6px; + height: 0px; + width: 0px; + padding: 0 12px; + overflow: hidden; +/*-webkit-transition: all 500ms; + transition: all 500ms;*/ +} diff --git a/fichiers/js/formulaire.js b/fichiers/js/formulaire.js index 50da1e6..d64ca9b 100644 --- a/fichiers/js/formulaire.js +++ b/fichiers/js/formulaire.js @@ -5,8 +5,9 @@ /* * Fonction permettant d'afficher et de masquer le bouton d'enregistrement d'un changement d'état pour les alias virtuels, domaines et entrées de liste noire d'un utilisateur. **/ +const listedesentrees = []; + function activationBoutonFlotant(lui) { - const listedesentrees = []; if (listedesentrees.find(function(valeur) {return valeur == lui.name;})) { for( var i = 0; i < listedesentrees.length; i++){ if ( listedesentrees[i] === lui.name) { @@ -16,7 +17,7 @@ function activationBoutonFlotant(lui) { } } else { listedesentrees.push(lui.name); - }; + } if (listedesentrees.length > 0){ document.getElementById("enregistrer-interrupteur").classList.remove("desactiver"); diff --git a/fichiers/svg/chevrons-up.svg b/fichiers/svg/chevrons-up.svg new file mode 100644 index 0000000..e94a2be --- /dev/null +++ b/fichiers/svg/chevrons-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fichiers/svg/help-circle.svg b/fichiers/svg/help-circle.svg new file mode 100644 index 0000000..bd5c335 --- /dev/null +++ b/fichiers/svg/help-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fichiers/svg/menu.svg b/fichiers/svg/menu.svg new file mode 100644 index 0000000..b4a970c --- /dev/null +++ b/fichiers/svg/menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/inclusions/barre_menu.php b/inclusions/barre_menu.php index 9602bfe..b2b8ef8 100644 --- a/inclusions/barre_menu.php +++ b/inclusions/barre_menu.php @@ -22,16 +22,17 @@ if (isset($_GET['page']) && !empty($_GET['page'])) { Domaines