Fix body onload per FIXME
[squirrelmail.git] / src / compose.php
index 685a9706a2c1c77a789dd735c9381ba69d1987bf..b2101d4f727232c3ef8af0d8094231b56167c66e 100644 (file)
@@ -237,9 +237,7 @@ function getReplyCitation($orig_from, $orig_date) {
     /* Otherwise, try to select the desired citation style. */
     switch ($reply_citation_style) {
     case 'author_said':
-        /**
-         * To translators: %s is for author's name
-         */
+        // i18n: %s is for author's name
         $full_reply_citation = sprintf(_("%s wrote:"),$sOrig_from);
         break;
     case 'quote_who':
@@ -248,15 +246,14 @@ function getReplyCitation($orig_from, $orig_date) {
         $full_reply_citation = $start . $sOrig_from . $end;
         break;
     case 'date_time_author':
-        /**
-         * To translators:
-         *  first %s is for date string, second %s is for author's name. Date uses
-         *  formating from "D, F j, Y g:i a" and "D, F j, Y H:i" translations.
-         * Example string:
-         *  "On Sat, December 24, 2004 23:59, Santa wrote:"
-         * If you have to put author's name in front of date string, check comments about
-         * argument swapping at http://www.php.net/sprintf
-         */
+        // i18n:
+        // The first %s is for date string, the second %s is for author's name.
+        // The date uses formating from "D, F j, Y g:i a" and "D, F j, Y H:i"
+        // translations.
+        // Example string:
+        // "On Sat, December 24, 2004 23:59, Santa wrote:"
+        // If you have to put author's name in front of date string, check comments about
+        // argument swapping at http://php.net/sprintf
         $full_reply_citation = sprintf(_("On %s, %s wrote:"), getLongDateString($orig_date), $sOrig_from);
         break;
     case 'user-defined':
@@ -366,11 +363,11 @@ if (sqsession_is_registered('session_expired_post')) {
     } else {
         $sHeaderJs = (isset($sHeaderJs)) ? $sHeaderJs : '';
         if (strpos($action, 'reply') !== false && $reply_focus) {
-            $sBodyTagJs = 'onload="checkForm(\''.$replyfocus.'\');"';
+            $sOnload = 'checkForm(\''.$replyfocus.'\');';
         } else {
-            $sBodyTagJs = 'onload="checkForm();"';
+            $sOnload = 'checkForm();';
         }
-        displayPageHeader($color, $mailbox,$sHeaderJs,$sBodyTagJs);
+        displayPageHeader($color, $mailbox,$sHeaderJs,$sOnload);
     }
     showInputForm($session, false);
     exit();
@@ -662,6 +659,8 @@ elseif (isset($sigappend)) {
         foreach($delete as $index) {
             if (!empty($composeMessage->entities) && isset($composeMessage->entities[$index])) {
                 $composeMessage->entities[$index]->purgeAttachments();
+                // FIXME: one person reported that unset() didn't do anything at all here, so this is a work-around... but it triggers PHP notices if the unset() doesn't work, which should be fixed... but bigger question is if unset() doesn't work here, what about everywhere else? Anyway, uncomment this if you think you need it
+                //$composeMessage->entities[$index] = NULL;
                 unset ($composeMessage->entities[$index]);
             }
         }
@@ -848,7 +847,8 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se
                 $enc_from_name = '"'.$data['full_name'].'" <'. $data['email_address'].'>';
                 if(strtolower($enc_from_name) == strtolower($orig_from)) {
                     $identity = $nr;
-                    break;
+                    // don't stop!  need to build $identities array for idents match below
+                    //break;
                 }
                 $identities[] = $enc_from_name;
             }
@@ -1004,7 +1004,7 @@ function getAttachments($message, &$composeMessage, $passed_id, $entities, $imap
                         if ($filename == "") {
                             $filename = "untitled-".$message->entity_id;
                         }
-                        $filename .= '.msg';
+                        $filename .= '.eml';
                     } else {
                         $filename = $message->getFilename();
                     }
@@ -1067,7 +1067,7 @@ function getMessage_RFC822_Attachment($message, $composeMessage, $passed_id,
         $fp = fopen($hashed_attachment_dir . '/' . $localfilename, 'wb');
         fwrite ($fp, $body);
         fclose($fp);
-        $composeMessage->initAttachment('message/rfc822',$subject.'.msg',
+        $composeMessage->initAttachment('message/rfc822',$subject.'.eml',
                 $localfilename);
     }
     return $composeMessage;
@@ -1525,7 +1525,7 @@ function deliverMessage(&$composeMessage, $draft=false) {
     /* Receipt: On Delivery */
     if (!empty($request_dr)) {
 //FIXME: it would be better to fiddle with headers inside of the message object or possibly when delivering the message to its destination; is this possible?
-        $rfc822_header->more_headers['Return-Receipt-To'] = $from->mailbox.'@'.$from->domain;
+        $rfc822_header->more_headers['Return-Receipt-To'] = $from_addr;
     } elseif (isset($rfc822_header->more_headers['Return-Receipt-To'])) {
         unset($rfc822_header->more_headers['Return-Receipt-To']);
     }
@@ -1580,12 +1580,13 @@ function deliverMessage(&$composeMessage, $draft=false) {
     if (!$useSendmail && !$draft) {
         require_once(SM_PATH . 'class/deliver/Deliver_SMTP.class.php');
         $deliver = new Deliver_SMTP();
-        global $smtpServerAddress, $smtpPort, $pop_before_smtp;
+        global $smtpServerAddress, $smtpPort, $pop_before_smtp, $pop_before_smtp_host;
 
         $authPop = (isset($pop_before_smtp) && $pop_before_smtp) ? true : false;
+        if (empty($pop_before_smtp_host)) $pop_before_smtp_host = $smtpServerAddress;
         get_smtp_user($user, $pass);
         $stream = $deliver->initStream($composeMessage,$domain,0,
-                $smtpServerAddress, $smtpPort, $user, $pass, $authPop);
+                $smtpServerAddress, $smtpPort, $user, $pass, $authPop, $pop_before_smtp_host);
     } elseif (!$draft) {
         require_once(SM_PATH . 'class/deliver/Deliver_SendMail.class.php');
         global $sendmail_path, $sendmail_args;
@@ -1606,7 +1607,7 @@ function deliverMessage(&$composeMessage, $draft=false) {
         if (sqimap_mailbox_exists ($imap_stream, $draft_folder)) {
             require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
             $imap_deliver = new Deliver_IMAP();
-            $success = $imap_deliver->mail($composeMessage, $imap_stream, $reply_id, $reply_ent_id, $draft_folder);
+            $success = $imap_deliver->mail($composeMessage, $imap_stream, $reply_id, $reply_ent_id, $imap_stream, $draft_folder);
             sqimap_logout($imap_stream);
             unset ($imap_deliver);
             $composeMessage->purgeAttachments();
@@ -1721,7 +1722,7 @@ function deliverMessage(&$composeMessage, $draft=false) {
             }
             require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
             $imap_deliver = new Deliver_IMAP();
-            $imap_deliver->mail($composeMessage, $imap_stream, $reply_id, $reply_ent_id, $sent_folder);
+            $imap_deliver->mail($composeMessage, $imap_stream, $reply_id, $reply_ent_id, $imap_stream, $sent_folder);
             unset ($imap_deliver);
         }