[spip-dev] #URL_LOGOUT

Salut,

dans le CVS la balise #URL_LOGOUT vous attend ; elle vient en complément de
#LOGIN_PUBLIC, et fournit un outil pour gérer une authentification dans
l'espace public. On peut l'utiliser de deux manières :

Basique :
<a href='#URL_LOGOUT'>déconnecter</a>
renvoit le déconnecté vers index.php3

idem, avec [(#URL_LOGOUT|groupe.php3)], renvoie le déconnecté vers la page
mentionnée groupe.php3 (utile pour faire boucler la page sur elle-même) ;
dans l'idéal il faudrait que ce tag boucle sur lui-même, mais, après l'avoir
programmé comme ça, j'ai préféré un code plus simple. C'était vraiment
horrible :wink:

Exemple complet d'utilisation :

<?php if ($GLOBALS['auteur_session']) { ?>
Bonjour mon ami, veux-tu te <a href='#URL_LOGOUT'>déconnecter</a> ?
<?php } else { ?>
#LOGIN_PUBLIC
<?php } ?>

Bien entendu, l'authentification posée par #LOGIN_PUBLIC est valable sur
l'ensemble du site, et pas seulement sur la page qui l'a posée. Et le
niveau de confiance qu'on peut faire à $GLOBALS['auteur_session'] est
identique à celui de la protection de l'espace privé.

à tester sans ménagements, d'autant qu'on aborde la 1.5 finale !

-- Fil

Salut,

J'ai ajouté les pétitions dans les squelettes par défaut.
C'est pas forcément un chef-d'oeuvre esthétique mais ça
marche.

Exemple ici :

http://rezo.net/~antoine/spip/article.php3?id_article=884

Je crois que la 1.5 approche à grands pas. :wink:

a+

Antoine.

Pourquoi pas un #FORMULAIRE_LOGIN plutôt ?

Ce formulaire gèrerait le test login/logout... ce serait plus compact...
euh... plus élégant ? :wink:

-----Message d'origine-----

(...)

Je me suis dit que j'allais tester ça, mais en insérant un #LOGIN_PUBLIC
dans le début de sommaire.html j'obtiens une erreur toute bizarre sur
mon navigateur (Galeon 1.2, moteur Gecko de Mozilla 1.0) :

  "Redirection limit for this URL exceeded.
  Unable to load the requested page."

Quand je retire le #LOGIN_PUBLIC tout est ok, donc c'est lui qui fait
déconner mon naviguo.

Pas d'erreur avec Netscape 4.7 et Mozilla, mais je reste perplexe. D'où
cela peut-il venir ? Du jajascript inclu ? Du formulaire ? Si vous avez
une idée...

Vous pouvez essayer sur : http://www.refer.sn/thomas/spip/
Si vous tombez sur le même problème, dites-le moi, que je me sente moins
seul. Si vous avez une idée de la raison du bug, dites-moi si vous
pensez qu'il vient du navigateur (que je fasse un rapport de bug à ce
niveau).

Note : j'ai juste rajouté un ligne avec #LOGIN_PUBLIC après <body
bgcolor="white"> dans sommaire.html...

a+

Le problème se manifeste-t-il sur le login ou sur le logout ?

> "Redirection limit for this URL exceeded.
> Unable to load the requested page."

J'ai le même problème en local avec Chimera (base Mozilla) sur OSX.
C'est une fonction de mozilla de signaler les redirections en boucle
(comme les popups non sollicités).

-- Fil

Alors pour être plus précis et après quelques tests, le bug arrive quand
je suis déja connecté au site.

Dans ce cas, l'affichage du #LOGIN_PUBLIC de la page fait je ne sais pas
quoi qui me renvoie sur la page par une redirection 302 : le serpent se
mord la queue et mon navigo finit par abandonner au bout de n
redirections.

http://www.refer.sn/thomas/spip/
login : bidule
mdp : bidule

a+

OK, je vois : les instructions complètes obligent à mettre :

<?php if ($auteur_session) { ?>

#TEXTE

<?php } else { ?>

Vous n'avez pas acccès à cette page
#LOGIN_PUBLIC

<?php } ?>

@ Thomas NOEL <thomas.noel@auf.org> :

@ Fil <fil@rezo.net> :

OK, je vois : les instructions complètes obligent à mettre :

<?php if ($auteur_session) { ?>

#TEXTE

<?php } else { ?>

Vous n'avez pas acccès à cette page
#LOGIN_PUBLIC

<?php } ?>

Je corrige tout de même le tag #LOGIN_PUBLIC pour ne pas avoir de boucle
infernale... (cf. cvs).

-- Fil

<a href='#URL_LOGOUT'>déconnecter</a>
renvoit le déconnecté vers index.php3

idem, avec [(#URL_LOGOUT|groupe.php3)], renvoie le déconnecté vers la page
mentionnée groupe.php3 (utile pour faire boucler la page sur elle-même) ;
dans l'idéal il faudrait que ce tag boucle sur lui-même, mais, après l'avoir
programmé comme ça, j'ai préféré un code plus simple. C'était vraiment
horrible :wink:

Finalement, je commite une version (moins horrible) de ce code ; c'est quand
même plus cohérent avec le reste de spip que, par défaut, ce tag boucle sur
luii-même

-- Fil