From 3412e50b54e3daac8745234e21ab6e72be0ed165 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli <thomas@roundcube.net> Date: Wed, 04 Jun 2014 11:20:33 -0400 Subject: [PATCH] Fix attachment menu structure and aria-attributes --- program/steps/mail/copy.inc | 49 ++++++++++++++++++++++++------------------------- 1 files changed, 24 insertions(+), 25 deletions(-) diff --git a/program/steps/mail/copy.inc b/program/steps/mail/copy.inc index 91d4e90..86586d3 100644 --- a/program/steps/mail/copy.inc +++ b/program/steps/mail/copy.inc @@ -4,9 +4,12 @@ +-----------------------------------------------------------------------+ | program/steps/mail/copy.inc | | | - | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005-2010, RoundCube Dev. - Switzerland | - | Licensed under the GNU GPL | + | This file is part of the Roundcube Webmail client | + | Copyright (C) 2005-2014, The Roundcube Dev Team | + | | + | Licensed under the GNU General Public License version 3 or | + | any later version with exceptions for skins & plugins. | + | See the README file for a full license statement. | | | | PURPOSE: | | Copy the submitted messages to a specific mailbox | @@ -14,46 +17,42 @@ +-----------------------------------------------------------------------+ | Author: Aleksander Machniak <alec@alec.pl> | +-----------------------------------------------------------------------+ - - $Id$ - */ // only process ajax requests -if (!$OUTPUT->ajax_call) - return; - -// count messages before changing anything -$old_count = $IMAP->messagecount(NULL, $IMAP->threading ? 'THREADS' : 'ALL'); -$old_pages = ceil($old_count / $IMAP->page_size); +if (!$OUTPUT->ajax_call) { + return; +} // move messages -if (!empty($_POST['_uid']) && !empty($_POST['_target_mbox'])) { - $uids = get_input_value('_uid', RCUBE_INPUT_POST); - $target = get_input_value('_target_mbox', RCUBE_INPUT_POST); - $mbox = get_input_value('_mbox', RCUBE_INPUT_POST); +if (!empty($_POST['_uid']) && strlen($_POST['_target_mbox'])) { + $target = rcube_utils::get_input_value('_target_mbox', rcube_utils::INPUT_POST, true); - $copied = $IMAP->copy_message($uids, $target, $mbox); - + foreach (rcmail::get_uids() as $mbox => $uids) { + if ($mbox === $target) + $copied++; + else + $copied += (int)$RCMAIL->storage->copy_message($uids, $target, $mbox); + } + if (!$copied) { // send error message - if ($_POST['_from'] != 'show') - $OUTPUT->command('list_mailbox'); - $OUTPUT->show_message('errorcopying', 'error'); + $RCMAIL->display_server_error('errorcopying'); $OUTPUT->send(); exit; + } + else { + $OUTPUT->show_message('messagecopied', 'confirmation'); } rcmail_send_unread_count($target, true); - $OUTPUT->command('set_quota', rcmail_quota_content()); + $OUTPUT->command('set_quota', $RCMAIL->quota_content()); } // unknown action or missing query param else { - exit; + $OUTPUT->show_message('internalerror', 'error'); } // send response $OUTPUT->send(); - -?> -- Gitblit v1.9.1