**
** $Id$
**/
-
+
session_start();
if (!isset($strings_php))
global $forward_id, $imapConnection, $msg, $ent_num, $body_ary, $body,
$reply_id, $send_to, $send_to_cc, $mailbox, $send_to_bcc, $editor_size;
- $send_to = sqStripSlashes(decodeHeader($send_to));
- $send_to_cc = sqStripSlashes(decodeHeader($send_to_cc));
- $send_to_bcc = sqStripSlashes(decodeHeader($send_to_bcc));
+ $send_to = decodeHeader($send_to);
+ $send_to_cc = decodeHeader($send_to_cc);
+ $send_to_bcc = decodeHeader($send_to_bcc);
if ($forward_id)
$id = $forward_id;
} else {
$body = "";
}
-
+
if ($message->header->type1 == "html")
$body = strip_tags($body);
sqUnWordWrap($body);
$body_ary = explode("\n", $body);
$i = count($body_ary) - 1;
- while (isset($body_ary[$i]) && ereg("^[>\\s]*$", $body_ary[$i])) {
+ while ($i >= 0 && ereg("^[>\\s]*$", $body_ary[$i])) {
unset($body_ary[$i]);
$i --;
}
$body = "";
- for ($i=0; $i < count($body_ary); $i++) {
+ for ($i=0; isset($body_ary[$i]); $i++) {
if (! $forward_id)
{
if (ereg('^[\\s>]+', $body_ary[$i]))
$send_to_bcc, $reply_id, $mailbox, $from_htmladdr_search,
$location_of_buttons;
- $subject = sqStripSlashes(decodeHeader($subject));
+ $subject = decodeHeader($subject);
$reply_subj = decodeHeader($reply_subj);
$forward_subj = decodeHeader($forward_subj);
echo " </TD><TD BGCOLOR=\"$color[4]\" ALIGN=LEFT>\n";
if ($reply_subj) {
$reply_subj = str_replace("\"", "'", $reply_subj);
- $reply_subj = sqStripSlashes($reply_subj);
$reply_subj = trim($reply_subj);
if (substr(strtolower($reply_subj), 0, 3) != "re:")
$reply_subj = "Re: $reply_subj";
htmlspecialchars($reply_subj));
} else if ($forward_subj) {
$forward_subj = str_replace("\"", "'", $forward_subj);
- $forward_subj = sqStripSlashes($forward_subj);
$forward_subj = trim($forward_subj);
if ((substr(strtolower($forward_subj), 0, 4) != "fwd:") &&
(substr(strtolower($forward_subj), 0, 5) != "[fwd:") &&
$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";
is_logged_in();
displayPageHeader($color, $mailbox);
- $send_to = sqStripSlashes($send_to);
- $send_to_cc = sqStripSlashes($send_to_cc);
- $send_to_bcc = sqStripSlashes($send_to_bcc);
-
for ($i=0; $i < count($send_to_search); $i++) {
if ($send_to)
$send_to .= ", ";