Merge pull request from chriscase/master

Multipart text/html Email Updates
This commit is contained in:
Friendika 2011-05-21 23:41:57 -07:00
commit 558cb9d898
14 changed files with 427 additions and 74 deletions

0
favicon.gif Normal file
View file

0
favicon.ico Normal file
View file

View file

@ -79,6 +79,9 @@ function dfrn_notify_post(&$a) {
// $importer in this case contains the contact record for the remote contact joined with the user record of our user.
$importer = $r[0];
foreach($importer as $key => $val) {
logger( "importer - key: " . $key . " val: " . $val);
}
if(($writable != (-1)) && ($writable != $importer['writable'])) {
q("UPDATE `contact` SET `writable` = %d WHERE `id` = %d LIMIT 1",
@ -389,22 +392,59 @@ function dfrn_notify_post(&$a) {
if((! $is_like) && ($importer['notify-flags'] & NOTIFY_COMMENT) && (! $importer['self'])) {
require_once('bbcode.php');
$from = stripslashes($datarray['author-name']);
$tpl = get_intltext_template('cmnt_received_eml.tpl');
$email_tpl = replace_macros($tpl, array(
'$sitename' => $a->config['sitename'],
'$siteurl' => $a->get_baseurl(),
'$username' => $importer['username'],
'$email' => $importer['email'],
'$display' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
'$from' => $from,
'$body' => html_entity_decode(strip_tags(bbcode(stripslashes($datarray['body']))), ENT_QUOTES, 'UTF-8')
// name of the automated email sender
$msg['notificationfromname'] = stripslashes($datarray['author-name']);;
// noreply address to send from
$msg['notificationfromemail'] = t('noreply') . '@' . $a->get_hostname();
// text version
// process the message body to display properly in text mode
$msg['textversion']
= html_entity_decode(strip_tags(bbcode(stripslashes($datarray['body']))), ENT_QUOTES, 'UTF-8');
// html version
// process the message body to display properly in text mode
$msg['htmlversion']
= html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), "<br />\n",$datarray['body']))));
// load the template for private message notifications
$tpl = get_intltext_template('cmnt_received_html_body_eml.tpl');
$email_html_body_tpl = replace_macros($tpl,array(
'$sitename' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $datarray['author-avatar'], // thumbnail url for sender icon
'$email' => $importer['email'], // email address to send to
'$url' => $datarray['author-link'], // full url for the site
'$from' => $from, // name of the person sending the message
'$body' => 'q1' .$msg['htmlversion'], // html version of the message
'$display' => $a->get_baseurl() . '/display/' . $importer['nick'] . '/' . $posted_id,
));
$res = mail($importer['email'], sprintf(t('%s commented on an item at %s'), $from , $a->config['sitename']),
$email_tpl,
'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
. 'Content-type: text/plain; charset=UTF-8' . "\n"
. 'Content-transfer-encoding: 8bit' );
// load the template for private message notifications
$tpl = get_intltext_template('cmnt_received_text_body_eml.tpl');
$email_text_body_tpl = replace_macros($tpl,array(
'$sitename' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $datarray['author-avatar'], // thumbnail url for sender icon
'$email' => $importer['email'], // email address to send to
'$url' => $datarray['author-link'], // full url for the site
'$from' => $from, // name of the person sending the message
'$body' => $msg['textversion'], // text version of the message
'$display' => $a->get_baseurl() . '/display/' . $importer['nick'] . '/' . $posted_id,
));
// use the EmailNotification library to send the message
require_once("include/EmailNotification.php");
EmailNotification::sendTextHtmlEmail(
$msg['notificationfromname'],
t("Administrator@") . $a->get_hostname(),
t("noreply") . '@' . $a->get_hostname(),
$importer['email'],
$from . t(" commented on an item at ") . $a->config['sitename'],
$email_html_body_tpl,
$email_text_body_tpl
);
}
}
@ -468,7 +508,7 @@ function dfrn_notify_post(&$a) {
if(($datarray['type'] != 'activity') && ($importer['notify-flags'] & NOTIFY_COMMENT)) {
$myconv = q("SELECT `author-link` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 ",
$myconv = q("SELECT `author-link`, `author-avatar` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 ",
dbesc($parent_uri),
intval($importer['importer_uid'])
);
@ -479,22 +519,57 @@ function dfrn_notify_post(&$a) {
continue;
require_once('bbcode.php');
$from = stripslashes($datarray['author-name']);
$tpl = get_intltext_template('cmnt_received_eml.tpl');
$email_tpl = replace_macros($tpl, array(
'$sitename' => $a->config['sitename'],
'$siteurl' => $a->get_baseurl(),
'$username' => $importer['username'],
'$email' => $importer['email'],
'$from' => $from,
'$display' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $r,
'$body' => html_entity_decode(strip_tags(bbcode(stripslashes($datarray['body']))), ENT_QUOTES, 'UTF-8')
// name of the automated email sender
$msg['notificationfromname'] = stripslashes($datarray['author-name']);;
// noreply address to send from
$msg['notificationfromemail'] = t('noreply') . '@' . $a->get_hostname();
// text version
// process the message body to display properly in text mode
$msg['textversion']
= html_entity_decode(strip_tags(bbcode(stripslashes($datarray['body']))), ENT_QUOTES, 'UTF-8');
// html version
// process the message body to display properly in text mode
$msg['htmlversion']
= html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), "<br />\n",$datarray['body']))));
// load the template for private message notifications
$tpl = get_intltext_template('cmnt_received_html_body_eml.tpl');
$email_html_body_tpl = replace_macros($tpl,array(
'$sitename' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $conv['author-avatar'], // thumbnail url for sender icon
'$url' => $conv['author-link'], // full url for the site
'$from' => $from, // name of the person sending the message
'$body' => $msg['htmlversion'], // html version of the message
'$display' => $a->get_baseurl() . '/display/' . $importer['nick'] . '/' . $posted_id,
));
$res = mail($importer['email'], sprintf( t("%s commented on an item at %s") , $from ,$a->config['sitename']),
$email_tpl,
'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
. 'Content-type: text/plain; charset=UTF-8' . "\n"
. 'Content-transfer-encoding: 8bit' );
// load the template for private message notifications
$tpl = get_intltext_template('cmnt_received_text_body_eml.tpl');
$email_text_body_tpl = replace_macros($tpl,array(
'$sitename' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $conv['author-avatar'], // thumbnail url for sender icon
'$url' => $conv['author-link'], // full url for the site
'$from' => $from, // name of the person sending the message
'$body' => $msg['textversion'], // text version of the message
'$display' => $a->get_baseurl() . '/display/' . $importer['nick'] . '/' . $posted_id,
));
// use the EmailNotification library to send the message
require_once("include/EmailNotification.php");
EmailNotification::sendTextHtmlEmail(
$msg['notificationfromname'],
t("Administrator@") . $a->get_hostname(),
t("noreply") . '@' . $a->get_hostname(),
$importer['email'],
$from . t(" commented on an item at ") . $a->config['sitename'],
$email_html_body_tpl,
$email_text_body_tpl
);
break;
}

