preserve utf-8 on notification emails

This commit is contained in:
Mike Macgirvin 2010-10-28 16:05:09 -07:00
parent 42e6b6cfe4
commit a0f6f8ad53
2 changed files with 31 additions and 3 deletions

View file

@ -1295,4 +1295,18 @@ function activity_match($haystack,$needle) {
if(($haystack === $needle) || (($basename($needle) === $haystack) && strstr($needle,NAMESPACE_ACTIVITY_SCHEMA))) if(($haystack === $needle) || (($basename($needle) === $haystack) && strstr($needle,NAMESPACE_ACTIVITY_SCHEMA)))
return true; return true;
return false; return false;
}} }}
if(! function_exists('get_tags')) {
function get_tags($s) {
if(preg_match_all('/([@#][^ ,.:?\-]*)[ ,.:?\-]/',$s,$match))
return $match[1];
}}
if(! function_exists('qp')) {
function qp($s) {
return str_replace ("%","=",rawurlencode($s));
}}

View file

@ -111,8 +111,18 @@ function dfrn_notify_post(&$a) {
// send email notification if requested. // send email notification if requested.
$body = html_entity
require_once('bbcode.php'); require_once('bbcode.php');
if($importer['notify-flags'] & NOTIFY_MAIL) { if($importer['notify-flags'] & NOTIFY_MAIL) {
$body = html_entity_decode(strip_tags(bbcode(stripslashes($msg['body']))),ENT_QUOTES,'UTF-8');
if(function_exists('quoted_printable_encode'))
$body = quoted_printable_encode($body);
else
$body = qp($body);
$tpl = load_view_file('view/mail_received_eml.tpl'); $tpl = load_view_file('view/mail_received_eml.tpl');
$email_tpl = replace_macros($tpl, array( $email_tpl = replace_macros($tpl, array(
'$sitename' => $a->config['sitename'], '$sitename' => $a->config['sitename'],
@ -121,11 +131,15 @@ function dfrn_notify_post(&$a) {
'$email' => $importer['email'], '$email' => $importer['email'],
'$from' => $msg['from-name'], '$from' => $msg['from-name'],
'$title' => stripslashes($msg['title']), '$title' => stripslashes($msg['title']),
'$body' => strip_tags(bbcode(stripslashes($msg['body']))) '$body' => $body
)); ));
$res = mail($importer['email'], t('New mail received at ') . $a->config['sitename'], $res = mail($importer['email'], t('New mail received at ') . $a->config['sitename'],
$email_tpl, 'From: ' . t('Administrator') . '@' . $a->get_hostname() ); $email_tpl, 'From: ' . t('Administrator') . '@' . $a->get_hostname() . "\r\n"
. 'MIME-Version: 1.0' . "\r\n"
. 'Content-type: text/plain; charset=UTF-8' . "\r\n"
. 'Content-transfer-encoding: quoted-printable' . "\r\n"
);
} }
xml_status(0); xml_status(0);
// NOTREACHED // NOTREACHED