X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fcompose.php;h=ba3f2a51693b272f6e7eeb18405e6c5bec71cd3e;hp=a3a292ba5253311089eadd97370b74bea4f9bffa;hb=d068c0ec5447e8f373ebd536b08ed902c00de0f5;hpb=ca1f4a68aa072d02fda10da715e8cb003519ccf0 diff --git a/src/compose.php b/src/compose.php index a3a292ba..ba3f2a51 100644 --- a/src/compose.php +++ b/src/compose.php @@ -7,20 +7,27 @@ ** - Send mail **/ - include("../config/config.php"); - include("../functions/strings.php"); - include("../functions/page_header.php"); - include("../functions/imap.php"); - include("../functions/mailbox.php"); - include("../functions/date.php"); - include("../functions/mime.php"); - include("../functions/smtp.php"); - include("../functions/display_messages.php"); + if (!isset($config_php)) + include("../config/config.php"); + if (!isset($strings_php)) + include("../functions/strings.php"); + if (!isset($page_header_php)) + include("../functions/page_header.php"); + if (!isset($imap_php)) + include("../functions/imap.php"); + if (!isset($date_php)) + include("../functions/date.php"); + if (!isset($mime_php)) + include("../functions/mime.php"); + if (!isset($smtp_php)) + include("../functions/smtp.php"); + if (!isset($display_messages_php)) + include("../functions/display_messages.php"); include("../src/load_prefs.php"); echo "\n"; - $imapConnection = loginToImapServer($username, $key, $imapServerAddress, 0); + $imapConnection = sqimap_login($username, $key, $imapServerAddress, 0); displayPageHeader($color, "None"); // This function is used when not sending or adding attachments @@ -28,9 +35,12 @@ global $forward_id, $imapConnection, $msg, $ent_num, $body_ary, $body, $reply_id, $send_to, $send_to_cc, $mailbox; + $send_to = decodeHeader($send_to); + $send_to_cc = decodeHeader($send_to_cc); + if ($forward_id) { - selectMailbox($imapConnection, $mailbox, $numMessages); - $msg = fetchMessage($imapConnection, $forward_id, $mailbox); + sqimap_mailbox_select($imapConnection, $mailbox); + $msg = sqimap_get_message($imapConnection, $forward_id, $mailbox); if (containsType($msg, "text", "html", $ent_num)) { $body = decodeBody($msg["ENTITIES"][$ent_num]["BODY"], $msg["ENTITIES"][$ent_num]["ENCODING"]); @@ -65,8 +75,8 @@ } if ($reply_id) { - selectMailbox($imapConnection, $mailbox, $numMessages); - $msg = fetchMessage($imapConnection, $reply_id, $mailbox); + sqimap_mailbox_select($imapConnection, $mailbox); + $msg = sqimap_get_message($imapConnection, $reply_id, $mailbox); if (containsType($msg, "text", "html", $ent_num)) { $body = decodeBody($msg["ENTITIES"][$ent_num]["BODY"], $msg["ENTITIES"][$ent_num]["ENCODING"], false); @@ -98,12 +108,8 @@ } } - // Add some decoding information - $send_to = encodeEmailAddr($send_to); - // parses the field and returns only the email address - $send_to = decodeEmailAddr($send_to); + $send_to = sqimap_find_email($send_to); - $send_to = strtolower($send_to); $send_to = ereg_replace("\"", "", $send_to); $send_to = stripslashes($send_to); @@ -118,14 +124,9 @@ if ($sendcc[$i] == "") continue; - $sendcc[$i] = encodeEmailAddr($sendcc[$i]); - $sendcc[$i] = decodeEmailAddr($sendcc[$i]); - - $whofrom = encodeEmailAddr($msg["HEADER"]["FROM"]); - $whofrom = decodeEmailAddr($whofrom); - - $whoreplyto = encodeEmailAddr($msg["HEADER"]["REPLYTO"]); - $whoreplyto = decodeEmailAddr($whoreplyto); + $sendcc[$i] = sqimap_find_email($sendcc[$i]); + $whofrom = sqimap_find_displayable_name($msg["HEADER"]["FROM"]); + $whoreplyto = sqimap_find_email($msg["HEADER"]["REPLYTO"]); if ((strtolower(trim($sendcc[$i])) != strtolower(trim($whofrom))) && (strtolower(trim($sendcc[$i])) != strtolower(trim($whoreplyto))) && @@ -143,11 +144,15 @@ function showInputForm () { global $send_to, $send_to_cc, $reply_subj, $forward_subj, $body, $passed_body, $color, $use_signature, $signature, $editor_size, - $attachments, $subject; + $attachments, $subject, $newmail; + + $subject = decodeHeader($subject); + $reply_subj = decodeHeader($reply_subj); + $forward_subj = decodeHeader($forward_subj); echo "\n
\n"; - echo "\n"; + echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; @@ -285,35 +291,39 @@ } } else if (isset($attach)) { $localfilename = md5("$attachfile, $attachfile_name, $REMOTE_IP, $REMOTE_PORT, $UNIQUE_ID, and everything else that may add entropy"); - $localfilename = $attachment_dir.$localfilename; + $localfilename = $localfilename; // Put the file in a better place error_reporting(0); // Rename will produce error output if it fails - if (!rename($attachfile, $localfilename)) { - if (!copy($attachfile, $localfilename)) { + if (!rename($attachfile, $attachment_dir.$localfilename)) { + if (!copy($attachfile, $attachment_dir.$localfilename)) { plain_error_message(_("Could not move/copy file. File not attached")); + $failed = true; } } // If it still exists, PHP will remove the original file - // Write information about the file - $fp = fopen ($localfilename.".info", "w"); - fputs ($fp, "$attachfile_type\n$attachfile_name\n"); - fclose ($fp); + if (!$failed) { + // Write information about the file + $fp = fopen ($attachment_dir.$localfilename.".info", "w"); + fputs ($fp, "$attachfile_type\n$attachfile_name\n"); + fclose ($fp); - $attachments[$localfilename] = $attachfile_name; + $attachments[$localfilename] = $attachfile_name; + } showInputForm(); } else if (isset($do_delete)) { while (list($key, $localname) = each($delete)) { - array_splice ($attachments, $localname, 1); - unlink ($localname); - unlink ($localname.".info"); + array_splice ($attachments, $key, 1); + unlink ($attachment_dir.$localname); + unlink ($attachment_dir.$localname.".info"); } showInputForm(); } else { - Newmail(); + $newmail = true; + newMail(); showInputForm(); } ?>
\n"; echo " "; @@ -201,17 +206,18 @@ (substr(strtolower($forward_subj), 0, 5) != "[fwd:") && (substr(strtolower($forward_subj), 0, 6) != "[ fwd:")) $forward_subj = "[Fwd: $forward_subj]"; - echo " "; + echo " "; } else { - echo " "; + echo " "; } + echo "  "; echo "
\n"; - if ($use_signature == true) - echo "   
"; + if ($use_signature == true && $newmail == true) + echo "   
"; else echo "   
\n"; echo "