diff options
author | alecpl <alec@alec.pl> | 2010-06-20 09:27:32 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2010-06-20 09:27:32 +0000 |
commit | f7676544788ff47cd51e99256f6d44ed436b05aa (patch) | |
tree | c0a04fa0b2d4ac1fafc6c388ac00df66a430c288 /program | |
parent | d7a5dfa26abe21aa9216fe862225baa2b5caca3e (diff) |
- Add %dc variable support in base_dn/bind_dn config (#1486779)
Diffstat (limited to 'program')
-rw-r--r-- | program/include/rcube_ldap.php | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/program/include/rcube_ldap.php b/program/include/rcube_ldap.php index 63c193ff6..b54827691 100644 --- a/program/include/rcube_ldap.php +++ b/program/include/rcube_ldap.php @@ -132,13 +132,14 @@ class rcube_ldap extends rcube_addressbook // Get the pieces needed for variable replacement. $fu = $RCMAIL->user->get_username(); list($u, $d) = explode('@', $fu); - + $dc = 'dc='.strtr($d, array('.' => ',dc=')); // hierarchal domain string + // Replace the bind_dn and base_dn variables. - $replaces = array('%fu' => $fu, '%u' => $u, '%d' => $d); + $replaces = array('%dc' => $dc, '%d' => $d, '%fu' => $fu, '%u' => $u); $this->prop['bind_dn'] = strtr($this->prop['bind_dn'], $replaces); $this->prop['base_dn'] = strtr($this->prop['base_dn'], $replaces); } - + if (!empty($this->prop['bind_dn']) && !empty($this->prop['bind_pass'])) $this->ready = $this->bind($this->prop['bind_dn'], $this->prop['bind_pass']); } |