From e70d6ea64e711096af36b1234f8545b870ea5f45 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Sat, 05 Apr 2008 08:49:21 -0400 Subject: [PATCH] Apply changes from trunk to 0.1-stable --- program/include/rcube_ldap.inc | 22 ++++++++++++---------- 1 files changed, 12 insertions(+), 10 deletions(-) diff --git a/program/include/rcube_ldap.inc b/program/include/rcube_ldap.inc index 3de0184..969101b 100644 --- a/program/include/rcube_ldap.inc +++ b/program/include/rcube_ldap.inc @@ -1,5 +1,4 @@ <?php - /* +-----------------------------------------------------------------------+ | program/include/rcube_ldap.inc | @@ -120,20 +119,20 @@ */ function bind($dn, $pass) { - if (!$this->conn) + if (!$this->conn) { return false; + } - if (@ldap_bind($this->conn, $dn, $pass)) + if (ldap_bind($this->conn, $dn, $pass)) { return true; - else - { - raise_error(array( + } + + raise_error(array( 'code' => ldap_errno($this->conn), 'type' => 'ldap', 'message' => "Bind failed for dn=$dn: ".ldap_error($this->conn)), - true); - } - + true); + return false; } @@ -286,9 +285,12 @@ } $filter .= ')'; + // avoid double-wildcard if $value is empty + $filter = preg_replace('/\*+/', '*', $filter); + // add general filter to query if (!empty($this->prop['filter'])) - $filter = '(&'.$this->prop['filter'] . $filter . ')'; + $filter = '(&(' . preg_replace('/^\(|\)$/', '', $this->prop['filter']) . ')' . $filter . ')'; // set filter string and execute search $this->set_search_set($filter); -- Gitblit v1.9.1