View file

@ -464,22 +464,59 @@ function item_post(&$a) {
if(($user['notify-flags'] & NOTIFY_COMMENT) && ($contact_record != $author)) {
require_once('bbcode.php');
$from = $author['name'];
$tpl = get_intltext_template('cmnt_received_eml.tpl');
$email_tpl = replace_macros($tpl, array(
'$sitename' => $a->config['sitename'],
'$siteurl' => $a->get_baseurl(),
'$username' => $user['username'],
'$email' => $user['email'],
'$from' => $from,
'$display' => $a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $post_id,
'$body' => strip_tags(bbcode($datarray['body']))
// name of the automated email sender
$msg['notificationfromname'] = stripslashes($datarray['author-name']);;
// noreply address to send from
$msg['notificationfromemail'] = t('noreply') . '@' . $a->get_hostname();
// text version
// process the message body to display properly in text mode
$msg['textversion']
= html_entity_decode(strip_tags(bbcode(stripslashes($datarray['body']))), ENT_QUOTES, 'UTF-8');
// html version
// process the message body to display properly in text mode
$msg['htmlversion']
= html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), "<br />\n",$datarray['body']))));
// load the template for private message notifications
$tpl = get_intltext_template('cmnt_received_html_body_eml.tpl');
$email_html_body_tpl = replace_macros($tpl,array(
'$sitename' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $author['thumb'], // thumbnail url for sender icon
'$email' => $importer['email'], // email address to send to
'$url' => $author['url'], // full url for the site
'$from' => $from, // name of the person sending the message
'$body' => $msg['htmlversion'], // html version of the message
'$display' => $a->get_baseurl() . '/display/' . $author['nick'] . '/' . $post_id,
));
$res = mail($user['email'], sprintf( t("%s commented on your item at %s") ,$from,$a->config['sitename']),
$email_tpl,
'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
. 'Content-type: text/plain; charset=UTF-8' . "\n"
. 'Content-transfer-encoding: 8bit' );
// load the template for private message notifications
$tpl = get_intltext_template('cmnt_received_text_body_eml.tpl');
$email_text_body_tpl = replace_macros($tpl,array(
'$sitename' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $author['thumb'], // thumbnail url for sender icon
'$email' => $importer['email'], // email address to send to
'$url' => $author['url'], // full url for the site
'$from' => $from, // name of the person sending the message
'$body' => $msg['textversion'], // text version of the message
'$display' => $a->get_baseurl() . '/display/' . $author['nick'] . '/' . $post_id,
));
// use the EmailNotification library to send the message
require_once("include/EmailNotification.php");
EmailNotification::sendTextHtmlEmail(
$msg['notificationfromname'],
t("Administrator@") . $a->get_hostname(),
t("noreply") . '@' . $a->get_hostname(),
$user['email'],
$from . t(" commented on an item at ") . $a->config['sitename'],
$email_html_body_tpl,
$email_text_body_tpl
);
}
}
else {
@ -490,23 +527,57 @@ function item_post(&$a) {
if(($user['notify-flags'] & NOTIFY_WALL) && ($contact_record != $author)) {
require_once('bbcode.php');
$from = $author['name'];
$tpl = get_intltext_template('wall_received_eml.tpl');
$email_tpl = replace_macros($tpl, array(
'$sitename' => $a->config['sitename'],
'$siteurl' => $a->get_baseurl(),
'$username' => $user['username'],
'$email' => $user['email'],
'$from' => $from,
'$display' => $a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $post_id,
'$body' => strip_tags(bbcode($datarray['body']))
// name of the automated email sender
$msg['notificationfromname'] = $from;
// noreply address to send from
$msg['notificationfromemail'] = t('noreply') . '@' . $a->get_hostname();
// text version
// process the message body to display properly in text mode
$msg['textversion']
= html_entity_decode(strip_tags(bbcode(stripslashes($datarray['body']))), ENT_QUOTES, 'UTF-8');
// html version
// process the message body to display properly in text mode
$msg['htmlversion']
= html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), "<br />\n",$datarray['body']))));
// load the template for private message notifications
$tpl = load_view_file('view/wall_received_html_body_eml.tpl');
$email_html_body_tpl = replace_macros($tpl,array(
'$sitename' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $author['thumb'], // thumbnail url for sender icon
'$url' => $author['url'], // full url for the site
'$from' => $from, // name of the person sending the message
'$body' => $msg['htmlversion'], // html version of the message
'$display' => $a->get_baseurl() . '/display/' . $author['nick'] . '/' . $post_id,
));
$res = mail($user['email'], sprintf( t("%s posted on your profile wall at %s") ,$from, $a->config['sitename']),
$email_tpl,
'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
. 'Content-type: text/plain; charset=UTF-8' . "\n"
. 'Content-transfer-encoding: 8bit' );
// load the template for private message notifications
$tpl = load_view_file('view/wall_received_text_body_eml.tpl');
$email_text_body_tpl = replace_macros($tpl,array(
'$sitename' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $author['thumb'], // thumbnail url for sender icon
'$url' => $author['url'], // full url for the site
'$from' => $from, // name of the person sending the message
'$body' => $msg['textversion'], // text version of the message
'$display' => $a->get_baseurl() . '/display/' . $author['nick'] . '/' . $post_id,
));
// use the EmailNotification library to send the message
require_once("include/EmailNotification.php");
EmailNotification::sendTextHtmlEmail(
$msg['notificationfromname'],
t("Administrator@") . $a->get_hostname(),
t("noreply") . '@' . $a->get_hostname(),
$user['email'],
$from . t(" commented on an item at ") . $a->config['sitename'],
$email_html_body_tpl,
$email_text_body_tpl
);
}
}
@ -518,6 +589,9 @@ function item_post(&$a) {
dbesc(datetime_convert()),
intval($post_id)
);
foreach( $r as $key => $val) {
logger("key: " . $key . " val: " . $val);
}
// photo comments turn the corresponding item visible to the profile wall
// This way we don't see every picture in your new photo album posted to your wall at once.

