replaced "foo" with 'foo' while doing other
[squirrelmail.git] / src / compose.php
index 8495f7eb7a8b89b12a6fb2194bc47b8a986a9029..133ac3ac5365b3b3e93abde5bb84d8b562ef0b18 100644 (file)
          $attachments[$localfilename] = $HTTP_POST_FILES['attachfile']['name'];
       }
     }
-
-   // Workaround for RedHat PHP 4.0.4pl1-3
-   // Also for Konq problems?
-   if (isset($mailbox))     $mailbox = trim($mailbox);
-   if (isset($send_to))     $send_to = trim($send_to);
-   if (isset($send_to_cc))  $send_to_cc = trim($send_to_cc);
-   if (isset($send_to_bcc)) $send_to_bcc = trim($send_to_bcc);
-   if (isset($subject))     $subject = trim($subject);
-   if (isset($body))        $body = trim($body);
-   if (isset($attachfile))  $attachfile = trim($attachfile);
-   // End of workaround
+  
+   function SqConvertRussianCharsets(){
+    //
+    // This function is here because Russian Apache is a bastard when it comes to
+    // attachments. The solution is to turn off attachment recoding for multipart
+    // forms and do it manually.
+    // See graf@relhum.org for support.
+    //
+    global $CHARSET, $SOURCE_CHARSET, $send_to, $send_to_cc, $send_to_bcc, $subject, $body;
+    $charset_ary = array("koi8-r" => "k",
+                        "windows-1251" => "w",
+                        "ibm866" => "a",
+                        "ISO-8859-5" => "i");
+    $body = convert_cyr_string($body, $charset_ary[$CHARSET], $charset_ary[$SOURCE_CHARSET]);
+    $send_to = convert_cyr_string($send_to, $charset_ary[$CHARSET], $charset_ary[$SOURCE_CHARSET]);
+    $send_to_cc = convert_cyr_string($send_to_cc, $charset_ary[$CHARSET], $charset_ary[$SOURCE_CHARSET]);
+    $send_to_bcc = convert_cyr_string($send_to_bcc, $charset_ary[$CHARSET], $charset_ary[$SOURCE_CHARSET]);
+    $subject = convert_cyr_string($subject, $charset_ary[$CHARSET], $charset_ary[$SOURCE_CHARSET]);
+   } // end SqConvertRussianCharsets()
+   
+   // Russian Apache sets $CHARSET. See if this is Russian Apache.
+   // If so, check if the source charset (koi8-r) is different from the 
+   // one submitted by the browser. If so, recode the parts of the form
+   // to the needed format so SM can proceed and not mangle the cyrillic
+   // input.
+   // See graf@relhum.org for support.
+   //
+   if ($CHARSET && $CHARSET != $SOURCE_CHARSET) SqConvertRussianCharsets();
    
    if (!isset($mailbox) || $mailbox == "" || ($mailbox == "None"))
       $mailbox = "INBOX";