[spip-dev] Formidable et id_auteur

Reformulation d'un mail précédent sur spip-zone :

Dans le cadre d'un formulaire (à réponse unique, modifiables, identification par id_auteur) "Formidable" sous SPIP 3.0.5, j'essaie de récupérer l'id_auteur du visiteur via #SESSION{id_auteur}.

Mon instance de SPIP est configurée pour l'authentification via un annuaire LDAP.

Or, si je ne passe pas par l'Espace Privé, mon #SESSION{id_auteur} reste nul et Formidable n'arrive pas à faire matcher mon id_auteur et les résultats du formulaire. C'est systématiquement reproductible quand je passe en navigation privée.

Je fais quelques tests avec l'Espace Privé et me rends compte que tout fonctionne bien à partir du moment où apparaît le cookie "_session".

J'ai donc regardé ecrire/index.php et m'aperçois que ce cookie apparaît après :

-1- être passé par le code :
$auth = charger_fonction('auth', 'inc');
$var_auth = $auth();

-2- rechargement de la page

-3- repassage par le code plus haut

Je m'en suis donc sorti en patchant le plugin Formidable et en ajoutant le code :
$auth = charger_fonction('auth', 'inc');
$auth();$auth();

au début de la fonction formulaires_formidable_charger()

Un seul appel à $auth() ne marche pas et comme je ne peux pas faire de redirection à ce stade, je l'appelle deux fois et ça marche.

J'ai un peu échangé avec RastaPopoulos qui me dit à juste titre que le plugin Formidable n'y est pour rien. Et je ne suis pas spécialement fier de patcher ce plugin qui fonctionne bien.

Est-ce un bug de SPIP ou un comportement normal que je n'aurais pas compris ?

Merci d'avance.