Ejemplo n.º 1
0
 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());
     }
 }