probleme session expirée et gestion templates

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • #16
    Re : probleme session expirée et gestion templates

    Envoyé par abdeladim7 Voir le message
    je suis sur 1.5 et php 5 mais j'ai pas encore tester joomla 1.6
    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 :
    1. 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.
    2. L'entrée 'user' (clé) du tableau super global $_SESSION pointe sur l'instance précédente de l'objet JUser
    3. 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
    Fly06_Fr (http://www.fly06.fr/)
    -------------------------------------------
    Classe MooTools pour Recherche Asynchrone (Ajax) : http://forum.joomla.fr/showthread.ph...one-%28Ajax%29

    Commentaire

    Annonce

    Réduire
    Aucune annonce pour le moment.

    Partenaire de l'association

    Réduire

    Hébergeur Web PlanetHoster
    Travaille ...
    X