diff options
author | redmatrix <redmatrix@redmatrix.me> | 2015-06-29 18:01:51 -0700 |
---|---|---|
committer | redmatrix <redmatrix@redmatrix.me> | 2015-06-29 18:01:51 -0700 |
commit | 6e8ad5089e3aeea6377718db91ccf48284a315fa (patch) | |
tree | 41cfeac8c0e80a135bdb10e9631519b8b2dd3225 /include | |
parent | 63f2e9b41259975f1af6415cda01dc0f81b1af30 (diff) | |
parent | 2072ea721fa26b8e5f7dd4067434951b738de92b (diff) | |
download | volse-hubzilla-6e8ad5089e3aeea6377718db91ccf48284a315fa.tar.gz volse-hubzilla-6e8ad5089e3aeea6377718db91ccf48284a315fa.tar.bz2 volse-hubzilla-6e8ad5089e3aeea6377718db91ccf48284a315fa.zip |
Merge branch 'master' of https://github.com/redmatrix/redmatrix
Conflicts:
view/nl/messages.po
view/nl/strings.php
Diffstat (limited to 'include')
-rw-r--r-- | include/network.php | 90 | ||||
-rw-r--r-- | include/notifier.php | 11 |
2 files changed, 100 insertions, 1 deletions
diff --git a/include/network.php b/include/network.php index fb336fbb4..f331da488 100644 --- a/include/network.php +++ b/include/network.php @@ -1568,3 +1568,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' => '', + )); + + + + + + + + + + +} diff --git a/include/notifier.php b/include/notifier.php index 7dcf1b5a2..e4cfbd85d 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) @@ -505,6 +505,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); + } + + + } } |