diff options
Diffstat (limited to 'program')
-rw-r--r-- | program/include/rcube_ldap.php | 7 | ||||
-rw-r--r-- | program/steps/addressbook/save.inc | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/program/include/rcube_ldap.php b/program/include/rcube_ldap.php index 3ec0e5f3b..7699c4494 100644 --- a/program/include/rcube_ldap.php +++ b/program/include/rcube_ldap.php @@ -1019,7 +1019,7 @@ class rcube_ldap extends rcube_addressbook $dn = self::dn_encode($dn); // add new contact to the selected group - if ($this->groups) + if ($this->group_id) $this->add_to_group($this->group_id, $dn); return $dn; @@ -1700,13 +1700,16 @@ class rcube_ldap extends rcube_addressbook if (($group_cache = $this->cache->get('groups')) === null) $group_cache = $this->_fetch_groups(); + if (!is_array($contact_ids)) + $contact_ids = explode(',', $contact_ids); + $base_dn = $this->groups_base_dn; $group_name = $group_cache[$group_id]['name']; $member_attr = $group_cache[$group_id]['member_attr']; $group_dn = "cn=$group_name,$base_dn"; $new_attrs = array(); - foreach (explode(",", $contact_ids) as $id) + foreach ($contact_ids as $id) $new_attrs[$member_attr][] = self::dn_decode($id); $this->_debug("C: Add [dn: $group_dn]: ".print_r($new_attrs, true)); diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc index 0a2d6dbff..03f6671e6 100644 --- a/program/steps/addressbook/save.inc +++ b/program/steps/addressbook/save.inc @@ -50,10 +50,12 @@ foreach ($GLOBALS['CONTACT_COLTYPES'] as $col => $colprop) { foreach ((array)$vals as $i => $val) $values[$i][$childcol] = $val; } - $subtypes = get_input_value('_subtype_' . $col, RCUBE_INPUT_POST); - foreach ($subtypes as $i => $subtype) + $subtypes = isset($_REQUEST['_subtype_' . $col]) ? (array)get_input_value('_subtype_' . $col, RCUBE_INPUT_POST) : array(''); + foreach ($subtypes as $i => $subtype) { + $suffix = $subtype ? ':'.$subtype : ''; if ($values[$i]) - $a_record[$col.':'.$subtype][] = $values[$i]; + $a_record[$col.$suffix][] = $values[$i]; + } } // assign values and subtypes else if (is_array($_POST[$fname])) { |