View file

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html>
<head>
<title>Friendika Mitteilung</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
<table style="border:1px solid #ccc">
<tbody>
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/friendika-32.png'><span style="padding:7px;">Friendika</span></td></tr>
<tr><td style="padding-top:22px;" colspan="2">$from hat einen Pinnwandeintrag kommentiert dem du auch folgst.</td></tr>
<tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
<td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
<tr><td style="padding-bottom:5px;"></td></tr>
<tr><td style="padding-right:22px;">$body</td></tr>
<tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2"><a href="$display">Um die gesamte Konversation zu sehen melde dich bitte bei $siteurl an</a>.</td></tr>
<tr><td></td><td>Danke für die Aufmerksamkeit</td></tr>
<tr><td></td><td>$sitename Administrator</td></tr>
</tbody>
</table>
</body>
</html>

View file

@ -0,0 +1,16 @@
Hallo $username,
'$from' hat einen Pinnwandeintrag kommentiert dem du auch folgst.
-----
$body
-----
Um die gesamte Konversation zu sehen melde dich bitte bei $siteurl an:
$display
Danke fŸr die Aufmerksamkeit
$sitename Administrator

View file

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html>
<head>
<title>Friendika Message</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
<table style="border:1px solid #ccc">
<tbody>
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/friendika-32.png'><span style="padding:7px;">Friendika</span></td></tr>
<tr><td style="padding-top:22px;" colspan="2">$from commented on an item/conversation which you have been following.</td></tr>
<tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
<td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
<tr><td style="padding-bottom:5px;"></td></tr>
<tr><td style="padding-right:22px;">$body</td></tr>
<tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Please login to <a href="$display">view the complete conversation</a>.</td></tr>
<tr><td></td><td>Thank You,</td></tr>
<tr><td></td><td>$sitename Administrator</td></tr>
</tbody>
</table>
</body>
</html>

