dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Bug $user->getrights('')


From: Yannick Warnier
Subject: Re: [Dolibarr-dev] Bug $user->getrights('')
Date: Tue, 12 Dec 2006 17:53:43 +0000

Le mardi 12 décembre 2006 à 18:18 +0100, Eldy a écrit :
> > Le mardi 12 décembre 2006 à 11:56 +0100, Eldy a écrit :
> >> > Salut,
> >> >
> >> > Avec la dernière upgrade à partir du CVS, j'ai un bug qui m'empêche
> >> > d'aller plus loin que la page d'accueil de Dolibarr:
> >> >
> >> > <b>Fatal error</b>:  Unknown(): The script tried to execute a method
> >> or
> >> > access a property of an incomplete object. Please ensure that the
> >> class
> >> > definition user of the object you are trying to operate on was loaded
> >> > _before_ the session was started in
> >> > <b>/var/www/dolitest/htdocs/includes/menus/barre_top/eldy_backoffice.php</b>
> >> > on line <b>72</b><br />
> >> >
> >> > Je le poste ici parce que j'ai besoin d'un coup de main actif, pas
> >> juste
> >> > d'une résolution. J'aimerais bien le résoudre moi-même mais j'ai un
> >> > problème évident, c'est que je ne sais pas ce qui a changé
> >> dernièrement
> >> > dans les scripts en rapport avec la procédure de login.
> >> >
> >> > Quoi qu'il en soit, la ligne 72 de eldy_backoffice.php contient
> >> > $user->getrights(''); qui semble avoir un problème de définition de la
> >> > variable $user.
> >> >
> >> > Or si on reprend le processus dans l'ordre chronologique, index.php
> >> > charge pre.inc.php qui charge main.inc.php qui charge master.inc.php.
> >> >
> >> > main.inc.php fait l'authentification, et utilise $user sans problème.
> >> > Ensuite, la contrôle est renvoyé à pre.inc.php qui, lui aussi, utilise
> >> > $user sans problème puis renvoie le contrôle à index.php.
> >> >
> >> > index.php appelle llxHeader() (défini dans pre.inc.php) qui appelle
> >> > top_menu() (défini dans main.inc.php). C'est top_menu() qui appelle la
> >> > méthode showmenu() (ligne 486) définie dans eldy_backoffice.php et qui
> >> > casse tout parce que $user semble ne plus être défini.
> >> >
> >> > Pourtant, à chaque niveau on appelle global $user;
> >> >
> >> > C'est bien là mon problème. Si quelqu'un a un tuyau à me filer, je
> >> suis
> >> > toute ouïe.
> >> >
> >> > Il s'agit donc d'une version de Dolibarr 2.1 post-beta mise-à-jour
> >> avec
> >> > une version CVS d'aujourd'hui, sans rien d'exceptionnel.
> >> >
> >> > Yannick
> >> >
> >>
> >> Peux-tu vide le cache de ton navigateur et effacer tout tes cookies.
> >> Si ca ne va pas mieux, quelle version de php utilise-tu ?
> >
> > OK, j'ai oublié de préciser ça mais je l'ai déjà testé. En fait on
> > dirait que le problème n'apparaît qu'à partir du moment où le login
> > vient de la session.
> > Quand je me logge, je vois la première page. Dès que j'essaie d'accéder
> > à la suivante, ça foire.
> > En fait tu peux essayer, sur https://dolitest.beeznest.net avec
> > demo1/demo1.
> > Quand tu nettoies la session, tu est déloggé et tout refonctionne
> > jusqu'à la deuxième page.
> >
> > Yannick
> 
> Essaie ceci:
> 
> Dans le fichier main.inc.php
> 
> La ou tu as l'instruction
> 
> $_SESSION["dol_user"]=$user;
> 
> tu ajoutes en dessous
> 
> $_SESSION["dol_login"]=$user->login;
> 
> 
> et la ou tu as
> 
> $user=$_SESSION["dol_user"];
> 
> tu remplace par
> 
> $login=$_SESSION["dol_login"];
> $user->fetch($login);

Oui, ça ça fonctionne bien.
Ce qui signifie...?

Yannick





reply via email to

[Prev in Thread] Current Thread [Next in Thread]