X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fcompose.php;h=3c20980dea2bd70d87bef1adfa13f5bb71161faf;hb=707ad8a0985554d05fb4f51b9d46f9debf1e00aa;hp=99af71aabca55b35348ecf8ef86647b880b22281;hpb=0b6aacc9568e7aa0ca41aebad02e572f48a0c346;p=squirrelmail.git diff --git a/src/compose.php b/src/compose.php index 99af71aa..3c20980d 100644 --- a/src/compose.php +++ b/src/compose.php @@ -87,6 +87,9 @@ if ( sqgetGlobalVar('return', $temp, SQ_POST) ) { /** GET VARS */ sqgetGlobalVar('attachedmessages', $attachedmessages, SQ_GET); +/* Location (For HTTP 1.1 Header("Location: ...") redirects) */ +$location = get_location(); + /* --------------------- Specific Functions ------------------------------ */ function replyAllString($header) { @@ -300,17 +303,17 @@ if ($draft) { $draft_message = _("Draft Email Saved"); /* If this is a resumed draft, then delete the original */ if(isset($delete_draft)) { - Header("Location: delete_message.php?mailbox=" . urlencode($draft_folder) . + Header("Location: $location/delete_message.php?mailbox=" . urlencode($draft_folder) . "&message=$delete_draft&sort=$sort&startMessage=1&saved_draft=yes"); exit(); } else { if ($compose_new_win == '1') { - Header("Location: compose.php?saved_draft=yes&session=$composesession"); + Header("Location: $location/compose.php?saved_draft=yes&session=$composesession"); exit(); } else { - Header("Location: right_main.php?mailbox=$draft_folder&sort=$sort". + Header("Location: $location/right_main.php?mailbox=$draft_folder&sort=$sort". "&startMessage=1¬e=".urlencode($draft_message)); exit(); } @@ -361,10 +364,12 @@ if ($send) { } else { sqWordWrap($line, $editor_size); $newBody .= $line . "\n"; + } + } $body = $newBody; - do_hook('compose_send'); + $composeMessage=$compose_messages[$session]; $Result = deliverMessage($composeMessage); @@ -374,16 +379,16 @@ if ($send) { } unset($compose_messages[$session]); if ( isset($delete_draft)) { - Header("Location: delete_message.php?mailbox=" . urlencode( $draft_folder ). + Header("Location: $location/delete_message.php?mailbox=" . urlencode( $draft_folder ). "&message=$delete_draft&sort=$sort&startMessage=1&mail_sent=yes"); exit(); } if ($compose_new_win == '1') { - Header("Location: compose.php?mail_sent=yes"); + Header("Location: $location/compose.php?mail_sent=yes"); } else { - Header("Location: right_main.php?mailbox=$urlMailbox&sort=$sort". + Header("Location: $location/right_main.php?mailbox=$urlMailbox&sort=$sort". "&startMessage=1"); } } else { @@ -655,10 +660,14 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se switch ($action) { case ('draft'): $use_signature = FALSE; + $composeMessage->rfc822_header = $orig_header; $send_to = decodeHeader($orig_header->getAddr_s('to'),false,true); $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),false,true); $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),false,true); $subject = decodeHeader($orig_header->subject,false,true); +// /* remember the references and in-reply-to headers in case of an reply */ +// $composeMessage->rfc822_header->more_headers['References'] = $orig_header->references; +// $composeMessage->rfc822_header->more_headers['In-Reply-To'] = $orig_header->in_reply_to; $body_ary = explode("\n", $body); $cnt = count($body_ary) ; $body = ''; @@ -935,6 +944,7 @@ function showInputForm ($session, $values=false) { echo htmlspecialchars($em) . "\n"; } } + echo ''; for ($i = 1; $i < $idents; $i ++) { $fn = getPref($data_dir, $username, 'full_name' . $i); $em = getPref($data_dir, $username, 'email_address' . $i); @@ -1022,21 +1032,21 @@ function showInputForm ($session, $values=false) { if ($default_charset == 'iso-2022-jp') { echo "\n\n".($prefix_sig==true? "-- \n":'').mb_convert_encoding($signature, 'EUC-JP'); } else { - echo "\n\n".($prefix_sig==true? "-- \n":'').decodeHeader($signature,false); + echo "\n\n".($prefix_sig==true? "-- \n":'').decodeHeader($signature,false,false); } - echo "\n\n".decodeHeader($body,false,true); + echo "\n\n".decodeHeader($body,false,false); } else { - echo "\n\n".decodeHeader($body,false,true); + echo "\n\n".decodeHeader($body,false,false); if ($default_charset == 'iso-2022-jp') { echo "\n\n".($prefix_sig==true? "-- \n":'').mb_convert_encoding($signature, 'EUC-JP'); }else{ - echo "\n\n".($prefix_sig==true? "-- \n":'').decodeHeader($signature,false,true); + echo "\n\n".($prefix_sig==true? "-- \n":'').decodeHeader($signature,false,false); } } } else { - echo decodeHeader($body,false,true); + echo decodeHeader($body,false,false); } echo '
' . "\n" . ' ' . "\n" . @@ -1365,7 +1375,6 @@ function deliverMessage($composeMessage, $draft=false) { } if (!$from_mail) { $from_mail = "$popuser@$domain"; - $full_name = ''; } $rfc822_header->from = $rfc822_header->parseAddress($from_mail,true); if ($full_name) { @@ -1423,6 +1432,10 @@ function deliverMessage($composeMessage, $draft=false) { $rfc822_header->content_type = $content_type; $composeMessage->rfc822_header = $rfc822_header; + + /* Here you can modify the message structure just before we hand + it over to deliver */ + do_hook('compose_send'); if (!$useSendmail && !$draft) { require_once(SM_PATH . 'class/deliver/Deliver_SMTP.class.php');