summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2012-05-02 21:25:47 +0000
committerthomascube <thomas@roundcube.net>2012-05-02 21:25:47 +0000
commit24f1bf0f91254443ad848686b7afdb1a785e79e8 (patch)
treed3f28dea1b96ffc7124347f1b0c43e8bc5e683d4 /program
parenta605b2584df2dd5bc2bd3b9ba73e71d921eb9a13 (diff)
Fix handling of 'serialzied' LDAP address attributes
Diffstat (limited to 'program')
-rw-r--r--program/include/rcube_ldap.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/program/include/rcube_ldap.php b/program/include/rcube_ldap.php
index d3067e1e1..17fb40784 100644
--- a/program/include/rcube_ldap.php
+++ b/program/include/rcube_ldap.php
@@ -143,7 +143,14 @@ class rcube_ldap extends rcube_addressbook
}
}
else if ($this->coltypes['address']) {
- $this->coltypes['address'] = array('type' => 'textarea', 'childs' => null, 'limit' => 1, 'size' => 40);
+ $this->coltypes['address'] += array('type' => 'textarea', 'childs' => null, 'size' => 40);
+
+ // 'serialized' means the UI has to present a composite address field
+ if ($this->coltypes['address']['serialized']) {
+ $childprop = array('type' => 'text');
+ $this->coltypes['address']['type'] = 'composite';
+ $this->coltypes['address']['childs'] = array('street' => $childprop, 'locality' => $childprop, 'zipcode' => $childprop, 'country' => $childprop);
+ }
}
// make sure 'required_fields' is an array