Warning: not sure at all this is a good idea: you have to invalidate the
object stored in the session (if any) if you want to reload a parameter
(like the display name).
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
public static function &user()
{
if (self::$user == null && class_exists('User')) {
- self::$user = User::getSilentWithValues(S::i('uid'), $_SESSION);
+ if (S::has('user') && S::v('user') instanceof User) {
+ self::$user = S::v('user');
+ } else {
+ self::$user = User::getSilentWithValues(S::i('uid'), $_SESSION);
+ }
}
return self::$user;
}