remove user from cache if he was deleted successfully

remotes/origin/stable6
Bjoern Schiessle 12 years ago
parent b0b76fe064
commit f021dad204
  1. 25
      lib/private/user.php
  2. 14
      lib/private/user/manager.php

@ -187,17 +187,24 @@ 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);
}
// Delete the user's keys in preferences
OC_Preferences::deleteUser($uid);
// 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 . '/');
// 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);
}
return true;
} else {

@ -118,6 +118,20 @@ class Manager extends PublicEmitter {
return ($user !== null);
}
/**
* remove deleted user from cache
*
* @param string $uid
* @return bool
*/
public function delete($uid) {
if (isset($this->cachedUsers[$uid])) {
unset($this->cachedUsers[$uid]);
return true;
}
return false;
}
/**
* Check if the password is valid for the user
*

Loading…
Cancel
Save