Sync'ing global.php with stable to fix multi-session merges, and also
[squirrelmail.git] / src / compose.php
index 03f9124e9000b2c5d8111da74280807c153112b7..83e111e13a0edf4cc3434b988544f5a823e37c97 100644 (file)
@@ -117,7 +117,7 @@ function replyAllString($header) {
     * TO list) only if $include_self_reply_all is turned off
     */
    if (!$include_self_reply_all) {
-       $email_address = trim(getPref($data_dir, $username, 'email_address'));
+       $email_address = strtolower(trim(getPref($data_dir, $username, 'email_address')));
        $excl_ar[$email_address] = '';
        $idents = getPref($data_dir, $username, 'identities');
        if ($idents != '' && $idents > 1) {
@@ -125,7 +125,7 @@ function replyAllString($header) {
           for ($i = 1; $i < $idents; $i ++) {
              $cur_email_address = getPref($data_dir, $username, 
                                          'email_address' . $i);
-             $cur_email_address = strtolower($cur_email_address);
+             $cur_email_address = strtolower(trim($cur_email_address));
              $excl_ar[$cur_email_address] = '';
          }
        }
@@ -808,7 +808,7 @@ function showInputForm ($session, $values=false) {
            $username, $data_dir, $identity, $draft_id, $delete_draft,
            $mailprio, $default_use_mdn, $mdn_user_support, $compose_new_win,
            $saved_draft, $mail_sent, $sig_first, $edit_as_new, $action, 
-           $username, $compose_messages, $composesession;
+           $username, $compose_messages, $composesession, $default_charset;
 
     $composeMessage = $compose_messages[$session];
 
@@ -950,7 +950,7 @@ function showInputForm ($session, $values=false) {
     }
     if ($use_signature == true && $newmail == true && !isset($from_htmladdr_search)) {
         if ($sig_first == '1') {
-            if ($charset == 'iso-2022-jp') {
+            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":'').htmlspecialchars($signature);
@@ -959,7 +959,7 @@ function showInputForm ($session, $values=false) {
         }
         else {
             echo "\n\n".htmlspecialchars($body);
-            if ($charset == 'iso-2022-jp') {
+            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":'').htmlspecialchars($signature);
@@ -985,6 +985,7 @@ function showInputForm ($session, $values=false) {
     }
 
     /* This code is for attachments */
+       if ((bool) ini_get('file_uploads')) {
     echo '   <TR>' . "\n" .
          '      <TD COLSPAN=2>' . "\n" .
          '         <table width="100%" cellpadding="1" cellspacing="0" align="center"'.
@@ -1033,11 +1034,12 @@ function showInputForm ($session, $values=false) {
          '         </TABLE>' . "\n" .
          '      </TD>' . "\n" .
          '   </TR>' . "\n";
-
+       } // End of file_uploads if-block
     /* End of attachment code */
     if ($compose_new_win == '1') {
         echo '</TABLE>'."\n";
     }
+
     echo '</TABLE>' . "\n" .
          '<input type="hidden" name="username" value="'. $username . "\">\n" .   
          '<input type=hidden name=action value="' . $action . "\">\n" .
@@ -1051,6 +1053,14 @@ function showInputForm ($session, $values=false) {
     echo '<input type=hidden name=composesession value="' . $composesession . "\">\n";
     echo '<input type=hidden name=querystring value="' . $_SERVER['QUERY_STRING'] . "\">\n";
     echo '</FORM>';
+    if (!(bool) ini_get('file_uploads')) {
+      /* File uploads are off, so we didn't show that part of the form.
+         To avoid bogus bug reports, tell the user why. */
+      echo 'Because PHP file uploads are turned off, you can not attach files ';
+      echo "to this message.  Please see your system administrator for details.\r\n";
+    }
+
+
     do_hook('compose_bottom');
     echo '</BODY></HTML>' . "\n";
 }
@@ -1322,15 +1332,17 @@ 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, $use_authenticated_smtp, $pop_before_smtp;
-       if ($use_authenticated_smtp) {
-           global $key, $onetimepad;
-           $user = $username;
-           $pass = OneTimePadDecrypt($key, $onetimepad);
+       global $smtpServerAddress, $smtpPort, $pop_before_smtp, $smtp_auth_mech;
+
+       if ($smtp_auth_mech == 'none') {
+               $user = '';
+               $pass = '';
        } else {
-           $user = '';
-           $pass = '';
+               global $key, $onetimepad;
+               $user = $username;
+               $pass = OneTimePadDecrypt($key, $onetimepad);
        }
+
        $authPop = (isset($pop_before_smtp) && $pop_before_smtp) ? true : false;
        $stream = $deliver->initStream($composeMessage,$domain,0,
                          $smtpServerAddress, $smtpPort, $user, $pass, $authPop);