[spip-dev] Globales auteur_session et visiteur_session

Hello,

côté public, est ce que quelqu'un connait la différence entre $GLOBALS['auteur_session'] et $GLOBALS['visiteur_session'] ?

J'ai testé un array_diff, les deux contiennent exactement la même chose, qu'on soit connecté comme auteur ou comme visiteur.

Dans le code, je vois principalement des références à $GLOBALS['visiteur_session'] dans ecrire, plugins-dist et certains plugins récents, et des références à $GLOBALS['auteur_session'] surtout dans des plugins.

Est ce que ça correspondrait à une refonte ou à un nouvel usage ?

Hello,

la globale auteur_session est historique et peuplée pour les auteurs identifiés.
En version (je sais plus combien 1.9 ? 2.0 ?) on a introduit la possibilité d'avoir des infos de session pour les visiteurs anonymes.
Mais comme certains (vieux) squelettes/plugins basaient leur filtrage d'acces ou sécurité sur un test de $GLOBALS['auteur_session'] on ne pouvait pas garder le même nom sans risquer de donner accès à de l'info réservée à des visiteurs anonymes.
Du coup la seconde globale visiteur_session a été créée. Quand on est un auteur spip identifié les 2 globales sont peuplées et identiques, quand on est un visiteur anonyme, seule visiteur_session est peuplée.

nicod_ a écrit:

Ok, mais pourtant je vois plein de références à la globale $visiteur_session dans le privé.

Par exemple dans parametres_css_prive() :
https://core.spip.net/projects/spip/repository/entry/branches/spip-3-stable/ecrire/inc/filtres_ecrire.php#L40
où on stocke les préférences couleurs du back office.

C'est confusionnant.

Non c'est normal : (a terme je sais pas quand) auteur_session devrait être dépréciée et on ne devrait utiliser que visiteur_session, en testant statut quand on a besoin de distinguer un auteur d'un visiteur anonyme. auteur_session n'existe plus que pour raison de compatibilité du code existant dans la nature, dans le core et dans le code moderne on ne doit utiliser que visiteur_session

nicod_ a écrit:

Ok merci, c'est plus clair.

C'est marrant, auteur_session n'est même pas mentionné sur programmer.spip.net.
Par contre pour visiteur_session on y trouve quelques infos intéressantes :
http://lili.de/u/h4i31

:-)k++

salut,
heu je crois qu’il manque un espace dans la recherche : site: “visiteur_session” pour avoir 8 résultats ;o)

Tiens, merci pour l'observation, il y a un bug dans YOURLS (http://yourls.org/).
:-)k++