diff options
author | thomascube <thomas@roundcube.net> | 2011-01-23 18:10:40 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2011-01-23 18:10:40 +0000 |
commit | 8458c7ca0e787db4a04fb1a6264e15153fd173b3 (patch) | |
tree | aacaca671437b1e16b4cfd2d682707f4980b0e14 /program/steps | |
parent | 06670e4efae4b12b5dea5e0150cfed98dffbebb7 (diff) |
When creating a new contact, add it to the selected group; consider the selected group when deleting a contact
Diffstat (limited to 'program/steps')
-rw-r--r-- | program/steps/addressbook/save.inc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc index 7d29b6fb2..5d8b53159 100644 --- a/program/steps/addressbook/save.inc +++ b/program/steps/addressbook/save.inc @@ -131,7 +131,6 @@ foreach ($GLOBALS['CONTACT_COLTYPES'] as $col => $colprop) { if (empty($a_record['name'])) $a_record['name'] = join(' ', array_filter(array($a_record['prefix'], $a_record['firstname'], $a_record['middlename'], $a_record['surname'], $a_record['suffix'],))); -#var_dump($a_record); // Basic input checks (TODO: delegate to $CONTACTS instance) if (empty($a_record['name'])/* || empty($a_record['email'])*/) { @@ -242,6 +241,18 @@ else { if ($insert_id) { + // add new contact to the specified group + if ($CONTACTS->group_id) { + $plugin = $RCMAIL->plugins->exec_hook('group_addmembers', array('group_id' => $CONTACTS->group_id, 'ids' => $insert_id, 'source' => $source)); + + if (!$plugin['abort']) { + if (($maxnum = $RCMAIL->config->get('max_group_members', 0)) && ($CONTACTS->count()->count + 1 > $maxnum)) + $OUTPUT->show_message('maxgroupmembersreached', 'warning', array('max' => $maxnum)); + + $CONTACTS->add_to_group($gid, $plugin['ids']); + } + } + // add contact row or jump to the page where it should appear $CONTACTS->reset(); $result = $CONTACTS->search($CONTACTS->primary_key, $insert_id); |