Présentation
Voici une noisette pour SPIP permettant d’afficher un bouton de connexion sur le site public, remplacé le cas échéant le nom de la personne connectée.
Lors de la connexion, l’utilisateur est renvoyé vers le site public (et non vers le site privé comme c’est le cas par défaut), ce qui rend ce module utile pour les affichages de contenus publics personnalisés (plugins Accès Restreint ou Acces restreint par groupe).
Mode déconnecté :

Mode connecté :

Première solution : utilisation de la balise #SESSION
installer et activer le plugin balise_session.
créer et inclure dans vos squelettes la noisette ci-dessous
note : à partir de la révision 14824 de SPIP, cette balise est inclue dans le noyau, donc plus besoin de ce plugin, la noisette reste utilisable
Noisette bloc-connexion.html
#CACHE{0}
<div id="bloc-connexion" >
[(#SESSION{login}|?{
<strong><a href="spip.php?page=auteur&id_auteur=[(#SESSION{id_auteur})]" title="voir mes articles" >[(#SESSION{nom})]</a></strong>
<a href="spip.php?action=logout&logout=[(#SESSION{login})]&url=spip.php%3Fpage=sommaire" title="se déconnecter" >X</a>
,
<strong><a href="spip.php?page=login&url=spip.php%3Fpage=sommaire" title="se connecter" >Se connecter</a></strong>
<!--<strong><a href="spip.php?action=inscription&focus=nom_inscription">S'inscrire</a></strong><br>
<em><a href="spip.php?action=pass">Mot de passe perdu</a></em>-->
})]
</div>Inclusion
A inclure dans votre squelette principal avec :
<INCLURE(session.php){fond=bloc-connexion}>
Gestion du cache
Grâce au fichier session.php du plugin SESSION, cet appel permets d’avoir un gestion de cache par session pour la noisette. Les pages appelantes peuvent donc conserver une valeur de cache d’origine non nulle.
Penser à modifier votre feuille de style pour personnaliser l’affichage des boutons.
Deuxième solution : variables globales php
créer et inclure dans vos squelettes la noisette si-dessous
note : préférer la première solution pour des raisons de performance (voir cache ci-dessous)
Noisette bloc-connexion.html
#CACHE{0}
<div id="bloc-connexion" >
[(#REM)Définition des constantes]
#SET{login,#EVAL{$GLOBALS['auteur_session']['login']}}
#SET{nom,#EVAL{$GLOBALS['auteur_session']['nom']}}
#SET{id_auteur,#EVAL{$GLOBALS['auteur_session']['id_auteur']}}
[(#GET{login}|?{
<strong><a href="spip.php?page=auteur&id_auteur=[(#GET{id_auteur})]" title="voir mes articles" >[(#GET{nom})]</a></strong>
<a href="spip.php?action=logout&logout=[(#GET{login})]&url=spip.php%3Fpage=sommaire" title="se déconnecter">X</a>
,
<strong><a href="spip.php?page=login&url=spip.php%3Fpage=sommaire" title="se connecter" >Se connecter</a></strong>
<!--<strong><a href="spip.php?action=inscription&focus=nom_inscription">S'inscrire</a></strong><br>
<em><a href="spip.php?action=pass">Mot de passe perdu</a></em>-->
})]
</div>Inclusion
A inclure dans votre squelette principal avec :
<INCLURE{fond=bloc-connexion}>
Gestion du cache
Jusqu’à la version 1.9.3 de SPIP, pas de gestion de cache native par session. Il faut donc mettre les temps de cache des pages appelantes à zero.
Penser à modifier votre feuille de style pour personnaliser l’affichage des boutons.
