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
svn/root/tags/spip-2.0.0/prive
cedric@yterium.com 13 years ago
parent
commit
91d3abf277
  1. 4
      .gitattributes
  2. 1
      authentifier_login.html
  3. 3
      formulaires/inc-logo_auteur.html
  4. 3
      formulaires/login.html
  5. 1
      informer_auteur.html
  6. 27
      informer_auteur_fonctions.php
  7. 10
      style_prive_fonctions.php

4
.gitattributes

@ -1,5 +1,4 @@
* text=auto !eol
/authentifier_login.html -text
contenu/article.html -text
contenu/breve.html -text
contenu/rubrique.html -text
@ -26,6 +25,7 @@ formulaires/editer_rubrique.php -text
formulaires/editer_site.html -text
formulaires/editer_site.php -text
formulaires/editer_site_fonctions.php -text
formulaires/inc-logo_auteur.html -text
formulaires/login.php -text
formulaires/selecteur_groupe_mot.html -text
formulaires/selecteur_groupe_mot_fonctions.php -text
@ -274,6 +274,8 @@ images/warning-24.gif -text
images/warning.gif -text
images/wrapper.php -text
images/xml.gif -text
/informer_auteur.html -text
/informer_auteur_fonctions.php -text
infos/article.html -text
infos/article_fonctions.php -text
infos/auteur.html -text

1
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)]

3
formulaires/inc-logo_auteur.html

@ -0,0 +1,3 @@
#HTTP_HEADER{Content-type:text/html;charset=#ENV{charset}}
[(#LOGO_AUTEUR||image_reduire{100,80})]
[(#REM) ce fichier est utilise par inc/identifier_login, pour l'identification ajax des auteurs dans le formulaire de login]

3
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
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
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
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