diff options
| author | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2012-01-04 10:58:00 +0000 |
|---|---|---|
| committer | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2012-01-04 10:58:00 +0000 |
| commit | d848fc18e7c5e9843b1bd13b65cfc4ac787d72f6 (patch) | |
| tree | adaa63587c6753b4d94eeed8135e61f4ead2befe | |
| parent | 9774babe5513a06694bb9b6123dc32513550b42e (diff) | |
Improve support for multiple composite address fields in LDAP directories
git-svn-id: https://svn.roundcube.net/trunk@5704 208e9e7b-5314-0410-a742-e7e81cd9613c
| -rw-r--r-- | roundcubemail/program/include/rcube_ldap.php | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/roundcubemail/program/include/rcube_ldap.php b/roundcubemail/program/include/rcube_ldap.php index 5c0bd00a5..c11bbb5e2 100644 --- a/roundcubemail/program/include/rcube_ldap.php +++ b/roundcubemail/program/include/rcube_ldap.php @@ -1320,12 +1320,13 @@ class rcube_ldap extends rcube_addressbook if (!($value = $rec[$lf][$i])) continue; + list($col, $subtype) = explode(':', $rf); $out['_raw_attrib'][$lf][$i] = $value; if ($rf == 'email' && $this->mail_domain && !strpos($value, '@')) $out[$rf][] = sprintf('%s@%s', $value, $this->mail_domain); - else if (in_array($rf, array('street','zipcode','locality','country','region'))) - $out['address'][$i][$rf] = $value; + else if (in_array($col, array('street','zipcode','locality','country','region'))) + $out['address'.($subtype?':':'').$subtype][$i][$col] = $value; else if ($rec[$lf]['count'] > 1) $out[$rf][] = $value; else |
