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.