From 2fa487db93f0dd1fd09e1d0cb75b5363adbe4d2f Mon Sep 17 00:00:00 2001 From: Karl 'vollmerk' Vollmer Date: Wed, 8 Jul 2009 16:12:01 +0000 Subject: sync from branch --- lib/class/preference.class.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'lib/class/preference.class.php') diff --git a/lib/class/preference.class.php b/lib/class/preference.class.php index 6f1db363..338f14b7 100644 --- a/lib/class/preference.class.php +++ b/lib/class/preference.class.php @@ -332,9 +332,9 @@ class Preference { * load_from_session * This loads the preferences from the session rather then creating a connection to the database */ - public static function load_from_session() { + public static function load_from_session($uid=-1) { - if (is_array($_SESSION['userdata']['preferences'])) { + if (is_array($_SESSION['userdata']['preferences']) AND $_SESSION['userdata']['uid'] == $uid) { Config::set_by_array($_SESSION['userdata']['preferences'],1); return true; } @@ -391,13 +391,13 @@ class Preference { */ public static function init() { + $user_id = $GLOBALS['user']->id ? Dba::escape($GLOBALS['user']->id) : '-1'; + // First go ahead and try to load it from the preferences - if (self::load_from_session()) { + if (self::load_from_session($user_id)) { return true; } - - $user_id = $GLOBALS['user']->id ? Dba::escape($GLOBALS['user']->id) : '-1'; - + /* Get Global Preferences */ $sql = "SELECT `preference`.`name`,`user_preference`.`value`,`syspref`.`value` AS `system_value` FROM `preference` " . "LEFT JOIN `user_preference` `syspref` ON `syspref`.`preference`=`preference`.`id` AND `syspref`.`user`='-1' AND `preference`.`catagory`='system' " . @@ -423,6 +423,7 @@ class Preference { Config::set_by_array($results,1); $_SESSION['userdata']['preferences'] = $results; + $_SESSION['userdata']['uid'] = $user_id; } // init -- cgit