diff options
| -rw-r--r-- | plugins/archive/archive.js | 9 | ||||
| -rw-r--r-- | plugins/archive/archive.php | 12 | 
2 files changed, 19 insertions, 2 deletions
| diff --git a/plugins/archive/archive.js b/plugins/archive/archive.js index 3500b9fe4..cf44b74d4 100644 --- a/plugins/archive/archive.js +++ b/plugins/archive/archive.js @@ -15,7 +15,14 @@ function rcmail_archive(prop)      }      else {        // let the server sort the messages to the according subfolders -      var post_data = { _uid: rcmail.message_list.get_selection().join(','), _mbox: rcmail.env.mailbox }; +      var post_data = { _uid: rcmail.env.uid ? rcmail.env.uid : rcmail.message_list.get_selection().join(','), _mbox: rcmail.env.mailbox }; + +      if (rcmail.env.display_next && rcmail.env.next_uid) +        post_data._next_uid = rcmail.env.next_uid; + +      if (rcmail.env.action) +        post_data._from = rcmail.env.action; +        rcmail.http_post('plugin.move2archive', post_data);      }    } diff --git a/plugins/archive/archive.php b/plugins/archive/archive.php index 420f6918b..291ef1370 100644 --- a/plugins/archive/archive.php +++ b/plugins/archive/archive.php @@ -208,7 +208,17 @@ class archive extends rcube_plugin        $rcmail->output->show_message($this->gettext('archived'), 'confirmation');      } -    $rcmail->output->command('plugin.move2archive_response', $result); +    if ($_POST['_from'] == 'show' && !empty($result['update'])) { +      if ($next = get_input_value('_next_uid', RCUBE_INPUT_GPC)) { +        $rcmail->output->command('show_message', $next); +      } +      else { +        $rcmail->output->command('command', 'list'); +      } +    } +    else { +      $rcmail->output->command('plugin.move2archive_response', $result); +    }    }    /** | 
