summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/user_ldap.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/user_ldap/user_ldap.php')
-rw-r--r--apps/user_ldap/user_ldap.php13
1 files changed, 9 insertions, 4 deletions
diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php
index ba66c7a9ca8..9281aebe81d 100644
--- a/apps/user_ldap/user_ldap.php
+++ b/apps/user_ldap/user_ldap.php
@@ -34,6 +34,9 @@ class OC_USER_LDAP extends OC_User_Backend {
// will be retrieved from LDAP server
protected $ldap_dc = false;
+ // cache getUsers()
+ protected $_users = null;
+
public function __construct() {
$this->ldapUserFilter = OCP\Config::getAppValue('user_ldap', 'ldap_userlist_filter', '(objectClass=posixAccount)');
$this->ldapQuotaAttribute = OCP\Config::getAppValue('user_ldap', 'ldap_quota_attr', '');
@@ -108,9 +111,11 @@ class OC_USER_LDAP extends OC_User_Backend {
* Get a list of all users.
*/
public function getUsers(){
- $ldap_users = OC_LDAP::fetchListOfUsers($this->ldapUserFilter, array(OC_LDAP::conf('ldapUserDisplayName'), 'dn'));
- $users = OC_LDAP::ownCloudUserNames($ldap_users);
- return $users;
+ if(is_null($this->_users)) {
+ $ldap_users = OC_LDAP::fetchListOfUsers($this->ldapUserFilter, array(OC_LDAP::conf('ldapUserDisplayName'), 'dn'));
+ $this->_users = OC_LDAP::ownCloudUserNames($ldap_users);
+ }
+ return $this->_users;
}
/**
@@ -119,7 +124,7 @@ class OC_USER_LDAP extends OC_User_Backend {
* @return boolean
*/
public function userExists($uid){
- return in_array($uid, self::getUsers());
+ return in_array($uid, $this->getUsers());
}
}