alecpl
2009-08-29 08ff050efc63045d7c3bd54a35add68c3f90ada2
- allow empty LDAP 'filter' (#1485184)


1 files modified
9 ■■■■■ changed files
program/include/rcube_ldap.php 9 ●●●●● patch | view | raw | blame | history
program/include/rcube_ldap.php
@@ -244,7 +244,7 @@
      $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 @@
    $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 @@
   */
  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