users_ldap - added getUsers() method to fetch all existing users from

LDAP server
This commit is contained in:
krzaczek 2011-10-04 15:37:05 +02:00 committed by Robin Appelman
parent 96b91e5b0b
commit 28cd41a2a4
1 changed files with 31 additions and 2 deletions

View File

@ -65,7 +65,7 @@ class OC_USER_LDAP extends OC_User_Backend {
$this->ds = ldap_connect( $this->ldap_host, $this->ldap_port );
if(ldap_set_option($this->ds, LDAP_OPT_PROTOCOL_VERSION, 3))
if(ldap_set_option($this->ds, LDAP_OPT_REFERRALS, 0))
ldap_start_tls($this->ds);
@ldap_start_tls($this->ds);
}
// login
@ -118,6 +118,35 @@ class OC_USER_LDAP extends OC_User_Backend {
return !empty($dn);
}
public function getUsers()
{
if(!$this->configured)
return false;
// connect to server
$ds = $this->getDs();
if( !$ds )
return false;
// get users
$filter = "objectClass=person";
$sr = ldap_search( $this->getDs(), $this->ldap_base, $filter );
$entries = ldap_get_entries( $this->getDs(), $sr );
if( $entries["count"] == 0 )
return false;
else {
$users = array();
foreach($entries as $row) {
if(isset($row['uid'])) {
$users[] = $row['uid'][0];
}
}
}
return $users;
}
}
?>