[SPIP] ~v3.0.17-->v3.0.19
[ptitvelo/web/www.git] / www / ecrire / auth / spip.php
index 3c413a7..5da5853 100644 (file)
@@ -92,7 +92,14 @@ function auth_spip_formulaire_login($flux){
        // faut il encore envoyer md5 ?
        // on regarde si il reste des pass md5 en base pour des auteurs en statut pas poubelle
        // les hash md5 ont une longueur 32, les sha 64
-       $compat_md5 = sql_countsel("spip_auteurs", "length(pass)=32 AND statut<>'poubelle'");
+       // en evitant une requete sql a chaque affichage du formulaire login sans session
+       // (perf issue pour les sites qui mettent le formulaire de login sur la home)
+       $compat_md5 = false;
+       if (!isset($GLOBALS['meta']['sha_256_only']) OR _request('var_mode')){
+               $compat_md5 = sql_countsel("spip_auteurs", "length(pass)=32 AND statut<>'poubelle'");
+               if ($compat_md5 AND isset($GLOBALS['meta']['sha_256_only'])) effacer_meta('sha_256_only');
+               if (!$compat_md5) ecrire_meta('sha_256_only','oui');
+       }
 
        // javascript qui gere la securite du login en evitant de faire circuler le pass en clair
        $flux['data'].=
@@ -106,13 +113,13 @@ function auth_spip_formulaire_login($flux){
                ."var informe_auteur_en_cours = false;"
                ."var attente_informe = 0;"
                ."var compat_md5 = ".($compat_md5?"true;":"false;")
-               ."(function($){
-               $('#password')
+               ."jQuery(function(){
+               jQuery('#password')
                        .after(\"<em id='pass_securise'><img src='".chemin_image('cadenas-16.png')."' width='16' height='16' alt='" . attribut_html(_T('login_securise')) . "' title='" . attribut_html(_T('login_securise')) . "' \/><\/em>\");
                affiche_login_secure();
-               $('#var_login').change(actualise_auteur);
-               $('form#formulaire_login').submit(login_submit);
-       }(jQuery));"
+               jQuery('#var_login').change(actualise_auteur);
+               jQuery('form#formulaire_login').submit(login_submit);
+       });"
                ."/*]]>*/</script>";
 
        return $flux;