pas d'ajax pour l'appel du form edition + meilleur gestion de l'alea

This commit is contained in:
Christophe 2020-08-13 22:50:59 +02:00
parent 1ad3ac146b
commit 4058ab0381
3 changed files with 14 additions and 8 deletions

View file

@ -1,6 +1,6 @@
<div class="inner"> <div class="inner">
<h1>Editer compte SPIP</h1> <h1>Editer compte SPIP</h1>
<div class="ajax"> <div class="pasAJAX">
[(#FORMULAIRE_EDITER_COMPTE_SPIP{#SESSION{id_auteur}})] [(#FORMULAIRE_EDITER_COMPTE_SPIP{#SESSION{id_auteur}})]
</div> </div>
</div> </div>

View file

@ -51,16 +51,16 @@
jQuery(function(){ jQuery(function(){
jQuery('form#editer_compte_spip').on('submit', function(e){ jQuery('form#editer_compte_spip').on('submit', function(e){
var alea = "#ENV{alea}"; //var alea = "#ENV{alea}";
['#champ_password', "#champ_password_confirmation"].forEach((champ)=>{ ['#champ_password', "#champ_password_confirmation"].forEach((champ)=>{
var pass = $(champ).val(); var pass = $(champ).val();
console.log(alea);
if (!pass.match(/^\{([0-9a-f]{32});([0-9a-f]{32})\}$/i) if (!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) && !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 && sha256_self_test() // verifions que le hash sha est operationnel
) { ) {
var hash = hex_sha256(alea + pass); //var hash = hex_sha256(alea + pass);
var hash = hex_sha256(pass);
if ( hash ) { if ( hash ) {
$('input'+champ).val(hash); $('input'+champ).val(hash);
} }

View file

@ -16,13 +16,13 @@ function formulaires_editer_compte_spip_charger_dist($id_auteur = 'new', $redir
if (lire_config('comptespip/modif_logo_auteur')) { if (lire_config('comptespip/modif_logo_auteur')) {
$valeurs['_bigup_rechercher_fichiers'] = 'true'; $valeurs['_bigup_rechercher_fichiers'] = 'true';
$valeurs['logo'] = ''; $valeurs['logo'] = '';
$valeurs['alea'] = $valeurs['alea_actuel'];
} }
} }
$valeurs['alea'] = ''; $valeurs['alea'] = '';
$valeurs['password'] = ''; $valeurs['password'] = '';
$valeurs['password_confirmation'] = ''; $valeurs['password_confirmation'] = '';
$valeurs['pass_longeur_mini'] = _PASS_LONGUEUR_MINI;
return $valeurs; return $valeurs;
} }
@ -41,9 +41,9 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi
$erreurs['password_confirmation'] = _T('info_passes_identiques'); $erreurs['password_confirmation'] = _T('info_passes_identiques');
} }
if ( strlen(_request('password')) > 0 and strlen(_request('password')) < _PASS_LONGUEUR_MINI ){ //if ( strlen(_request('password')) > 0 and strlen(_request('password')) < _PASS_LONGUEUR_MINI ){
$erreurs['password'] = _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI)); //$erreurs['password'] = _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI));
} //}
// Mais si l'un des deux champs n'est pas rempli, cette erreur prend le dessus // Mais si l'un des deux champs n'est pas rempli, cette erreur prend le dessus
if ($id_auteur === 'new') { if ($id_auteur === 'new') {
@ -117,6 +117,7 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
$retour = []; $retour = [];
include_spip('action/editer_auteur'); include_spip('action/editer_auteur');
include_spip('inc/acces');
$password = _request('password'); $password = _request('password');
@ -131,13 +132,18 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir
$login .= '_'.$id_auteur; $login .= '_'.$id_auteur;
$set['login'] = $login; $set['login'] = $login;
$set['pass'] = $password; $set['pass'] = $password;
$set['alea_actuel'] = "";
$set['alea_futur'] = creer_uniqid();
$set['statut'] = $mode; $set['statut'] = $mode;
} else { } else {
if ($password) { if ($password) {
$set['pass'] = $password; $set['pass'] = $password;
$set['alea_actuel'] = "";
$set['alea_futur'] = creer_uniqid();
} }
} }
if (!empty($saisies)) { if (!empty($saisies)) {
foreach ($saisies as $saisie) { foreach ($saisies as $saisie) {
$champ = $saisie['options']['nom']; $champ = $saisie['options']['nom'];