summaryrefslogtreecommitdiff
path: root/program/steps/addressbook/delete.inc
diff options
context:
space:
mode:
Diffstat (limited to 'program/steps/addressbook/delete.inc')
-rw-r--r--program/steps/addressbook/delete.inc21
1 files changed, 17 insertions, 4 deletions
diff --git a/program/steps/addressbook/delete.inc b/program/steps/addressbook/delete.inc
index 3bb2ef500..b2aac8a71 100644
--- a/program/steps/addressbook/delete.inc
+++ b/program/steps/addressbook/delete.inc
@@ -51,8 +51,21 @@ foreach ($cids as $source => $cid)
$deleted = !$plugin['abort'] ? $CONTACTS->delete($cid, $undo_time < 1) : $plugin['result'];
if (!$deleted) {
- $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'contactdelerror', 'error');
- $OUTPUT->command('list_contacts');
+ if ($plugin['message']) {
+ $error = $plugin['message'];
+ }
+ else if (($error = $CONTACTS->get_error()) && $error['message']) {
+ $error = $error['message'];
+ }
+ else {
+ $error = 'contactdelerror';
+ }
+
+ $source = rcube_utils::get_input_value('_source', rcube_utils::INPUT_GPC);
+ $group = rcube_utils::get_input_value('_gid', rcube_utils::INPUT_GPC);
+
+ $OUTPUT->show_message($error, 'error');
+ $OUTPUT->command('list_contacts', $source, $group);
$OUTPUT->send();
}
else {
@@ -113,8 +126,8 @@ $OUTPUT->command('set_rowcount', rcmail_get_rowcount_text($result));
if (!empty($_SESSION['contact_undo'])) {
$_SESSION['contact_undo']['ts'] = time();
- $msg = html::span(null, rcube_label('contactdeleted'))
- . ' ' . html::a(array('onclick' => JS_OBJECT_NAME.".command('undo', '', this)"), rcube_label('undo'));
+ $msg = html::span(null, $RCMAIL->gettext('contactdeleted'))
+ . ' ' . html::a(array('onclick' => rcmail_output::JS_OBJECT_NAME.".command('undo', '', this)"), $RCMAIL->gettext('undo'));
$OUTPUT->show_message($msg, 'confirmation', null, true, $undo_time);
}