From a2f2ffb8dbcb7f9cb0fe139f592be0d4772bec20 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 30 Oct 2015 19:20:42 +0100 Subject: [PATCH] if a user that is flag as deleted shows up again, remove that flag. Fixes #20090 --- apps/user_ldap/lib/access.php | 5 +++++ apps/user_ldap/lib/user/offlineuser.php | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/apps/user_ldap/lib/access.php b/apps/user_ldap/lib/access.php index dd8ffe14bc..bb423ecb01 100644 --- a/apps/user_ldap/lib/access.php +++ b/apps/user_ldap/lib/access.php @@ -35,6 +35,7 @@ namespace OCA\user_ldap\lib; +use OCA\user_ldap\lib\user\OfflineUser; use OCA\User_LDAP\Mapping\AbstractMapping; /** @@ -696,6 +697,10 @@ class Access extends LDAPUtility implements user\IUserTools { $ocName = $this->dn2ocname($userRecord['dn'][0], $userRecord[$displayNameAttribute]); $this->cacheUserExists($ocName); $user = $this->userManager->get($ocName); + if($user instanceof OfflineUser) { + $user->unmark(); + $user = $this->userManager->get($ocName); + } $user->processAttributes($userRecord); } } diff --git a/apps/user_ldap/lib/user/offlineuser.php b/apps/user_ldap/lib/user/offlineuser.php index 72c0242792..3456a27b41 100644 --- a/apps/user_ldap/lib/user/offlineuser.php +++ b/apps/user_ldap/lib/user/offlineuser.php @@ -85,6 +85,13 @@ class OfflineUser { $this->fetchDetails(); } + /** + * remove the Delete-flag from the user. + */ + public function unmark() { + $this->config->setUserValue($this->ocName, 'user_ldap', 'isDeleted', '0'); + } + /** * exports the user details in an assoc array * @return array