/* --------------------- Specific Functions ------------------------------ */
-/**
- * Wraps text at $wrap characters
- *
- * Has a problem with special HTML characters, so call this before
- * you do character translation.
- *
- * Specifically, ' comes up as 5 characters instead of 1.
- * This should not add newlines to the end of lines.
- */
-function sqWordWrap(&$line, $wrap) {
- ereg("^([\t >]*)([^\t >].*)?$", $line, $regs);
- $beginning_spaces = $regs[1];
- if (isset($regs[2])) {
- $words = explode(' ', $regs[2]);
- } else {
- $words = '';
- }
-
- $i = 0;
- $line = $beginning_spaces;
-
- while ($i < count($words)) {
- /* Force one word to be on a line (minimum) */
- $line .= $words[$i];
- $line_len = strlen($beginning_spaces) + strlen($words[$i]) + 2;
- if (isset($words[$i + 1]))
- $line_len += strlen($words[$i + 1]);
- $i ++;
-
- /* Add more words (as long as they fit) */
- while ($line_len < $wrap && $i < count($words)) {
- $line .= ' ' . $words[$i];
- $i++;
- if (isset($words[$i]))
- $line_len += strlen($words[$i]) + 1;
- else
- $line_len += 1;
- }
-
- /* Skip spaces if they are the first thing on a continued line */
- while (!isset($words[$i]) && $i < count($words)) {
- $i ++;
- }
-
- /* Go to the next line if we have more to process */
- if ($i < count($words)) {
- $line .= "\n" . $beginning_spaces;
- }
- }
-}
+
/**
* Does the opposite of sqWordWrap()
if (! isset($MDN)) {
$MDN = 'False';
}
- if (!saveMessageAsDraft($send_to, $send_to_cc, $send_to_bcc, $subject, $body, $reply_id, $MDN, $session)) {
+ if (! isset($mailprio)) {
+ $mailprio = '';
+ }
+ if (!saveMessageAsDraft($send_to, $send_to_cc, $send_to_bcc, $subject, $body, $reply_id, $mailprio, $session)) {
showInputForm($session);
exit();
} else {
/*
* Rewrap $body so that no line is bigger than $editor_size
* This should only really kick in the sqWordWrap function
- * if the browser doesn't support "HARD" as the wrap type
- * Or, in Opera's case, something goes wrong.
+ * if the browser doesn't support "VIRTUAL" as the wrap type.
*/
$body = explode("\n", $body);
$newBody = '';
$send_to = decodeHeader($send_to, false);
$send_to_cc = decodeHeader($send_to_cc, false);
$send_to_bcc = decodeHeader($send_to_bcc, false);
+ $send_to = str_replace('<', '<', str_replace('>', '>', str_replace('&', '&', str_replace('"', '"', $send_to))));
+ $send_to_cc = str_replace('<', '<', str_replace('>', '>', str_replace('&', '&', str_replace('"', '"', $send_to_cc))));
+ $send_to_bcc = str_replace('<', '<', str_replace('>', '>', str_replace('&', '&', str_replace('"', '"', $send_to_bcc))));
if ($forward_id) {
$id = $forward_id;
}
echo '<TABLE WIDTH="100%" ALIGN=center CELLSPACING=0 BORDER=0>' . "\n";
if ($compose_new_win == '1') {
+ echo '<TABLE ALIGN=CENTER BGCOLOR="'.$color[0].'" WIDTH="100%" BORDER=0>'."\n";
echo ' <TR><TD></TD><TD ALIGN="RIGHT"><INPUT TYPE="BUTTON" NAME="Close" onClick="return self.close()" VALUE='._("Close").'></TD></TR>'."\n";
}
if ($location_of_buttons == 'top') {
echo ' <TR>' . "\n" .
' <TD BGCOLOR="' . $color[4] . '" COLSPAN=2>' . "\n" .
' <TEXTAREA NAME=body ROWS=20 COLS="' .
- $editor_size . '" WRAP=HARD>';
+ $editor_size . '" WRAP="VIRTUAL">';
if ($use_signature == true && $newmail == true && !isset($from_htmladdr_search)) {
if ($sig_first == '1') {
echo "\n\n".($prefix_sig==true? "-- \n":'').htmlspecialchars($signature);
'</td></tr>';
}
/* End of attachment code */
-
+ if ($compose_new_win == '1') {
+ echo '</TABLE>'."\n";
+ }
echo '</TABLE>' . "\n";
if ($reply_id) {
echo '<input type=hidden name=reply_id value=' . $reply_id . ">\n";
function showComposeButtonRow() {
global $use_javascript_addr_book, $save_as_draft,
$default_use_priority, $mailprio, $default_use_mdn,
+ $request_mdn, $request_dr,
$data_dir, $username;
echo " <TR><TD>\n</TD><TD>\n";
if ($default_use_mdn) {
if ($mdn_user_support) {
echo "\n\t". _("Receipt") .': '.
- '<input type="checkbox" name="request_mdn" value=1>'. _("On read").
- ' <input type="checkbox" name="request_dr" value=1>'. _("On Delivery");
+ '<input type="checkbox" name="request_mdn" value=1'.
+ ($request_mdn=='1'?' checked':'') .'>'. _("On read").
+ ' <input type="checkbox" name="request_dr" value=1'.
+ ($request_dr=='1'?' checked':'') .'>'. _("On Delivery");
}
}
$hashed_attachment_dir = getHashedDir($username, $attachment_dir);
$rem_attachments = array();
- foreach ($attachments as $info) {
- if ($info['session'] == $session) {
- $attached_file = "$hashed_attachment_dir/$info[localfilename]";
- if (file_exists($attached_file)) {
- unlink($attached_file);
- }
- } else {
- $rem_attachments[] = $info;
- }
+ if (is_array($attachments)) {
+ foreach ($attachments as $info) {
+ if ($info['session'] == $session) {
+ $attached_file = "$hashed_attachment_dir/$info[localfilename]";
+ if (file_exists($attached_file)) {
+ unlink($attached_file);
+ }
+ }
+ else {
+ $rem_attachments[] = $info;
+ }
+ }
}
$attachments = $rem_attachments;
}