Skip to content
Extraits de code Groupes Projets
Valider 7d4aad7e rédigé par cerdic's avatar cerdic
Parcourir les fichiers

#1270 : ne pas se prendre les pieds dans le tapis dans les cas de saisie...

#1270 : ne pas se prendre les pieds dans le tapis dans les cas de saisie rapide ou par remplissage des champs par le navigateur
permettre aussi la surcharge du logo dans le formulaire, en deportant celui ci dans un inclure
qui est aussi evalue par action/informer_auteur
parent 441dcdcf
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -7,6 +7,7 @@ dist/feed.png -text ...@@ -7,6 +7,7 @@ dist/feed.png -text
dist/formulaires/choix_mots.html -text dist/formulaires/choix_mots.html -text
dist/formulaires/formulaire_.html -text dist/formulaires/formulaire_.html -text
dist/formulaires/login_forum_abo.html -text dist/formulaires/login_forum_abo.html -text
dist/formulaires/logo_auteur.html -text
dist/formulaires/oubli/charger.php -text dist/formulaires/oubli/charger.php -text
dist/formulaires/oubli/modifier.php -text dist/formulaires/oubli/modifier.php -text
dist/formulaires/oubli/valider.php -text dist/formulaires/oubli/valider.php -text
......
...@@ -28,9 +28,7 @@ ...@@ -28,9 +28,7 @@
<legend><:form_forum_identifiants:></legend> <legend><:form_forum_identifiants:></legend>
[<p class="reponse_formulaire">(#ENV*{erreur})</p>] [<p class="reponse_formulaire">(#ENV*{erreur})</p>]
[(#LOGO_AUTEUR||reduire_image{100,80}|inserer_attribut{alt,#ENV{login_alt}} <span id="spip_logo_auteur" class="spip_logos">[(#INCLURE{fond=formulaires/logo_auteur}{id_auteur}|inserer_attribut{alt,#ENV{login_alt}})]</span>
|sinon{<span id="spip_logo_auteur" class="spip_logos"></span>})]
[<p><label for="var_login"><:login_login2:></label>(#ENV{login}|?{'',' '})<br /> [<p><label for="var_login"><:login_login2:></label>(#ENV{login}|?{'',' '})<br />
<input type="text" class="forml" id="var_login" name="var_login" value="" size="40" /></p>] <input type="text" class="forml" id="var_login" name="var_login" value="" size="40" /></p>]
...@@ -94,37 +92,67 @@ document.getElementById('var_login[_(#ENV{login})]').focus(); ...@@ -94,37 +92,67 @@ document.getElementById('var_login[_(#ENV{login})]').focus();
var alea_actuel; var alea_actuel;
var alea_futur; var alea_futur;
var login; var login;
$('#pass_ajax').show().after('<input type="hidden" name="session_login_hidden" id="session_login_hidden" value="" />'); var informe_auteur_en_cours = false;
function informe_auteur(c){
eval('c = '+c); // JSON
if (c) {
alea_actuel = c.alea_actuel;
alea_futur = c.alea_futur;
$('input#session_login_hidden').attr('value',c.login);
// indiquer le cnx si on n'y a pas touche
$('input#session_remember.intact')
.attr('checked',c.cnx=='1'?'checked':'');
$('#spip_logo_auteur').html(c.logo);
} else {
$('#spip_logo_auteur').html('');
}
informe_auteur_en_cours = false;
}
function calcule_md5_pass(pass){
$('input\u005b@name=session_password\u005d').attr('value','');
$('form#login').attr('action','#ENV{pose_cookie}');
$('input\u005b@name=session_password_md5\u005d').attr('value',calcMD5(alea_actuel + pass));
$('input\u005b@name=next_session_password_md5\u005d').attr('value',calcMD5(alea_futur + pass));
}
$('#boite-login li.pass_ajax').show().parent('ol').after('<input type="hidden" name="session_login_hidden" id="session_login_hidden" value="" />');
$('#var_login').blur(function(){ $('#var_login').blur(function(){
if (login!=$(this).attr('value')) { if (login!=$(this).attr('value')) {
login = $(this).attr('value'); login = $(this).attr('value');
$.get('#URL_ACTION{informer_auteur}', informe_auteur_en_cours = true;
{var_login:$(this).attr('value')}, $.get('#URL_ACTION{informer_auteur}',{var_login:$(this).attr('value')},informe_auteur);
function (c) {
eval('c = '+c); // JSON
if (c) {
alea_actuel = c.alea_actuel;
alea_futur = c.alea_futur;
$('input#session_login_hidden').attr('value',c.login);
// indiquer le cnx si on n'y a pas touche
$('input#session_remember.intact')
.attr('checked',c.cnx=='1'?'checked':'');
$('#spip_logo_auteur').html(c.logo);
} else {
$('#spip_logo_auteur').html('');
}
});
} }
}); });
$('form#login').submit(function(){ $('form#login').submit(function(){
pass = $('input\u005b@name=session_password\u005d').attr('value'); pass = $('input\u005b@name=session_password\u005d').attr('value');
// ne jamais laisser le pass circuler en clair // ne jamais laisser le pass circuler en clair
$('input\u005b@name=session_password\u005d').attr('value','');
if (pass) { if (pass) {
if (alea_actuel!=undefined) { if (alea_actuel)
$(this).attr('action','#ENV{pose_cookie}'); // on a l'alea, on peut lancer le submit apres avoir hashe le pass
$('input\u005b@name=session_password_md5\u005d').attr('value',calcMD5(alea_actuel + pass)); calcule_md5_pass(pass);
$('input\u005b@name=next_session_password_md5\u005d').attr('value',calcMD5(alea_futur + pass)); else {
// on a pas encore l'alea de l'auteur
// retrouver les alea de l'auteur qui ne sont pas encore arrives (remplissage auto des champs par le navigateur) !
// si l'information est en cours, retenter sa chance
if (informe_auteur_en_cours) {
setTimeout(function(){$('form#login').submit();},300);
return false;
}
// sinon lancer une demande
informe_auteur_en_cours = true;
$.get('#URL_ACTION{informer_auteur}',{var_login:$('#var_login').attr('value')},function(c) {
informe_auteur(c);
// le formulaire sera soumis apres reception des info auteur
$('form#login').submit();
});
// ou dans un delai maxi de 5s (pour eviter le blocage a cette etape)
// mais sans le pass, ce qui fait retomber sur le scenario de repli du login en 2 passes
setTimeout(function(){
$('input\u005b@name=session_password\u005d').attr('value','');
$('form#login').submit();
},3000);
return false;
} }
} }
}); });
......
#HTTP_HEADER{Content-type:text/html;charset=#ENV{charset}}
[(#LOGO_AUTEUR||reduire_image{100,80})]
\ No newline at end of file
...@@ -28,13 +28,9 @@ function action_informer_auteur_dist() { ...@@ -28,13 +28,9 @@ function action_informer_auteur_dist() {
$prefs = unserialize($row['prefs']); $prefs = unserialize($row['prefs']);
$row['cnx'] = $prefs['cnx'] == 'perma' ? '1' : '0'; $row['cnx'] = $prefs['cnx'] == 'perma' ? '1' : '0';
unset($row['prefs']); unset($row['prefs']);
if ($chercher_logo = charger_fonction('chercher_logo', 'inc') $page = evaluer_fond('formulaires/logo_auteur', array('id_auteur'=>$row['id_auteur']));
AND list($logo) = $chercher_logo($row['id_auteur'], 'id_auteur', 'on')) { $row['logo'] = $page['texte'];
include_spip('inc/filtres');
$row['logo'] = reduire_image($logo,100,80);
}
else $row['logo']='';
} }
unset($row['id_auteur']); unset($row['id_auteur']);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter