Forçage de mot de passe si vide + redirection après reset
This commit is contained in:
parent
28927ad747
commit
4176043958
@ -265,9 +265,9 @@ class user extends common
|
|||||||
if (
|
if (
|
||||||
$this->isPost()
|
$this->isPost()
|
||||||
) {
|
) {
|
||||||
|
$oldPassword = $this->getData(['user', $this->getUrl(2), 'password']);
|
||||||
// Double vérification pour le mot de passe
|
// Double vérification pour le mot de passe
|
||||||
if ($this->getUser('group') < self::GROUP_ADMIN) {
|
if ($this->getUser('group') < self::GROUP_ADMIN) {
|
||||||
$newPassword = $this->getData(['user', $this->getUrl(2), 'password']);
|
|
||||||
if ($this->getInput('userEditNewPassword')) {
|
if ($this->getInput('userEditNewPassword')) {
|
||||||
// L'ancien mot de passe est correct
|
// L'ancien mot de passe est correct
|
||||||
if (password_verify(html_entity_decode($this->getInput('userEditOldPassword')), $this->getData(['user', $this->getUrl(2), 'password']))) {
|
if (password_verify(html_entity_decode($this->getInput('userEditOldPassword')), $this->getData(['user', $this->getUrl(2), 'password']))) {
|
||||||
@ -287,7 +287,10 @@ class user extends common
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($this->getInput('userEditNewPassword') === $this->getInput('userEditConfirmPassword')) {
|
if (
|
||||||
|
!empty($this->getInput('userEditNewPassword'))
|
||||||
|
&& $this->getInput('userEditNewPassword') === $this->getInput('userEditConfirmPassword')
|
||||||
|
) {
|
||||||
$newPassword = $this->getInput('userEditNewPassword', helper::FILTER_PASSWORD);
|
$newPassword = $this->getInput('userEditNewPassword', helper::FILTER_PASSWORD);
|
||||||
// Déconnexion de l'utilisateur si il change le mot de passe de son propre compte
|
// Déconnexion de l'utilisateur si il change le mot de passe de son propre compte
|
||||||
if ($this->getUser('id') === $this->getUrl(2)) {
|
if ($this->getUser('id') === $this->getUrl(2)) {
|
||||||
@ -296,7 +299,7 @@ class user extends common
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Modification du groupe
|
// Modification du groupe
|
||||||
if (
|
if (
|
||||||
$this->getUser('group') === self::GROUP_ADMIN
|
$this->getUser('group') === self::GROUP_ADMIN
|
||||||
@ -332,7 +335,7 @@ class user extends common
|
|||||||
'pseudo' => $this->getInput('userEditPseudo', helper::FILTER_STRING_SHORT, true),
|
'pseudo' => $this->getInput('userEditPseudo', helper::FILTER_STRING_SHORT, true),
|
||||||
'signature' => $this->getInput('userEditSignature', helper::FILTER_INT, true),
|
'signature' => $this->getInput('userEditSignature', helper::FILTER_INT, true),
|
||||||
'mail' => $this->getInput('userEditMail', helper::FILTER_MAIL, true),
|
'mail' => $this->getInput('userEditMail', helper::FILTER_MAIL, true),
|
||||||
'password' => $newPassword ? $newPassword : $this->getData(['user', $this->getUrl(2)], 'password'),
|
'password' => empty($newPassword) ? $oldPassword : $newPassword,
|
||||||
'connectFail' => $this->getData(['user', $this->getUrl(2), 'connectFail']),
|
'connectFail' => $this->getData(['user', $this->getUrl(2), 'connectFail']),
|
||||||
'connectTimeout' => $this->getData(['user', $this->getUrl(2), 'connectTimeout']),
|
'connectTimeout' => $this->getData(['user', $this->getUrl(2), 'connectTimeout']),
|
||||||
'accessUrl' => $this->getData(['user', $this->getUrl(2), 'accessUrl']),
|
'accessUrl' => $this->getData(['user', $this->getUrl(2), 'accessUrl']),
|
||||||
@ -1010,7 +1013,7 @@ class user extends common
|
|||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
$logStatus = 'Connexion réussie';
|
$logStatus = 'Connexion réussie';
|
||||||
$redirect = $this->getUrl(2) ? helper::baseUrl() . str_replace('_', '/', str_replace('__', '#', $this->getUrl(2))) : helper::baseUrl();
|
$redirect = ($this->getUrl(2) && strpos($this->getUrl(2), 'user_reset') !== 0) ? helper::baseUrl() . str_replace('_', '/', str_replace('__', '#', $this->getUrl(2))) : helper::baseUrl();
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'notification' => sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname'])),
|
'notification' => sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname'])),
|
||||||
@ -1091,6 +1094,7 @@ class user extends common
|
|||||||
// Id unique incorrecte
|
// Id unique incorrecte
|
||||||
or $this->getUrl(3) !== md5(json_encode($this->getData(['user', $this->getUrl(2)])))
|
or $this->getUrl(3) !== md5(json_encode($this->getData(['user', $this->getUrl(2)])))
|
||||||
) {
|
) {
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'access' => false
|
'access' => false
|
||||||
@ -1100,7 +1104,7 @@ class user extends common
|
|||||||
else {
|
else {
|
||||||
// Soumission du formulaire
|
// Soumission du formulaire
|
||||||
if (
|
if (
|
||||||
// Tous les suers peuvent réinitialiser
|
// Tous les users peuvent réinitialiser
|
||||||
// $this->getUser('permission', __CLASS__, __FUNCTION__) === true &&
|
// $this->getUser('permission', __CLASS__, __FUNCTION__) === true &&
|
||||||
$this->isPost()
|
$this->isPost()
|
||||||
) {
|
) {
|
||||||
@ -1123,8 +1127,7 @@ class user extends common
|
|||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'notification' => helper::translate('Nouveau mot de passe enregistré'),
|
'notification' => helper::translate('Nouveau mot de passe enregistré'),
|
||||||
//'redirect' => helper::baseUrl() . 'user/login/' . str_replace('/', '_', $this->getUrl()),
|
'redirect' => helper::baseUrl() . 'user/login/' . str_replace('/', '_', $this->getUrl()),
|
||||||
'redirect' => helper::baseUrl(),
|
|
||||||
'state' => true
|
'state' => true
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user