From f021dad204afab2977417265f121d660d3d71252 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Tue, 29 Oct 2013 15:50:33 +0100 Subject: remove user from cache if he was deleted successfully --- lib/private/user.php | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'lib/private/user.php') diff --git a/lib/private/user.php b/lib/private/user.php index 6b350d4cf1b..710f0fd66db 100644 --- a/lib/private/user.php +++ b/lib/private/user.php @@ -187,18 +187,25 @@ class OC_User { public static function deleteUser($uid) { $user = self::getManager()->get($uid); if ($user) { - $user->delete(); + $result = $user->delete(); - // We have to delete the user from all groups - foreach (OC_Group::getUserGroups($uid) as $i) { - OC_Group::removeFromGroup($uid, $i); + // if delete was successful we clean-up the rest + if ($result) { + + // We have to delete the user from all groups + foreach (OC_Group::getUserGroups($uid) as $i) { + OC_Group::removeFromGroup($uid, $i); + } + // Delete the user's keys in preferences + OC_Preferences::deleteUser($uid); + + // Delete user files in /data/ + OC_Helper::rmdirr(OC_Config::getValue('datadirectory', OC::$SERVERROOT . '/data') . '/' . $uid . '/'); + + // Remove it from the Cache + self::getManager()->delete($uid); } - // Delete the user's keys in preferences - OC_Preferences::deleteUser($uid); - // Delete user files in /data/ - OC_Helper::rmdirr(OC_Config::getValue('datadirectory', OC::$SERVERROOT . '/data') . '/' . $uid . '/'); - return true; } else { return false; -- cgit v1.2.3 From db0fa6c5292003e913aac248e2ee60c77301bd26 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Tue, 29 Oct 2013 18:01:37 +0100 Subject: use getHome() to delete users data --- lib/private/user.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/private/user.php') diff --git a/lib/private/user.php b/lib/private/user.php index 710f0fd66db..f15fdf1dbbc 100644 --- a/lib/private/user.php +++ b/lib/private/user.php @@ -195,12 +195,12 @@ class OC_User { // We have to delete the user from all groups foreach (OC_Group::getUserGroups($uid) as $i) { OC_Group::removeFromGroup($uid, $i); - } + } // Delete the user's keys in preferences - OC_Preferences::deleteUser($uid); + OC_Preferences::deleteUser($uid); // Delete user files in /data/ - OC_Helper::rmdirr(OC_Config::getValue('datadirectory', OC::$SERVERROOT . '/data') . '/' . $uid . '/'); + OC_Helper::rmdirr(\OC_User::getHome($uid)); // Remove it from the Cache self::getManager()->delete($uid); -- cgit v1.2.3