summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2012-05-02 21:25:47 +0000
committerAleksander Machniak <alec@alec.pl>2012-05-08 12:12:44 +0200
commit60d9c79f910bb655f08ab39d7fb7fe1ded7a6753 (patch)
treeaebc2caabfc3062e095649f25ab60093e8901d4c /program
parente44e5cc79bea2c776d6869b767245df1413cce15 (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 174ee17e7..c14fd0e95 100644
--- a/program/include/rcube_ldap.php
+++ b/program/include/rcube_ldap.php
@@ -144,7 +144,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