summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2009-08-29 20:24:03 +0000
committeralecpl <alec@alec.pl>2009-08-29 20:24:03 +0000
commit08ff050efc63045d7c3bd54a35add68c3f90ada2 (patch)
treee91422a58f7dd9fbffd4525ec586c1d7551ccd56
parentea18c594a525d28aa5156d13cac3e24f2c9267cf (diff)
- allow empty LDAP 'filter' (#1485184)
-rw-r--r--program/include/rcube_ldap.php9
1 files changed, 5 insertions, 4 deletions
diff --git a/program/include/rcube_ldap.php b/program/include/rcube_ldap.php
index 762e6e371..e73508670 100644
--- a/program/include/rcube_ldap.php
+++ b/program/include/rcube_ldap.php
@@ -244,7 +244,7 @@ class rcube_ldap extends rcube_addressbook
$filter = $this->prop['filter'];
$this->set_search_set($filter);
}
-
+
// exec LDAP search if no result resource is stored
if ($this->conn && !$this->ldap_result)
$this->_exec_search();
@@ -381,7 +381,7 @@ class rcube_ldap extends rcube_addressbook
$res = null;
if ($this->conn && $dn)
{
- $this->ldap_result = ldap_read($this->conn, base64_decode($dn), "(objectclass=*)", array_values($this->fieldmap));
+ $this->ldap_result = ldap_read($this->conn, base64_decode($dn), '(objectclass=*)', array_values($this->fieldmap));
$entry = @ldap_first_entry($this->conn, $this->ldap_result);
if ($entry && ($rec = ldap_get_attributes($this->conn, $entry)))
@@ -554,10 +554,11 @@ class rcube_ldap extends rcube_addressbook
*/
function _exec_search()
{
- if ($this->ready && $this->filter)
+ if ($this->ready)
{
+ $filter = $this->filter ? $this->filter : '(objectclass=*)';
$function = $this->prop['scope'] == 'sub' ? 'ldap_search' : ($this->prop['scope'] == 'base' ? 'ldap_read' : 'ldap_list');
- $this->ldap_result = $function($this->conn, $this->prop['base_dn'], $this->filter, array_values($this->fieldmap), 0, 0);
+ $this->ldap_result = $function($this->conn, $this->prop['base_dn'], $filter, array_values($this->fieldmap), 0, 0);
return true;
}
else