From cd0d35279e75ac87de2b92fd87994890f518218c Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 7 Nov 2023 19:19:26 +0100 Subject: [PATCH 1/3] login reset submit size --- core/module/user/view/reset/reset.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/module/user/view/reset/reset.php b/core/module/user/view/reset/reset.php index f82775e9..926d600e 100644 --- a/core/module/user/view/reset/reset.php +++ b/core/module/user/view/reset/reset.php @@ -12,7 +12,7 @@
-
+
'Valider' ]); ?> From a7b4ea2d156a640c3c3acc6fb76ac2cadfd9008f Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 7 Nov 2023 21:48:37 +0100 Subject: [PATCH 2/3] =?UTF-8?q?user=20for=C3=A7age=20mot=20de=20passe=20pa?= =?UTF-8?q?r=20admin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/user/user.php | 40 +++++++++++++++++++---------- core/module/user/view/edit/edit.php | 14 ++++++---- 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/core/module/user/user.php b/core/module/user/user.php index 7c2de47d..96e64040 100644 --- a/core/module/user/user.php +++ b/core/module/user/user.php @@ -266,25 +266,37 @@ class user extends common $this->isPost() ) { // Double vérification pour le mot de passe - $newPassword = $this->getData(['user', $this->getUrl(2), 'password']); - if ($this->getInput('userEditNewPassword')) { - // L'ancien mot de passe est correct - if (password_verify(html_entity_decode($this->getInput('userEditOldPassword')), $this->getData(['user', $this->getUrl(2), 'password']))) { - // La confirmation correspond au mot de passe - if ($this->getInput('userEditNewPassword') === $this->getInput('userEditConfirmPassword')) { - $newPassword = $this->getInput('userEditNewPassword', helper::FILTER_PASSWORD, true); - // Déconnexion de l'utilisateur si il change le mot de passe de son propre compte - if ($this->getUser('id') === $this->getUrl(2)) { - helper::deleteCookie('ZWII_USER_ID'); - helper::deleteCookie('ZWII_USER_PASSWORD'); + if ($this->getUser('group') < self::GROUP_ADMIN) { + $newPassword = $this->getData(['user', $this->getUrl(2), 'password']); + if ($this->getInput('userEditNewPassword')) { + // L'ancien mot de passe est correct + if (password_verify(html_entity_decode($this->getInput('userEditOldPassword')), $this->getData(['user', $this->getUrl(2), 'password']))) { + // La confirmation correspond au mot de passe + if ($this->getInput('userEditNewPassword') === $this->getInput('userEditConfirmPassword')) { + $newPassword = $this->getInput('userEditNewPassword', helper::FILTER_PASSWORD, true); + // Déconnexion de l'utilisateur si il change le mot de passe de son propre compte + if ($this->getUser('id') === $this->getUrl(2)) { + helper::deleteCookie('ZWII_USER_ID'); + helper::deleteCookie('ZWII_USER_PASSWORD'); + } + } else { + self::$inputNotices['userEditConfirmPassword'] = helper::translate('Incorrect'); } } else { - self::$inputNotices['userEditConfirmPassword'] = helper::translate('Incorrect'); + self::$inputNotices['userEditOldPassword'] = helper::translate('Incorrect'); + } + } + } else { + if ($this->getInput('userEditNewPassword') === $this->getInput('userEditConfirmPassword')) { + $newPassword = $this->getInput('userEditNewPassword', helper::FILTER_PASSWORD, true); + // Déconnexion de l'utilisateur si il change le mot de passe de son propre compte + if ($this->getUser('id') === $this->getUrl(2)) { + helper::deleteCookie('ZWII_USER_ID'); + helper::deleteCookie('ZWII_USER_PASSWORD'); } - } else { - self::$inputNotices['userEditOldPassword'] = helper::translate('Incorrect'); } } + // Modification du groupe if ( $this->getUser('group') === self::GROUP_ADMIN diff --git a/core/module/user/view/edit/edit.php b/core/module/user/view/edit/edit.php index 26c03c6a..7e84097e 100644 --- a/core/module/user/view/edit/edit.php +++ b/core/module/user/view/edit/edit.php @@ -81,11 +81,15 @@ 'readonly' => true, 'value' => $this->getUrl(2) ]); ?> - 'new-password', - // remplace 'off' pour éviter le pré remplissage auto - 'label' => 'Ancien mot de passe' - ]); ?> + getUser('group') < self::GROUP_ADMIN): ?> + 'new-password', + // remplace 'off' pour éviter le pré remplissage auto + 'label' => 'Ancien mot de passe', + ]); ?> + 'off', 'label' => 'Nouveau mot de passe' From 409e10fad172a4a0f9773aff4d1899c65ca4d9a0 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 7 Nov 2023 21:49:39 +0100 Subject: [PATCH 3/3] changes --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 5678fad5..72504cba 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -10,6 +10,7 @@ ## Améliorations +- Les administrateurs ont la possibilité de forcer un changement de mot de passe sans avoir à connaître le mot de passe en vigueur. - Inversion de l'ordre des boutons dans la fenêtre de login sur les petits écrans. - Modification des barres d'outils de l'éditeur de texte TinyMCE. - Gestion des profils des modules, les termes sont plus précis (*Ajouter un article* au lieu d'*Ajouter*).