diff options
Diffstat (limited to 'program')
-rw-r--r-- | program/js/app.js | 3 | ||||
-rw-r--r-- | program/steps/mail/folders.inc | 24 |
2 files changed, 14 insertions, 13 deletions
diff --git a/program/js/app.js b/program/js/app.js index 0288fad79..66b7de05b 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3495,10 +3495,7 @@ function rcube_webmail() this.check_for_recent = function() { if (this.busy) - { - this.send_keep_alive(); return; - } this.set_busy(true, 'checkingmail'); this.http_request('check-recent', (this.env.search_request ? '_search='+this.env.search_request+'&' : '') + '_t='+(new Date().getTime()), true); diff --git a/program/steps/mail/folders.inc b/program/steps/mail/folders.inc index c7c39fbea..b84398f26 100644 --- a/program/steps/mail/folders.inc +++ b/program/steps/mail/folders.inc @@ -39,18 +39,22 @@ if ($_action=='expunge' && ($mbox = get_input_value('_mbox', RCUBE_INPUT_POST))) // clear mailbox else if ($_action=='purge' && ($mbox = get_input_value('_mbox', RCUBE_INPUT_POST))) { - $success = $IMAP->clear_mailbox($mbox); - - if ($success && !empty($_REQUEST['_reload'])) + // we should only be purging trash and junk + if($mbox == $CONFIG['trash_mbox'] || $mbox == $CONFIG['junk_mbox']) { - $OUTPUT->set_env('messagecount', 0); - $OUTPUT->set_env('pagecount', 0); - $OUTPUT->command('message_list.clear'); - $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text()); - $OUTPUT->command('set_unread_count', $mbox_name, 0); + $success = $IMAP->clear_mailbox($mbox); + + if ($success && !empty($_REQUEST['_reload'])) + { + $OUTPUT->set_env('messagecount', 0); + $OUTPUT->set_env('pagecount', 0); + $OUTPUT->command('message_list.clear'); + $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text()); + $OUTPUT->command('set_unread_count', $mbox_name, 0); + } + else + $commands = "// purged: $success"; } - else - $commands = "// purged: $success"; } $OUTPUT->send($commands); |