diff options
author | Robin Appelman <icewind@owncloud.com> | 2013-06-02 20:12:44 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2013-06-02 20:12:44 +0200 |
commit | 251527c6e65a5f88b56c2dbcfebb7d8dbe38d8fb (patch) | |
tree | edcdac4b814573dad6fb8d47ce4af6f93bd7836d /apps/user_ldap/user_proxy.php | |
parent | b7585050b565ac8f42c3afa625037adaf1a8d92c (diff) | |
parent | cf71a54f5d6e08020a1a574d43f7fca6642776c9 (diff) | |
download | nextcloud-server-251527c6e65a5f88b56c2dbcfebb7d8dbe38d8fb.tar.gz nextcloud-server-251527c6e65a5f88b56c2dbcfebb7d8dbe38d8fb.zip |
merge master into backgroundjob
Diffstat (limited to 'apps/user_ldap/user_proxy.php')
-rw-r--r-- | apps/user_ldap/user_proxy.php | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/apps/user_ldap/user_proxy.php b/apps/user_ldap/user_proxy.php index 6a75bae3815..73cc0963182 100644 --- a/apps/user_ldap/user_proxy.php +++ b/apps/user_ldap/user_proxy.php @@ -76,8 +76,15 @@ class User_Proxy extends lib\Proxy implements \OCP\UserInterface { if(isset($this->backends[$prefix])) { $result = call_user_func_array(array($this->backends[$prefix], $method), $parameters); if(!$result) { - //not found here, reset cache to null - $this->writeToCache($cacheKey, null); + //not found here, reset cache to null if user vanished + //because sometimes methods return false with a reason + $userExists = call_user_func_array( + array($this->backends[$prefix], 'userExists'), + array($uid) + ); + if(!$userExists) { + $this->writeToCache($cacheKey, null); + } } return $result; } @@ -167,7 +174,7 @@ class User_Proxy extends lib\Proxy implements \OCP\UserInterface { foreach($this->backends as $backend) { $backendUsers = $backend->getDisplayNames($search, $limit, $offset); if (is_array($backendUsers)) { - $users = array_merge($users, $backendUsers); + $users = $users + $backendUsers; } } return $users; |