/**
* compose.php
*
- * Copyright (c) 1999-2005 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
* This code sends a mail.
*
* There are 4 modes of operation:
* - Send mail
* - Save As Draft
*
+ * @copyright © 1999-2005 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
*/
$startMessage = 1;
}
+
/** POST VARS */
sqgetGlobalVar('sigappend', $sigappend, SQ_POST);
sqgetGlobalVar('from_htmladdr_search', $from_htmladdr_search, SQ_POST);
/** GET VARS */
sqgetGlobalVar('attachedmessages', $attachedmessages, SQ_GET);
+if ( sqgetGlobalVar('account', $temp, SQ_GET) ) {
+ $iAccount = (int) $temp;
+} else {
+ $iAccount = 0;
+}
+
/** get smaction */
if ( !sqgetGlobalVar('smaction',$action) )
$mailprio, $compose_new_win, $saved_draft, $mail_sent, $sig_first,
$username, $compose_messages, $composesession, $default_charset;
+ if (checkForJavascript()) {
+ $onfocus = ' onfocus="alreadyFocused=true;"';
+ $onfocus_array = array('onfocus' => 'alreadyFocused=true;');
+ }
+ else {
+ $onfocus = '';
+ $onfocus_array = array();
+ }
+
$composeMessage = $compose_messages[$session];
if ($values) {
$send_to = $values['send_to'];
html_tag( 'td', '', 'right', $color[4], 'width="10%"' ) .
_("To") . ':</td>' . "\n" .
html_tag( 'td', '', 'left', $color[4], 'width="90%"' ) .
- addInput('send_to', $send_to, 60). '<br />' . "\n" .
+ addInput('send_to', $send_to, 60, 0, $onfocus_array). '<br />' . "\n" .
' </td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
html_tag( 'td', '', 'right', $color[4] ) .
_("Cc") . ':</td>' . "\n" .
html_tag( 'td', '', 'left', $color[4] ) .
- addInput('send_to_cc', $send_to_cc, 60). '<br />' . "\n" .
+ addInput('send_to_cc', $send_to_cc, 60, 0, $onfocus_array). '<br />' . "\n" .
' </td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
html_tag( 'td', '', 'right', $color[4] ) .
_("Bcc") . ':</td>' . "\n" .
html_tag( 'td', '', 'left', $color[4] ) .
- addInput('send_to_bcc', $send_to_bcc, 60).'<br />' . "\n" .
+ addInput('send_to_bcc', $send_to_bcc, 60, 0, $onfocus_array).'<br />' . "\n" .
' </td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
html_tag( 'td', '', 'right', $color[4] ) .
_("Subject") . ':</td>' . "\n" .
html_tag( 'td', '', 'left', $color[4] ) . "\n";
- echo ' '.addInput('subject', $subject, 60).
+ echo ' '.addInput('subject', $subject, 60, 0, $onfocus_array).
' </td>' . "\n" .
' </tr>' . "\n\n";
echo ' <tr>' . "\n" .
' <td bgcolor="' . $color[0] . '" colspan="2" align="center">' . "\n" .
' <textarea name="body" id="body" rows="' . (int)$editor_height .
- '" cols="' . (int)$editor_size . '" wrap="virtual">';
+ '" cols="' . (int)$editor_size . '" wrap="virtual"' . $onfocus . '>';
}
else {
echo ' <tr>' . "\n" .
' <td bgcolor="' . $color[4] . '" colspan="2">' . "\n" .
' <textarea name="body" id="body" rows="' . (int)$editor_height .
- '" cols="' . (int)$editor_size . '" wrap="virtual">';
+ '" cols="' . (int)$editor_size . '" wrap="virtual"' . $onfocus . '>';
}
if ($use_signature == true && $newmail == true && !isset($from_htmladdr_search)) {
sqimap_append_done ($imap_stream, $sent_folder);
unset ($imap_deliver);
}
- global $passed_id, $mailbox, $action;
+
+ global $passed_id, $mailbox, $action, $what, $iAccount,$startMessage;
+
ClearAttachments($composeMessage);
if ($action == 'reply' || $action == 'reply_all') {
- sqimap_mailbox_select ($imap_stream, $mailbox);
- sqimap_toggle_flag($imap_stream, array($passed_id), '\\Answered', true, false);
+ $aMailbox = sqm_api_mailbox_select($imap_stream, $iAccount, $mailbox,array('setindex' => $what, 'offset' => $startMessage),array());
+ //sqimap_mailbox_select ($imap_stream, $mailbox);
+ $aUpdatedMsgs = sqimap_toggle_flag($imap_stream, array($passed_id), '\\Answered', true, false);
+ if (isset($aUpdatedMsgs[$passed_id]['FLAGS'])) {
+ /**
+ * Only update the cached headers if the header is
+ * cached.
+ */
+ if (isset($aMailbox['MSG_HEADERS'][$passed_id])) {
+ $aMailbox['MSG_HEADERS'][$passed_id]['FLAGS'] = $aMsg['FLAGS'];
+ }
+ }
+ /**
+ * Write mailbox with updated seen flag information back to cache.
+ */
+ $mailbox_cache[$iAccount.'_'.$aMailbox['NAME']] = $aMailbox;
+ sqsession_register($mailbox_cache,'mailbox_cache');
}
sqimap_logout($imap_stream);
}