diff options
author | Robin Appelman <icewind@owncloud.com> | 2014-01-22 16:00:45 +0400 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2014-01-22 16:00:45 +0400 |
commit | 5a5b6f187e719e6c0bac5e64c411eb74e6d28389 (patch) | |
tree | 7ff95f560837acdf6279a4d855e6941906f3c348 /lib/private/user.php | |
parent | 374e3475c9e2e0220cc8639a1a06f68b7f43fb2b (diff) |
Use Cache->clear to cleanup the filecache for removed users
Diffstat (limited to 'lib/private/user.php')
-rw-r--r-- | lib/private/user.php | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/private/user.php b/lib/private/user.php index 2519200d0f0..7932f4aef76 100644 --- a/lib/private/user.php +++ b/lib/private/user.php @@ -205,8 +205,13 @@ class OC_User { // Delete user files in /data/ OC_Helper::rmdirr(\OC_User::getHome($uid)); - // Delete the users entry in the storage table - \OC\Files\Cache\Storage::remove('home::' . $uid); + // Cleanup the filecache + $mount = \OC\Files\Filesystem::getMountByStorageId('home::' . $uid); + if (count($mount) > 0) { + $mount = $mount[0]; + $cache = $mount->getStorage()->getCache(); + $cache->clear(); + } // Remove it from the Cache self::getManager()->delete($uid); @@ -243,15 +248,15 @@ class OC_User { $uid = $backend->getCurrentUserId(); $run = true; - OC_Hook::emit( "OC_User", "pre_login", array( "run" => &$run, "uid" => $uid )); + OC_Hook::emit("OC_User", "pre_login", array("run" => &$run, "uid" => $uid)); - if($uid) { + if ($uid) { session_regenerate_id(true); self::setUserId($uid); self::setDisplayName($uid); self::getUserSession()->setLoginName($uid); - OC_Hook::emit( "OC_User", "post_login", array( "uid" => $uid, 'password'=>'' )); + OC_Hook::emit("OC_User", "post_login", array("uid" => $uid, 'password' => '')); return true; } return false; |