This commit is contained in:
Fred Tempez 2023-11-08 09:05:41 +01:00
commit dca5418647
4 changed files with 39 additions and 23 deletions

View File

@ -50,7 +50,7 @@ class common
const ACCESS_TIMER = 1800; const ACCESS_TIMER = 1800;
// Numéro de version // Numéro de version
const ZWII_VERSION = '1.0.65'; const ZWII_VERSION = '1.0.66';
// URL autoupdate // URL autoupdate
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/campus-update/raw/branch/master/'; const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/campus-update/raw/branch/master/';

View File

@ -266,25 +266,37 @@ class user extends common
$this->isPost() $this->isPost()
) { ) {
// Double vérification pour le mot de passe // Double vérification pour le mot de passe
$newPassword = $this->getData(['user', $this->getUrl(2), 'password']); if ($this->getUser('group') < self::GROUP_ADMIN) {
if ($this->getInput('userEditNewPassword')) { $newPassword = $this->getData(['user', $this->getUrl(2), 'password']);
// L'ancien mot de passe est correct if ($this->getInput('userEditNewPassword')) {
if (password_verify(html_entity_decode($this->getInput('userEditOldPassword')), $this->getData(['user', $this->getUrl(2), 'password']))) { // L'ancien mot de passe est correct
// La confirmation correspond au mot de passe if (password_verify(html_entity_decode($this->getInput('userEditOldPassword')), $this->getData(['user', $this->getUrl(2), 'password']))) {
if ($this->getInput('userEditNewPassword') === $this->getInput('userEditConfirmPassword')) { // La confirmation correspond au mot de passe
$newPassword = $this->getInput('userEditNewPassword', helper::FILTER_PASSWORD, true); if ($this->getInput('userEditNewPassword') === $this->getInput('userEditConfirmPassword')) {
// Déconnexion de l'utilisateur si il change le mot de passe de son propre compte $newPassword = $this->getInput('userEditNewPassword', helper::FILTER_PASSWORD, true);
if ($this->getUser('id') === $this->getUrl(2)) { // Déconnexion de l'utilisateur si il change le mot de passe de son propre compte
helper::deleteCookie('ZWII_USER_ID'); if ($this->getUser('id') === $this->getUrl(2)) {
helper::deleteCookie('ZWII_USER_PASSWORD'); helper::deleteCookie('ZWII_USER_ID');
helper::deleteCookie('ZWII_USER_PASSWORD');
}
} else {
self::$inputNotices['userEditConfirmPassword'] = helper::translate('Incorrect');
} }
} else { } 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 // Modification du groupe
if ( if (
$this->getUser('group') === self::GROUP_ADMIN $this->getUser('group') === self::GROUP_ADMIN
@ -719,7 +731,7 @@ class user extends common
// Liste des modules installés // Liste des modules installés
self::$listModules = helper::getModules(); self::$listModules = helper::getModules();
self::$listModules = array_keys(self::$listModules); self::$listModules = array_keys(self::$listModules);
// Charge les dialogues du module pour afficher les traductions // Charge les dialogues du module pour afficher les traductions
foreach (self::$listModules as $moduleId) { foreach (self::$listModules as $moduleId) {
if ( if (
@ -882,7 +894,7 @@ class user extends common
// Liste des modules installés // Liste des modules installés
self::$listModules = helper::getModules(); self::$listModules = helper::getModules();
self::$listModules = array_keys(self::$listModules); self::$listModules = array_keys(self::$listModules);
// Charge les dialogues du module pour afficher les traductions // Charge les dialogues du module pour afficher les traductions
foreach (self::$listModules as $moduleId) { foreach (self::$listModules as $moduleId) {
if ( if (

View File

@ -81,11 +81,15 @@
'readonly' => true, 'readonly' => true,
'value' => $this->getUrl(2) 'value' => $this->getUrl(2)
]); ?> ]); ?>
<?php echo template::password('userEditOldPassword', [ <?php
'autocomplete' => 'new-password', // Les admins ont le pouvoir de forcer le changement de mot de passe
// remplace 'off' pour éviter le pré remplissage auto if ($this->getUser('group') < self::GROUP_ADMIN): ?>
'label' => 'Ancien mot de passe' <?php echo template::password('userEditOldPassword', [
]); ?> 'autocomplete' => 'new-password',
// remplace 'off' pour éviter le pré remplissage auto
'label' => 'Ancien mot de passe',
]); ?>
<?php endif; ?>
<?php echo template::password('userEditNewPassword', [ <?php echo template::password('userEditNewPassword', [
'autocomplete' => 'off', 'autocomplete' => 'off',
'label' => 'Nouveau mot de passe' 'label' => 'Nouveau mot de passe'

View File

@ -12,7 +12,7 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col2 offset10"> <div class="col3 offset9">
<?php echo template::submit('userResetSubmit', [ <?php echo template::submit('userResetSubmit', [
'value' => 'Valider' 'value' => 'Valider'
]); ?> ]); ?>