static function values($user = false) { if (!$user instanceof eZUser) { $user = eZUser::currentUser(); } if (!$user->isAnonymous()) { // If the user object is not the currently logged in user we cannot use the session values $http = eZHTTPTool::instance(); $useCache = $user->ContentObjectID == $http->sessionVariable('eZUserLoggedInID', false); $returnArray = array(); $userID = $user->attribute('contentobject_id'); $db = eZDB::instance(); $values = $db->arrayQuery("SELECT name,value FROM ezpreferences WHERE user_id={$userID} ORDER BY id"); foreach ($values as $item) { if ($useCache) { eZPreferences::storeInSession($item['name'], $item['value']); } $returnArray[$item['name']] = $item['value']; } return $returnArray; } else { // For the anonymous user we just return all values, or empty array if session is un-started / value undefined $http = eZHTTPTool::instance(); return $http->sessionVariable(eZPreferences::SESSION_NAME, array()); } }