diff --git a/formulaires/editer_compte_spip.html b/formulaires/editer_compte_spip.html
index ddcb123..46c3c49 100644
--- a/formulaires/editer_compte_spip.html
+++ b/formulaires/editer_compte_spip.html
@@ -31,7 +31,15 @@
[(#SET{min,#VAL{minlength=}|concat{#ENV{pass_longeur_mini,6}}})]
[(#SET{chaine_langue,#VAL{comptespip:champ_password}|_T{#ARRAY{min,#ENV{pass_longeur_mini}}}})]
-
+
+
+ [(#SAISIE{input,new_password}
+ {type=hidden}
+ )]
+ [(#SAISIE{input,new_password_confirmation}
+ {type=hidden}
+ )]
+
[(#SAISIE{input,password}
{type=password}
{attributs=#GET{min}}
@@ -62,15 +70,21 @@
//var alea = "#ENV{alea}";
['#champ_password', "#champ_password_confirmation"].forEach((champ)=>{
var pass = $(champ).val();
+ $(champ).val('');
- if (!pass.match(/^\{([0-9a-f]{32});([0-9a-f]{32})\}$/i)
+ if (pass
+ && !pass.match(/^\{([0-9a-f]{32});([0-9a-f]{32})\}$/i)
&& !pass.match(/^\{([0-9a-f]{64});([0-9a-f]{64});([0-9a-f]{32});([0-9a-f]{32})\}$/i)
&& sha256_self_test() // verifions que le hash sha est operationnel
) {
//var hash = hex_sha256(alea + pass);
var hash = hex_sha256(pass);
if ( hash ) {
- $('input'+champ).val(hash);
+ if (champ === "#champ_password") {
+ $('input#champ_new_password').val(hash);
+ } else {
+ $('input#champ_new_password_confirmation').val(hash);
+ }
}
}
});
diff --git a/formulaires/editer_compte_spip.php b/formulaires/editer_compte_spip.php
index e5d12b0..e73ff9b 100644
--- a/formulaires/editer_compte_spip.php
+++ b/formulaires/editer_compte_spip.php
@@ -20,6 +20,8 @@ function formulaires_editer_compte_spip_charger_dist($id_auteur = 'new', $redir
}
$valeurs['alea'] = '';
+ $valeurs['new_password'] = '';
+ $valeurs['new_password_confirmation'] = '';
$valeurs['password'] = '';
$valeurs['password_confirmation'] = '';
$valeurs['pass_longeur_mini'] = _PASS_LONGUEUR_MINI;
@@ -37,8 +39,8 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
}
// mot de passe
- if (_request('password') != _request('password_confirmation')){
- $erreurs['password_confirmation'] = _T('info_passes_identiques');
+ if (_request('new_password') != _request('new_password_confirmation')){
+ $erreurs['new_password_confirmation'] = _T('info_passes_identiques');
}
//if ( strlen(_request('password')) > 0 and strlen(_request('password')) < _PASS_LONGUEUR_MINI ){
@@ -47,11 +49,11 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
// Mais si l'un des deux champs n'est pas rempli, cette erreur prend le dessus
if ($id_auteur === 'new') {
- if (!_request('password')){
- $erreurs['password'] = _T('info_obligatoire');
+ if (!_request('new_password')){
+ $erreurs['new_password'] = _T('info_obligatoire');
}
- if (!_request('password_confirmation')){
- $erreurs['password_confirmation'] = _T('info_obligatoire');
+ if (!_request('new_password_confirmation')){
+ $erreurs['new_password_confirmation'] = _T('info_obligatoire');
}
}
@@ -119,7 +121,7 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
include_spip('action/editer_auteur');
include_spip('inc/acces');
- $password = _request('password');
+ $password = _request('new_password');
$update = true;
$set = [];