summaryrefslogtreecommitdiff
path: root/program/steps
diff options
context:
space:
mode:
Diffstat (limited to 'program/steps')
-rw-r--r--program/steps/addressbook/save.inc6
-rw-r--r--program/steps/mail/get.inc4
-rw-r--r--program/steps/mail/sendmail.inc25
-rw-r--r--program/steps/settings/manage_folders.inc2
-rw-r--r--program/steps/settings/save_identity.inc6
5 files changed, 23 insertions, 20 deletions
diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc
index 24e375ef7..32a6243fd 100644
--- a/program/steps/addressbook/save.inc
+++ b/program/steps/addressbook/save.inc
@@ -42,7 +42,9 @@ if ($_POST['_cid'])
if (!isset($_POST[$fname]))
continue;
- $a_write_sql[] = sprintf("%s=%s", $DB->quoteIdentifier($col), $DB->quote(strip_tags($_POST[$fname])));
+ $a_write_sql[] = sprintf("%s=%s",
+ $DB->quoteIdentifier($col),
+ $DB->quote(rcube_charset_convert(strip_tags($_POST[$fname]), $OUTPUT->get_charset())));
}
if (sizeof($a_write_sql))
@@ -164,7 +166,7 @@ else
continue;
$a_insert_cols[] = $col;
- $a_insert_values[] = $DB->quote(strip_tags($_POST[$fname]));
+ $a_insert_values[] = $DB->quote(rcube_charset_convert(strip_tags($_POST[$fname]), $OUTPUT->get_charset()));
}
if (sizeof($a_insert_cols))
diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc
index 5a4fea153..99cd211c6 100644
--- a/program/steps/mail/get.inc
+++ b/program/steps/mail/get.inc
@@ -70,8 +70,8 @@ else if ($_GET['_part'])
$mimetype = sprintf('%s/%s', $ctype_primary, $ctype_secondary);
$filename = $part->d_parameters['filename'] ? $part->d_parameters['filename'] : $part->ctype_parameters['name'];
-
- if ($ctype_primary=='text')
+
+ if ($ctype_primary=='text' && $ctype_secondary=='html')
{
list($MESSAGE['parts']) = rcmail_parse_message($part,
array('safe' => (bool)$_GET['_safe'],
diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc
index a520a5043..ec0f1166f 100644
--- a/program/steps/mail/sendmail.inc
+++ b/program/steps/mail/sendmail.inc
@@ -39,7 +39,7 @@ if (!isset($_SESSION['compose']['id']))
function rcmail_get_identity($id)
{
- global $DB;
+ global $DB, $CHARSET, $OUTPUT;
// get identity record
$sql_result = $DB->query("SELECT *, email AS mailto
@@ -53,7 +53,9 @@ function rcmail_get_identity($id)
{
$sql_arr = $DB->fetch_assoc($sql_result);
$out = $sql_arr;
- $out['string'] = sprintf('%s <%s>', $sql_arr['name'], $sql_arr['mailto']);
+ $out['string'] = sprintf('%s <%s>',
+ rcube_charset_convert($sql_arr['name'], $CHARSET, $OUTPUT->get_charset()),
+ $sql_arr['mailto']);
return $out;
}
@@ -74,10 +76,7 @@ if (empty($_POST['_to']) && empty($_POST['_subject']) && $_POST['_message'])
// set default charset
-if (empty($CHARSET))
- $CHARSET = 'ISO-8859-1';
-
-$input_charset = $CHARSET;
+$input_charset = $OUTPUT->get_charset();
$message_charset = isset($_POST['_charset']) ? $_POST['_charset'] : $input_charset;
$mailto_regexp = array('/[,;]\s*[\r\n]+/', '/[\r\n]+/', '/[,;]\s*$/m');
@@ -162,7 +161,7 @@ if (!empty($CONFIG['generic_message_footer']))
// use the configured delimiter for headers
-$header_delm = $rcmail_config['mail_header_delimiter'] ? $rcmail_config['mail_header_delimiter'] : "\r\n";
+$header_delm = $CONFIG['mail_header_delimiter'] ? $CONFIG['mail_header_delimiter'] : "\r\n";
// create PEAR::Mail_mime instance
$MAIL_MIME = new Mail_mime($header_delm);
@@ -198,9 +197,9 @@ $message_param = array('text_encoding' => $transfer_encoding,
$msg_body = $MAIL_MIME->get($message_param);
$msg_subject = $headers['Subject'];
-global $MBSTRING;
-if ($MBSTRING&&function_exists( "mb_encode_mimeheader"))
- $headers['Subject'] = mb_encode_mimeheader( $headers['Subject'],$message_charset);
+
+if ($MBSTRING && function_exists("mb_encode_mimeheader"))
+ $headers['Subject'] = mb_encode_mimeheader($headers['Subject'], $message_charset);
// send thru SMTP server using cusotm SMTP library
if ($CONFIG['smtp_server'])
@@ -238,15 +237,15 @@ if ($CONFIG['smtp_server'])
else
{
// unset some headers because they will be added by the mail() function
- $headers_php = $MAIL_MIME->_headers;
$headers_enc = $MAIL_MIME->headers($headers);
+ $headers_php = $MAIL_MIME->_headers;
unset($headers_php['To'], $headers_php['Subject']);
-
+
// reset stored headers and overwrite
$MAIL_MIME->_headers = array();
$header_str = $MAIL_MIME->txtHeaders($headers_php);
- if(ini_get('safe_mode'))
+ if (ini_get('safe_mode'))
$sent = mail($headers_enc['To'], $headers_enc['Subject'], $msg_body, $header_str);
else
$sent = mail($headers_enc['To'], $headers_enc['Subject'], $msg_body, $header_str, "-f$from");
diff --git a/program/steps/settings/manage_folders.inc b/program/steps/settings/manage_folders.inc
index c98de3951..6f49018e7 100644
--- a/program/steps/settings/manage_folders.inc
+++ b/program/steps/settings/manage_folders.inc
@@ -47,7 +47,7 @@ else if ($_action=='unsubscribe')
else if ($_action=='create-folder')
{
if (strlen($_GET['_name']))
- $create = $IMAP->create_mailbox(strip_tags(trim($_GET['_name'])), TRUE);
+ $create = $IMAP->create_mailbox(rcube_charset_convert(strip_tags(trim($_GET['_name'])), $OUTPUT->get_charset()), TRUE);
if ($create && $_GET['_remote'])
{
diff --git a/program/steps/settings/save_identity.inc b/program/steps/settings/save_identity.inc
index dc61b7875..1bfbf48e6 100644
--- a/program/steps/settings/save_identity.inc
+++ b/program/steps/settings/save_identity.inc
@@ -42,7 +42,9 @@ if ($_POST['_iid'])
if (!isset($_POST[$fname]))
continue;
- $a_write_sql[] = sprintf("%s=%s", $DB->quoteIdentifier($col), $DB->quote(strip_tags($_POST[$fname])));
+ $a_write_sql[] = sprintf("%s=%s",
+ $DB->quoteIdentifier($col),
+ $DB->quote(rcube_charset_convert(strip_tags($_POST[$fname]), $OUTPUT->get_charset())));
}
if (sizeof($a_write_sql))
@@ -97,7 +99,7 @@ else
continue;
$a_insert_cols[] = $DB->quoteIdentifier($col);
- $a_insert_values[] = $DB->quote(strip_tags($_POST[$fname]));
+ $a_insert_values[] = $DB->quote(rcube_charset_convert(strip_tags($_POST[$fname]), $OUTPUT->get_charset()));
}
if (sizeof($a_insert_cols))