Changeset 23563 in spip-zone
- Timestamp:
- Oct 22, 2008, 8:23:44 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
_squelettes_/Durzy/_1_9_3_Dev/squelettes/formulaires/login.html
r17406 r23563 2 2 #HTTP_HEADER{"Pragma: no-cache"} 3 3 4 [(#ENV{echec_cookie}) 5 <fieldset class="reponse_formulaire"> 6 <legend><:avis_erreur_cookie:></legend> 7 <p><:login_cookie_oblige:></p> 8 <p><:login_cookie_accepte:></p> 9 </fieldset>] 4 <div class='formulaire_spip formulaire_login'> 5 [(#REM) pour IE qui sinon se perd dans l'ajax !, ne pas retirer]<br class='bugajaxie' /> 6 [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{_deja_loge})</p>] 7 [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>] 8 [<p class='reponse_formulaire reponse_formulaire_erreur'>(#ENV**{message_erreur})</p>] 10 9 11 [(#ENV{echec_visiteur})12 <fieldset class="reponse_formulaire" style="border-width: 0px;">13 <legend><:avis_erreur_visiteur:></legend>14 <p><:texte_erreur_visiteur:></p>15 </fieldset>]10 [(#ENV{echec_cookie}) 11 <fieldset class='reponse_formulaire reponse_formulaire_erreur'> 12 <h2><:avis_erreur_cookie:></h2> 13 <p class="erreur_message"><:login_cookie_oblige:><br /><:login_cookie_accepte:></p> 14 </fieldset>] 16 15 17 <script type="text/javascript" src="#EVAL{_DIR_JAVASCRIPT}md5.js"> </script> 18 <form id="login[_(#ENV{login})]" 19 action="[(#ENV{action2})]" 20 method="post"[(#ENV{source}|=={spip}|?{' ',''}) 21 onsubmit='if (this.session_password.value) { 22 this.session_password_md5.value = calcMD5("[(#ENV{alea_actuel})]" + this.session_password.value); 23 this.next_session_password_md5.value = calcMD5("[(#ENV{alea_futur})]" + this.session_password.value); 24 this.session_password.value = ""; 25 return true; 26 }']> 27 <fieldset style="border-width: 0px;"> 28 29 [(#REM) En cas d'erreur ex: mauvais identifiant] 30 [<img src="#CHEMIN{images/warning.png}" alt="#ENV*{erreur}" /> (#ENV*{erreur})] 31 [<label for="var_login"><:login_login2:></label>(#ENV{login}|?{'',' '}) 32 <input type="text" class="forml" id="var_login" name="var_login" value="" size="20" />] 33 34 [ 35 [(#LOGO_AUTEUR||reduire_image{100,80}|inserer_attribut{alt,#ENV{login_alt}})] 36 <input type="hidden" name="session_login_hidden" value="(#ENV{login})" /> 37 <script type="text/javascript"><!-- 38 document.write("<:login_login:> <strong>[(#ENV{login_alt})]<" + "/strong> >> [<a href='[(#ENV{action2} 39 |parametre_url{cookie_admin,non} 40 |parametre_url{url,#ENV*{url}} 41 |parametre_url{retour,#ENV*{self}})]'><:login_autre_identifiant:><" + "/a>] |") 42 //--></script> 43 <noscript> 44 <p class="reponse_formulaire" style="border:none"><:login_non_securise:> <a href="[(#ENV{action})]"><:login_recharger:></a>.</p> 45 <p><label for="session_login"><:login_login2:></label> 46 <input type="text" class="forml" name="session_login" id="session_login"[ value="(#ENV{login})"] size="20" /></p> 47 </noscript> 48 49 <label[ for="var_login_(#ENV{login})"]><:login_pass2:></label> 50 <input type="password" class="forml" name="session_password"[ id="var_login_(#ENV{login})"] value="" size="10" /> 51 52 [(#ENV{rester_connecte}) 53 <input type="checkbox" name="session_remember" id="session[_(#ENV{login})]" value="oui"[(#ENV*{prefs}|filtre_rester_connecte)checked="checked"]/> 54 <!-- <label for="session[_(#ENV{login})]"><:login_rester_identifie:></label> --> 55 ] 56 <input type="hidden" name="session_password_md5" value="" /> 57 <input type="hidden" name="next_session_password_md5" value="" /> 58 <input type="hidden" name="essai_login" value="oui" /> 59 ] <input type="hidden" name="url" value="[(#ENV{url})]" /> 60 <input type="image" src="#CHEMIN{images/valider.png}" style="border:none" name="submit" /> 61 62 </fieldset> 63 </form> 64 <script type="text/javascript"><!-- 65 document.getElementById('var_login[_(#ENV{login})]').focus(); 66 --></script>[ 67 <form action="(#ENV{auth_http})" method="get">[ 16 [(#ENV{editable}) 17 [(#REM) declarer les hidden qui declencheront le service du formulaire 18 parametre : url d'action ] 19 [<form id='formulaire_login' method='post' action='(#ENV{action})' enctype='multipart/form-data'><div> 20 #ACTION_FORMULAIRE{#ENV{action}}] 21 <fieldset> 22 <legend><:form_forum_identifiants:></legend> 23 <span id="spip_logo_auteur">#ENV*{_logo,''}</span> 24 <ul> 25 <li class="editer_login obligatoire"> 26 <label for="var_login"><:login_login2:></label> 27 <input type='text' class='text' name='var_login' id='var_login' value="[(#ENV**{var_login})]" size='20' /> 28 [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{var_login})</span>] 29 </li> 30 <li class="editer_password obligatoire"> 31 <label for="password"><:login_pass2:></label> 32 <input type='password' class='password' name='password' id='password' value="" size='20' /> 33 [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{password})</span>] 34 <span class='details'>[<a href="#URL_PAGE{spip_pass}" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=100, height=330'); return false;"><:login_motpasseoublie:></a>]</span> 35 </li> 36 [(#ENV{rester_connecte}) 37 <li class="editer_session"> 38 <input type="checkbox" class="checkbox" name="session_remember" id="session_remember" value="oui" [(#ENV**{cnx}|?{' '})checked="checked"] onchange="jQuery(this).addClass('modifie');" /> 39 <label class='nofx' for="session_remember"><:login_rester_identifie:></label> 40 </li>] 41 </ul> 42 </fieldset>[ 43 <p class="boutons"><input type="submit" class="submit" value="<:bouton_valider:>" /></p> 44 (#ENV{action}|?{' ',''})</div></form>] 45 ] 46 [(#REM) en cas d'absence de cookie, on represente le formulaire alternatif ] 47 [<form action="(#ENV{auth_http})" method="get">[ 68 48 (#ENV{auth_http}|form_hidden) 69 49 ] 70 <fieldset style="border-width: 0px;">71 <legend><:login_sans_cookiie:></legend>72 <div><:login_preferez_refuser:>73 <input type="hidden" name="essai_auth_http" value="oui"/>74 [<input type="hidden" name="url" value="(#ENV{url})"/>]75 <div class="spip_bouton"><input type="submit" value="<:login_sans_cookiie:>"/></div></div>50 <fieldset> 51 <legend><:login_sans_cookiie:></legend> 52 <:login_preferez_refuser:> 53 <input type="hidden" name="essai_auth_http" value="oui"/> 54 [<input type="hidden" name="url" value="(#ENV{url})"/>] 55 <p class="boutons"><input type="submit" class="submit" value="<:login_sans_cookiie:>"/></p> 76 56 </fieldset> 77 </form> 78 ] 57 58 ] 59 </div> 60 [(#REM) javascript qui gere la securite du login en evitant de faire circuler le pass en clair] 61 <script type="text/javascript" src="#EVAL{_DIR_JAVASCRIPT}md5.js"></script> 62 <script type='text/javascript'>/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/ 63 var alea_actuel='#ENV{_alea_actuel}'; 64 var alea_futur='#ENV{_alea_futur}'; 65 var login='#ENV{var_login,''}'; 66 var informe_auteur_en_cours = false; 67 var attente_informe = 0; 68 function affiche_login_secure() { 69 if (alea_actuel) 70 jQuery('#pass_securise').show(); 71 else 72 jQuery('#pass_securise').hide(); 73 } 74 function informe_auteur(c){ 75 informe_auteur_en_cours = false; 76 eval('c = '+c); // JSON 77 if (c) { 78 alea_actuel = c.alea_actuel; 79 alea_futur = c.alea_futur; 80 // indiquer le cnx si on n'y a pas touche 81 jQuery('input#session_remember:not(.modifie)') 82 .attr('checked',(c.cnx=='1')?'checked':''); 83 } else { 84 alea_actuel = ''; 85 } 86 if (c.logo) 87 jQuery('#spip_logo_auteur').html(c.logo); 88 else 89 jQuery('#spip_logo_auteur').html(''); 90 affiche_login_secure(); 91 } 92 function calcule_md5_pass(pass){ 93 if (alea_actuel) { 94 jQuery('input[@name=password]').attr('value',''); 95 jQuery('input[@name=session_password_md5]').attr('value',calcMD5(alea_actuel + pass)); 96 jQuery('input[@name=next_session_password_md5]').attr('value',calcMD5(alea_futur + pass)); 97 } 98 } 99 function actualise_auteur(){ 100 if (login != jQuery('#var_login').attr('value')) { 101 informe_auteur_en_cours = true; 102 login = jQuery('#var_login').attr('value'); 103 var currentTime = new Date();// on passe la date en var pour empecher la mise en cache de cette requete (bug avec FF3 & IE7) 104 jQuery.get('#URL_PAGE{informer_auteur}',{var_login:login,var_compteur:currentTime.getTime()},informe_auteur); 105 } 106 } 107 jQuery('#password') 108 .after("<em id='pass_securise'><img src='#EVAL{_DIR_IMG_PACK}securise.gif' width='16' height='16' alt='<:login_securise:>' title='<:login_securise:>' \/><\/em>"); 109 affiche_login_secure(); 110 111 jQuery('#var_login').change(actualise_auteur); 112 113 jQuery('form#formulaire_login').submit(function(){ 114 actualise_auteur(); 115 pass = jQuery('input[@name=password]').attr('value'); 116 // ne pas laisser le pass d'un auteur "auth=spip" circuler en clair 117 if (pass) { 118 // si l'information est en cours, retenter sa chance 119 // pas plus de 5 fois (si profondeur_url fausse, la requete d'information echoue et ne repond jamais) 120 if (informe_auteur_en_cours && (attente_informe<5)) { 121 attente_informe++; 122 jQuery('form#formulaire_login').animeajax().find('p.boutons input').before(attente_informe); // montrer qu'il se passe quelque chose 123 setTimeout(function(){ 124 jQuery('form#formulaire_login').submit(); 125 }, 1000); 126 return false; 127 } 128 129 // Si on a l'alea, on peut lancer le submit apres avoir hashe le pass 130 if (alea_actuel) { 131 calcule_md5_pass(pass); 132 } 133 // sinon c'est que l'auteur n'existe pas 134 // OU qu'il sera accepte par LDAP ou autre auth 135 } 136 }); 137 /*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/</script>
Note: See TracChangeset
for help on using the changeset viewer.