| | |
| | | <?php |
| | | |
| | | /* |
| | | +-----------------------------------------------------------------------+ |
| | | | program/include/rcube_ldap.inc | |
| | |
| | | */ |
| | | 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; |
| | | } |
| | | |
| | |
| | | } |
| | | $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); |