mirror of
https://github.com/roundcube/roundcubemail.git
synced 2026-03-06 00:04:01 +01:00
- Plugin API: improved 'abort' flag handling, added 'result' item in some hooks: group_*, contact_*, identity_* (#1486914)
This commit is contained in:
@@ -30,8 +30,7 @@ if (!empty($_POST['_address']) && is_object($CONTACTS))
|
||||
{
|
||||
$contact_arr = $IMAP->decode_address_list(get_input_value('_address', RCUBE_INPUT_POST, true), 1, false);
|
||||
|
||||
if (!empty($contact_arr[1]['mailto']))
|
||||
{
|
||||
if (!empty($contact_arr[1]['mailto'])) {
|
||||
$contact = array(
|
||||
'email' => $contact_arr[1]['mailto'],
|
||||
'name' => $contact_arr[1]['name']
|
||||
@@ -45,21 +44,23 @@ if (!empty($_POST['_address']) && is_object($CONTACTS))
|
||||
|
||||
// check for existing contacts
|
||||
$existing = $CONTACTS->search('email', $contact['email'], true, false);
|
||||
|
||||
if ($done = $existing->count)
|
||||
$OUTPUT->show_message('contactexists', 'warning');
|
||||
else
|
||||
{
|
||||
else {
|
||||
$plugin = $RCMAIL->plugins->exec_hook('contact_create', array('record' => $contact, 'source' => null));
|
||||
$contact = $plugin['record'];
|
||||
|
||||
if (!$plugin['abort'] && ($done = $CONTACTS->insert($contact)))
|
||||
$done = !$plugin['abort'] ? $CONTACTS->insert($contact) : $plugin['result'];
|
||||
|
||||
if ($done)
|
||||
$OUTPUT->show_message('addedsuccessfully', 'confirmation');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$done)
|
||||
$OUTPUT->show_message('errorsavingcontact', 'warning');
|
||||
$OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsavingcontact', 'warning');
|
||||
|
||||
$OUTPUT->send();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user