View file

@ -0,0 +1,14 @@
Dear $username,
'$from' commented on an item/conversation which you have been following.
-----
$body
-----
Please login at $siteurl to view the complete conversation:
$display
Thank you,
$sitename administrator

View file

@ -0,0 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html>
<head>
<title>Friendika Message</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
<table style="border:1px solid #ccc">
<tbody>
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/friendika-32.png'><span style="padding:7px;">Friendika</span></td></tr>
<tr><td style="padding-top:22px;" colspan="2">$from posted something to your profile wall.</td></tr>
<tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
<td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
<tr><td style="padding-right:22px;">$body</td></tr>
<tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Please login at <a href="$siteurl">$siteurl</a> to <a href="$display">view or delete the post</a>.</td></tr>
<tr><td></td><td>Thank You,</td></tr>
<tr><td></td><td>$sitename Administrator</td></tr>
</tbody>
</table>
</body>
</html>

View file

@ -0,0 +1,18 @@
Dear $username,
'$from' posted something to your profile wall.
-----
$body
-----
Please login at $siteurl to view or delete the item:
$display
Thank you,
$sitename administrator

View file

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html>
<head>
<title>Friendika Message</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
<table style="border:1px solid #ccc">
<tbody>
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/friendika-32.png'><span style="padding:7px;">Friendika</span></td></tr>
<tr><td style="padding-top:22px;" colspan="2">$from a commenté sur un élément ou une conversation que vous suivez.</td></tr>
<tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
<td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
<tr><td style="padding-bottom:5px;"></td></tr>
<tr><td style="padding-right:22px;">$body</td></tr>
<tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2"><a href="$display">Connectez-vous à $siteurl si vous souhaitez voir la conversation complète</a></td></tr>
<tr><td></td><td>Merci,</td></tr>
<tr><td></td><td>L'administrateur de $sitename</td></tr>
</tbody>
</table>
</body>
</html>

View file

@ -0,0 +1,14 @@
Cher $username,
'$from' a commentŽ sur un ŽlŽment ou une conversation que vous suivez.
-----
$body
-----
Connectez-vous ˆ $siteurl si vous souhaitez voir la conversation compl<70>te:
$display
Merci,
L'administrateur de $sitename

View file

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html>
<head>
<title>Friendika Messaggio</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
<table style="border:1px solid #ccc">
<tbody>
<tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/friendika-32.png'><span style="padding:7px;">Friendika</span></td></tr>
<tr><td style="padding-top:22px;" colspan="2">$from ha commentato un elemeto/conversazione che stai seguendo.</td></tr>
<tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
<td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
<tr><td style="padding-bottom:5px;"></td></tr>
<tr><td style="padding-right:22px;">$body</td></tr>
<tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2"><a href="$display">Accedi a $siteurl per verdere la conversazione completa:</a>.</td></tr>
<tr><td></td><td>Grazie,</td></tr>
<tr><td></td><td>L'amministratore di $sitename</td></tr>
</tbody>
</table>
</body>
</html>

View file

@ -0,0 +1,18 @@
Caro/a $username,
'$from' ha commentato un elemeto/conversazione che stai seguendo.
-----
$body
-----
Accedi a $siteurl per verdere la conversazione completa:
$display
Grazie,
L'amministratore di $sitename