Re : probleme session expirée et gestion templates
En en regardant le code, le bug n'est pas immédiatement évident car la mise à jour du profil utilisateur dans la session est bien réalisée uniquement si la sauvegarde dans jos_user n'a pas retourné d'erreur (voir la méthode store de la classe UserModelUser).
Si le profil utilisateur est malgré tout sauvé en session avec le mauvais email c'est due à la conjonction de trois choses :
Résultat : le mauvais email est stockée en session !
C'est assez subtil, je ne sais pas si la dev team Joomla a connaissance de ce bug et d'ailleurs je ne vois de solution simple pour le corriger.
-Fly06_Fr
Envoyé par abdeladim7
Voir le message
Si le profil utilisateur est malgré tout sauvé en session avec le mauvais email c'est due à la conjonction de trois choses :
- Les données du post (formulaire de modif du profil utilisateur) sont liées (bind) à l'instance unique (singleton) de l'objet JUser avant la sauvegarde des données dans jos_user. Donc cette instance contient le mauvais email dans sa propriété $_email que la sauvegarde réussisse ou échoue.
- L'entrée 'user' (clé) du tableau super global $_SESSION pointe sur l'instance précédente de l'objet JUser
- En php 5, les objets sont passés par référence (alors qu'ils sont passés par valeur sous Php 4) donc toute modif de JUser est automatiquement pris en compte dans la session
Résultat : le mauvais email est stockée en session !
C'est assez subtil, je ne sais pas si la dev team Joomla a connaissance de ce bug et d'ailleurs je ne vois de solution simple pour le corriger.
-Fly06_Fr
Commentaire