Browse Source

complement de [12437] et resolution du bug de logins consecutifs sous FF3 :

- on garde la denomination originelle informer_auteur car il ne s'agit pas d'une authentification
- inc-logo_auteur.html doit etre dans prive/ et non dans dist/
- le filtre ad-hoc pour le squelette va dans un fichier fonctions associe plutot qu'alourdir inc/filtres
- un jeton avec la date est passe a informer_auteur pour empecher la mise en cache par les navigateurs (FF3 notamment) ou proxy malgre le header
2.0
Cerdic 14 years ago
parent
commit
7d4148c9e8
  1. 5
      .gitattributes
  2. 14
      ecrire/inc/filtres.php
  3. 1
      prive/authentifier_login.html
  4. 0
      prive/formulaires/inc-logo_auteur.html
  5. 3
      prive/formulaires/login.html
  6. 1
      prive/informer_auteur.html
  7. 27
      prive/informer_auteur_fonctions.php
  8. 10
      prive/style_prive_fonctions.php

5
.gitattributes vendored

@ -10,7 +10,6 @@ dist/formulaires/inc-choix_mots.html -text
dist/formulaires/inc-forum_ajouter_mot.html -text
dist/formulaires/inc-forum_bloc_choix_mots.html -text
dist/formulaires/inc-login_forum_abo.html -text
dist/formulaires/inc-logo_auteur.html -text
dist/formulaires/inscription.php -text
dist/formulaires/mot_de_passe.html -text
dist/formulaires/mot_de_passe.php -text
@ -451,7 +450,6 @@ ecrire/xml/interfaces.php -text
ecrire/xml/valider.php -text
/index.php -text
local/remove.txt -text
prive/authentifier_login.html -text
prive/contenu/article.html -text
prive/contenu/breve.html -text
prive/contenu/rubrique.html -text
@ -478,6 +476,7 @@ prive/formulaires/editer_rubrique.php -text
prive/formulaires/editer_site.html -text
prive/formulaires/editer_site.php -text
prive/formulaires/editer_site_fonctions.php -text
prive/formulaires/inc-logo_auteur.html -text
prive/formulaires/login.php -text
prive/formulaires/selecteur_groupe_mot.html -text
prive/formulaires/selecteur_groupe_mot_fonctions.php -text
@ -726,6 +725,8 @@ prive/images/warning-24.gif -text
prive/images/warning.gif -text
prive/images/wrapper.php -text
prive/images/xml.gif -text
prive/informer_auteur.html -text
prive/informer_auteur_fonctions.php -text
prive/infos/article.html -text
prive/infos/article_fonctions.php -text
prive/infos/auteur.html -text

14
ecrire/inc/filtres.php

@ -655,20 +655,6 @@ function securiser_acces($id_auteur, $cle, $dir, $op='', $args='')
return verifier_low_sec($id_auteur, $cle, $dir);
}
// Filtre ad hoc pour le formulaire de login:
// le parametre var_login n'est pas dans le contexte pour optimiser le cache
// il faut aller le chercher a la main
function authentifier_login($bof)
{
include_spip('inc/json');
include_spip('inc/identifier_login');
$row = informer_login(_request('var_login'));
if (is_array($row))
unset($row['id_auteur']);
else $row = array();
return json_export($row);
}
// sinon{texte, rien} : affiche "rien" si la chaine est vide,
// affiche la chaine si non vide ;
// attention c'est compile directement dans inc/references

1
prive/authentifier_login.html

@ -1 +0,0 @@
#HTTP_HEADER{Content-Type: text/plain}#CACHE{0}[(#DATE|authentifier_login)][(#REM) Tordu, mais l'optim du cache ne donne pas acces a var_login)]

0
dist/formulaires/inc-logo_auteur.html → prive/formulaires/inc-logo_auteur.html

3
prive/formulaires/login.html

@ -96,7 +96,8 @@ function actualise_auteur(){
if (login != jQuery('#var_login').attr('value')) {
informe_auteur_en_cours = true;
login = jQuery('#var_login').attr('value');
jQuery.get('#URL_PAGE{authentifier_login}',{var_login:login},informe_auteur);
var currentTime = new Date();// on passe la date en var pour empecher la mise en cache de cette requete (bug avec FF3 & IE7)
jQuery.get('#URL_PAGE{informer_auteur}',{var_login:login,var_compteur:currentTime.getTime()},informe_auteur);
}
}
jQuery('#password')

1
prive/informer_auteur.html

@ -0,0 +1 @@
#HTTP_HEADER{Content-Type: text/plain}#CACHE{0}[(#DATE|informer_auteur)][(#REM) Tordu, mais l'optim du cache ne donne pas acces a var_login)]

27
prive/informer_auteur_fonctions.php

@ -0,0 +1,27 @@
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2008 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
// Filtre ad hoc pour le formulaire de login:
// le parametre var_login n'est pas dans le contexte pour optimiser le cache
// il faut aller le chercher a la main
function informer_auteur($bof)
{
include_spip('inc/json');
include_spip('inc/identifier_login');
$row = informer_login(_request('var_login'));
if (is_array($row))
unset($row['id_auteur']);
else $row = array();
return json_export($row);
}
?>

10
prive/style_prive_fonctions.php

@ -1,5 +1,15 @@
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2008 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
function image_bg ($img, $couleur, $pos="") {
if (function_exists("imagecreatetruecolor")) return "background: url(".url_absolue(extraire_attribut(image_sepia($img, $couleur), "src")).") $pos;";
else return "background-color: #$couleur;";

Loading…
Cancel
Save