| | |
| | | * Plugin that adds a new button to the mailbox toolbar |
| | | * to move messages to a (user selectable) archive folder. |
| | | * |
| | | * @version 2.2 |
| | | * @version 2.3 |
| | | * @license GNU GPLv3+ |
| | | * @author Andre Rodier, Thomas Bruederli, Aleksander Machniak |
| | | */ |
| | |
| | | $delimiter = $storage->get_hierarchy_delimiter(); |
| | | $archive_folder = $rcmail->config->get('archive_mbox'); |
| | | $archive_type = $rcmail->config->get('archive_type', ''); |
| | | |
| | | $storage->set_folder(($current_mbox = rcube_utils::get_input_value('_mbox', RCUBE_INPUT_POST))); |
| | | $current_mbox = rcube_utils::get_input_value('_mbox', RCUBE_INPUT_POST); |
| | | |
| | | $result = array('reload' => false, 'update' => false, 'errors' => array()); |
| | | $folders = array(); |
| | |
| | | |
| | | if ($uids == '*') { |
| | | $index = $storage->index(null, rcmail_sort_column(), rcmail_sort_order()); |
| | | $uids = $index->get(); |
| | | $messageset = array($current_mbox => $index->get()); |
| | | } |
| | | else { |
| | | $uids = explode(',', $uids); |
| | | $messageset = rcmail::get_uids(); |
| | | } |
| | | |
| | | foreach ($messageset as $mbox => $uids) { |
| | | $storage->set_folder(($current_mbox = $mbox)); |
| | | |
| | | foreach ($uids as $uid) { |
| | | if (!$archive_folder || !($message = $rcmail->storage->get_message($uid))) { |
| | |
| | | $result['errors'][] = $uid; |
| | | } |
| | | } // end for |
| | | } |
| | | |
| | | // send response |
| | | if ($result['errors']) { |