diff options
author | Aleksander Machniak <alec@alec.pl> | 2012-11-11 10:32:05 +0100 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2012-11-11 10:32:05 +0100 |
commit | 77de23fa939338546a3e049459ffd29edd9058c2 (patch) | |
tree | 73addba7ddbbf0bc13b5f12f900c91d7584bdf2f /program/steps/mail | |
parent | aa83596b0bec71af8d96ee346d7a625709bf0750 (diff) |
Added cross-task 'refresh' request for system state updates
Diffstat (limited to 'program/steps/mail')
-rw-r--r-- | program/steps/mail/check_recent.inc | 10 | ||||
-rw-r--r-- | program/steps/mail/func.inc | 1 |
2 files changed, 8 insertions, 3 deletions
diff --git a/program/steps/mail/check_recent.inc b/program/steps/mail/check_recent.inc index 1a1b08c60..90d17c15b 100644 --- a/program/steps/mail/check_recent.inc +++ b/program/steps/mail/check_recent.inc @@ -19,8 +19,14 @@ +-----------------------------------------------------------------------+ */ +// If there's no folder or messages list, there's nothing to update +// This can happen on 'refresh' request +if (empty($_REQUEST['_folderlist']) && empty($_REQUEST['_list'])) { + return; +} + $current = $RCMAIL->storage->get_folder(); -$check_all = !empty($_GET['_refresh']) || (bool)$RCMAIL->config->get('check_all_folders'); +$check_all = $RCMAIL->action != 'refresh' || (bool)$RCMAIL->config->get('check_all_folders'); // list of folders to check if ($check_all) { @@ -102,6 +108,4 @@ foreach ($a_mailboxes as $mbox_name) { } } -$RCMAIL->plugins->exec_hook('keep_alive', array()); - $OUTPUT->send(); diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index f128a3834..374ab7571 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -1810,6 +1810,7 @@ $OUTPUT->add_handlers(array( // register action aliases $RCMAIL->register_action_map(array( + 'refresh' => 'check_recent.inc', 'preview' => 'show.inc', 'print' => 'show.inc', 'moveto' => 'move_del.inc', |