aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/network.php90
-rw-r--r--include/notifier.php11
2 files changed, 100 insertions, 1 deletions
diff --git a/include/network.php b/include/network.php
index e0c8885fd..3abb1b40e 100644
--- a/include/network.php
+++ b/include/network.php
@@ -1569,3 +1569,93 @@ function service_plink($contact, $guid) {
return $plink;
}
+
+
+function format_and_send_email($sender,$xchan,$item) {
+
+ require_once('include/enotify.php');
+
+ $title = $item['title'];
+ $body = $item['body'];
+
+ $textversion = strip_tags(html_entity_decode(bbcode(str_replace(array("\\r", "\\n"), array( "", "\n"), $body)),ENT_QUOTES,'UTF-8'));
+
+ $htmlversion = bbcode(str_replace(array("\\r","\\n"), array("","<br />\n"),$body));
+
+ $banner = t('$Projectname Notification');
+ $product = t('$projectname'); // PLATFORM_NAME;
+ $siteurl = z_root();
+ $thanks = t('Thank You,');
+ $sitename = get_config('system','sitename');
+ $site_admin = sprintf( t('%s Administrator'), $sitename);
+
+ // load the template for private message notifications
+ $tpl = get_markup_template('email_notify_html.tpl');
+ $email_html_body = replace_macros($tpl,array(
+ '$banner' => $banner,
+ '$product' => $product,
+ '$preamble' => '',
+ '$sitename' => $sitename,
+ '$siteurl' => $siteurl,
+ '$source_name' => $sender['xchan_name'],
+ '$source_link' => $sender['xchan_url'],
+ '$source_photo' => $sender['xchan_photo_m'],
+ '$username' => $xchan['xchan_name'],
+ '$hsitelink' => $datarray['hsitelink'],
+ '$hitemlink' => $datarray['hitemlink'],
+ '$thanks' => $thanks,
+ '$site_admin' => $site_admin,
+ '$title' => $title,
+ '$htmlversion' => $htmlversion,
+ ));
+
+ // load the template for private message notifications
+ $tpl = get_markup_template('email_notify_text.tpl');
+ $email_text_body = replace_macros($tpl, array(
+ '$banner' => $banner,
+ '$product' => $product,
+ '$preamble' => '',
+ '$sitename' => $sitename,
+ '$siteurl' => $siteurl,
+ '$source_name' => $sender['xchan_name'],
+ '$source_link' => $sender['xchan_url'],
+ '$source_photo' => $sender['xchan_photo_m'],
+ '$username' => $xchan['xchan_name'],
+ '$hsitelink' => $datarray['hsitelink'],
+ '$hitemlink' => $datarray['hitemlink'],
+ '$thanks' => $thanks,
+ '$site_admin' => $site_admin,
+ '$title' => $title,
+ '$textversion' => $textversion
+ ));
+
+ $sender_name = t('Administrator');
+
+ $hostname = get_app()->get_hostname();
+ if(strpos($hostname,':'))
+ $hostname = substr($hostname,0,strpos($hostname,':'));
+ $sender_email = 'noreply' . '@' . $hostname;
+
+ // use the EmailNotification library to send the message
+
+ enotify::send(array(
+ 'fromName' => $product,
+ 'fromEmail' => $sender_email,
+ 'replyTo' => $sender_email,
+ 'toEmail' => str_replace('mailto:','',$xchan['xchan_addr']),
+ 'messageSubject' => (($title) ? $title : t('No Subject')),
+ 'htmlVersion' => $email_html_body,
+ 'textVersion' => $email_text_body,
+ 'additionalMailHeader' => '',
+ ));
+
+
+
+
+
+
+
+
+
+
+} \ No newline at end of file
diff --git a/include/notifier.php b/include/notifier.php
index 46f9eb1de..ecd2ac86f 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -354,7 +354,7 @@ function notifier_run($argv, $argc){
return;
}
- $s = q("select * from channel where channel_id = %d limit 1",
+ $s = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_id = %d limit 1",
intval($target_item['uid'])
);
if($s)
@@ -509,6 +509,15 @@ function notifier_run($argv, $argc){
$recip_list[] = $d['xchan_addr'] . ' (' . $d['xchan_hash'] . ')';
if($private)
$env_recips[] = array('guid' => $d['xchan_guid'],'guid_sig' => $d['xchan_guid_sig'],'hash' => $d['xchan_hash']);
+
+ if($d['xchan_network'] === 'mail' && $normal_mode) {
+ $delivery_options = get_xconfig($d['xchan_hash'],'system','delivery_mode');
+ if(! $delivery_options)
+ format_and_send_email($channel,$d,$target_item);
+ }
+
+
+
}
}