Fixed some storage handler issues
authorMarcel Werk <burntime@woltlab.com>
Fri, 13 Jan 2012 18:48:04 +0000 (19:48 +0100)
committerMarcel Werk <burntime@woltlab.com>
Fri, 13 Jan 2012 18:48:04 +0000 (19:48 +0100)
wcfsetup/install/files/lib/system/user/storage/UserStorageHandler.class.php

index 6cce93e201b90cd846c566037dcce17ea7b580fa..469f2bb2ec0b7e3064d156506af13ffe073a4bd7 100644 (file)
@@ -121,6 +121,10 @@ class UserStorageHandler extends SingletonFactory {
        public function reset(array $userIDs, $field, $packageID = PACKAGE_ID) {
                foreach ($userIDs as $userID) {
                        $this->resetFields[$userID][$packageID][] = $field;
+                       
+                       if (isset($this->cache[$userID][$field])) {
+                               unset($this->cache[$userID][$field]);
+                       }
                }
        }
        
@@ -139,6 +143,12 @@ class UserStorageHandler extends SingletonFactory {
                        $field,
                        $packageID
                ));
+               
+               foreach ($this->cache as $userID => $fields) {
+                       if (isset($fields[$field])) {
+                               unset($this->cache[$userID][$field]);
+                       }
+               }
        }
        
        /**
@@ -186,5 +196,7 @@ class UserStorageHandler extends SingletonFactory {
                                }
                        }
                }
+               
+               $this->resetFields = $this->updateFields = array();
        }
 }