| | |
| | | } |
| | | |
| | | // remember reply/forward UIDs in special headers |
| | | if (!empty($COMPOSE['reply_uid']) && $savedraft) { |
| | | $headers['X-Draft-Info'] = array('type' => 'reply', 'uid' => $COMPOSE['reply_uid']); |
| | | } |
| | | else if (!empty($COMPOSE['forward_uid']) && $savedraft) { |
| | | $headers['X-Draft-Info'] = array('type' => 'forward', 'uid' => rcube_imap_generic::compressMessageSet($COMPOSE['forward_uid'])); |
| | | if ($savedraft) { |
| | | // Note: We ignore <UID>.<PART> forwards/replies here |
| | | if (($uid = $COMPOSE['reply_uid']) && !preg_match('/^\d+[0-9.]+$/', $uid)) { |
| | | $headers['X-Draft-Info'] = array('type' => 'reply', 'uid' => $uid); |
| | | } |
| | | else if (!empty($COMPOSE['forward_uid']) |
| | | && ($uid = rcube_imap_generic::compressMessageSet($COMPOSE['forward_uid'])) |
| | | && !preg_match('/^\d+[0-9.]+$/', $uid) |
| | | ) { |
| | | $headers['X-Draft-Info'] = array('type' => 'forward', 'uid' => $uid); |
| | | } |
| | | } |
| | | |
| | | if (!empty($COMPOSE['reply_msgid'])) { |
| | |
| | | |
| | | // sending aborted by plugin |
| | | if ($data['abort'] && !$savedraft) { |
| | | $OUTPUT->show_message($data['message'] ? $data['message'] : 'sendingfailed'); |
| | | $OUTPUT->show_message($data['message'] ?: 'sendingfailed'); |
| | | $OUTPUT->send('iframe'); |
| | | } |
| | | else { |
| | |
| | | } |
| | | else { |
| | | $ctype = str_replace('image/pjpeg', 'image/jpeg', $attachment['mimetype']); // #1484914 |
| | | $file = $attachment['data'] ? $attachment['data'] : $attachment['path']; |
| | | $file = $attachment['data'] ?: $attachment['path']; |
| | | $folding = (int) $RCMAIL->config->get('mime_param_folding'); |
| | | |
| | | $MAIL_MIME->addAttachment($file, |
| | |
| | | // set replied/forwarded flag |
| | | if ($COMPOSE['reply_uid']) { |
| | | foreach (rcmail::get_uids($COMPOSE['reply_uid'], $COMPOSE['mailbox']) as $mbox => $uids) { |
| | | $RCMAIL->storage->set_flag($uids, 'ANSWERED', $mbox); |
| | | // skip <UID>.<PART> replies |
| | | if (!preg_match('/^\d+[0-9.]+$/', implode(',', (array) $uids))) { |
| | | $RCMAIL->storage->set_flag($uids, 'ANSWERED', $mbox); |
| | | } |
| | | } |
| | | } |
| | | else if ($COMPOSE['forward_uid']) { |
| | | foreach (rcmail::get_uids($COMPOSE['forward_uid'], $COMPOSE['mailbox']) as $mbox => $uids) { |
| | | $RCMAIL->storage->set_flag($uids, 'FORWARDED', $mbox); |
| | | // skip <UID>.<PART> forwards |
| | | if (!preg_match('/^\d+[0-9.]+$/', implode(',', (array) $uids))) { |
| | | $RCMAIL->storage->set_flag($uids, 'FORWARDED', $mbox); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | array('msgid' => $message_id, 'uid' => $saved, 'folder' => $store_target)); |
| | | |
| | | // display success |
| | | $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'messagesaved', 'confirmation'); |
| | | $OUTPUT->show_message($plugin['message'] ?: 'messagesaved', 'confirmation'); |
| | | |
| | | // update "_draft_saveid" and the "cmp_hash" to prevent "Unsaved changes" warning |
| | | $COMPOSE['param']['draft_uid'] = $plugin['uid']; |