- // 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 = strtolower($send_to);
- $send_to = ereg_replace("\"", "", $send_to);
- $send_to = stripslashes($send_to);
-
- /** This formats a CC string if they hit "reply all" **/
- echo "TO: $send_to<BR>CC: $send_to_cc<BR>";
- if ($send_to_cc != "") {
- $send_to_cc = ereg_replace(";", ",", $send_to_cc);
- $sendcc = explode(",", $send_to_cc);
- $send_to_cc = "";
-
- for ($i = 0; $i < count($sendcc); $i++) {
- $sendcc[$i] = trim($sendcc[$i]);
- 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);
-
- if ((strtolower(trim($sendcc[$i])) != strtolower(trim($whofrom))) &&
- (strtolower(trim($sendcc[$i])) != strtolower(trim($whoreplyto))) &&
- (trim($sendcc[$i]) != "")) {
- if ($i == count($send_cc))
- $send_to_cc .= trim($sendcc[$i]);
- else
- $send_to_cc .= trim($sendcc[$i]) . ", ";
+ function showSentForm () {
+ echo "<BR><BR><BR><CENTER><B>Message Sent!</B><BR><BR>";
+ echo "You will be automatically forwarded.<BR>If not, <A HREF=\"right_main.php\">click here</A>";
+ echo "</CENTER>";
+ }
+
+ function checkInput ($show) {
+ /** I implemented the $show variable because the error messages
+ were getting sent before the page header. So, I check once
+ using $show=false, and then when i'm ready to display the
+ error message, show=true **/
+ global $body, $send_to, $subject, $color;
+
+ if ($send_to == "") {
+ if ($show)
+ plain_error_message(_("You have not filled in the \"To:\" field."), $color);
+ return false;
+ }
+ return true;
+ } // function checkInput()
+
+
+ if (($mailbox == "") || ($mailbox == "None"))
+ $mailbox = "INBOX";
+
+ if(isset($send)) {
+ if (checkInput(false)) {
+ $urlMailbox = urlencode ($mailbox);
+ sendMessage($send_to, $send_to_cc, $send_to_bcc, $subject, $body, $reply_id);
+ header ("Location: right_main.php?mailbox=$urlMailbox&sort=$sort&startMessage=1");
+ } else {
+ $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
+ displayPageHeader($color, $mailbox);
+ checkInput(true);
+
+ showInputForm();
+ sqimap_logout($imapConnection);
+ }
+ } else if ($html_addr_search_done) {
+ is_logged_in();
+ displayPageHeader($color, $mailbox);
+
+ $body = stripslashes($body);
+ $send_to = stripslashes($send_to);
+ $send_to_cc = stripslashes($send_to_cc);
+ $send_to_bcc = stripslashes($send_to_bcc);
+ $subject = stripslashes($subject);
+
+ for ($i=0; $i < count($send_to_search); $i++) {
+ if ($send_to)
+ $send_to .= ", ";
+ $send_to .= $send_to_search[$i];
+ }
+
+ for ($i=0; $i < count($send_to_cc_search); $i++) {
+ if ($send_to_cc)
+ $send_to_cc .= ", ";
+ $send_to_cc .= $send_to_cc_search[$i];
+ }
+
+ showInputForm();
+ } else if ($html_addr_search) {
+ // I am using an include so as to elminiate an extra unnecessary click. If you
+ // can think of a better way, please implement it.
+ include ("addrbook_search_html.php");
+ } else if (isset($attach)) {
+ is_logged_in();
+ displayPageHeader($color, $mailbox);
+
+ $localfilename = md5("$attachfile, $attachfile_name, $REMOTE_IP, $REMOTE_PORT, $UNIQUE_ID, and everything else that may add entropy");
+ $localfilename = $localfilename;
+
+ // Put the file in a better place
+ error_reporting(0); // Rename will produce error output if it fails
+ 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;