add plugin hooks to enotify

This commit is contained in:
friendica 2012-02-26 23:54:04 -08:00
parent 6e76d9d3a3
commit 153e7beb19
4 changed files with 83 additions and 45 deletions

View file

@ -135,20 +135,34 @@ function notification($params) {
} while($dups == true); } while($dups == true);
$datarray = array();
$datarray['hash'] = $hash;
$datarray['name'] = $params['source_name'];
$datarray['url'] = $params['source_link'];
$datarray['photo'] = $params['source_photo'];
$datarray['date'] = datetime_convert();
$datarray['uid'] = $params['uid'];
$datarray['link'] = $itemlink;
$datarray['type'] = $params['type'];
$datarray['verb'] = $params['verb'];
$datarray['otype'] = $params['otype'];
call_hooks('enotify_store', $datarray);
// create notification entry in DB // create notification entry in DB
$r = q("insert into notify (hash,name,url,photo,date,uid,link,type,verb,otype) $r = q("insert into notify (hash,name,url,photo,date,uid,link,type,verb,otype)
values('%s','%s','%s','%s','%s',%d,'%s',%d,'%s','%s')", values('%s','%s','%s','%s','%s',%d,'%s',%d,'%s','%s')",
dbesc($hash), dbesc($datarray['hash']),
dbesc($params['source_name']), dbesc($datarray['name']),
dbesc($params['source_link']), dbesc($datarray['url']),
dbesc($params['source_photo']), dbesc($datarray['photo']),
dbesc(datetime_convert()), dbesc($datarray['date']),
intval($params['uid']), intval($datarray['uid']),
dbesc($itemlink), dbesc($datarray['link']),
intval($params['type']), intval($datarray['type']),
dbesc($params['verb']), dbesc($datarray['verb']),
dbesc($params['otype']) dbesc($datarray['otype'])
); );
$r = q("select id from notify where hash = '%s' and uid = %d limit 1", $r = q("select id from notify where hash = '%s' and uid = %d limit 1",
@ -217,44 +231,68 @@ intval($params['uid']), LOGGER_DEBUG);
$htmlversion = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), $htmlversion = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"),
"<br />\n",$body)))); "<br />\n",$body))));
$datarray = array();
$datarray['banner'] = $banner;
$datarray['product'] = $product;
$datarray['preamble'] = $preamble;
$datarray['sitename'] = $sitename;
$datarray['siteurl'] = $siteurl;
$datarray['source_name'] = $params['source_name'];
$datarray['source_link'] = $params['source_link'];
$datarray['source_photo'] = $params['source_photo'];
$datarray['username'] = $params['to_name'];
$datarray['hsitelink'] = $hsitelink;
$datarray['tsitelink'] = $tsitelink;
$datarray['hitemlink'] = '<a href="' . $itemlink . '">' . $itemlink . '</a>';
$datarray['titemlink'] = $itemlink;
$datarray['thanks'] = $thanks;
$datarray['site_admin'] = $site_admin;
$datarray['title'] = stripslashes($title);
$datarray['htmlversion'] = $htmlversion;
$datarray['textversion'] = $textversion;
$datarray['subject'] = $subject;
$datarray['headers'] = $additional_mail_header;
call_hooks('enotify_mail', $datarray);
// load the template for private message notifications // load the template for private message notifications
$tpl = get_markup_template('email_notify_html.tpl'); $tpl = get_markup_template('email_notify_html.tpl');
$email_html_body = replace_macros($tpl,array( $email_html_body = replace_macros($tpl,array(
'$banner' => $banner, '$banner' => $datarray['banner'],
'$product' => $product, '$product' => $datarray['product'],
'$preamble' => $preamble, '$preamble' => $datarray['preamble'],
'$sitename' => $sitename, '$sitename' => $datarray['sitename'],
'$siteurl' => $siteurl, '$siteurl' => $datarray['siteurl'],
'$source_name' => $params['source_name'], '$source_name' => $datarray['source_name'],
'$source_link' => $params['source_link'], '$source_link' => $datarray['source_link'],
'$source_photo' => $params['source_photo'], '$source_photo' => $datarray['source_photo'],
'$username' => $params['to_name'], '$username' => $datarray['to_name'],
'$hsitelink' => $hsitelink, '$hsitelink' => $datarray['hsitelink'],
'$itemlink' => '<a href="' . $itemlink . '">' . $itemlink . '</a>', '$hitemlink' => $datarray['hitemlink'],
'$thanks' => $thanks, '$thanks' => $datarray['thanks'],
'$site_admin' => $site_admin, '$site_admin' => $datarray['site_admin'],
'$title' => stripslashes($title), '$title' => $datarray['title'],
'$htmlversion' => $htmlversion, '$htmlversion' => $datarray['htmlversion'],
)); ));
// load the template for private message notifications // load the template for private message notifications
$tpl = get_markup_template('email_notify_text.tpl'); $tpl = get_markup_template('email_notify_text.tpl');
$email_text_body = replace_macros($tpl,array( $email_text_body = replace_macros($tpl,array(
'$banner' => $banner, '$banner' => $datarray['banner'],
'$product' => $product, '$product' => $datarray['product'],
'$preamble' => $preamble, '$preamble' => $datarray['preamble'],
'$sitename' => $sitename, '$sitename' => $datarray['sitename'],
'$siteurl' => $siteurl, '$siteurl' => $datarray['siteurl'],
'$source_name' => $params['source_name'], '$source_name' => $datarray['source_name'],
'$source_link' => $params['source_link'], '$source_link' => $datarray['source_link'],
'$source_photo' => $params['source_photo'], '$source_photo' => $datarray['source_photo'],
'$username' => $params['to_name'], '$username' => $datarray['to_name'],
'$tsitelink' => $tsitelink, '$tsitelink' => $datarray['tsitelink'],
'$itemlink' => $itemlink, '$titemlink' => $datarray['titemlink'],
'$thanks' => $thanks, '$thanks' => $datarray['thanks'],
'$site_admin' => $site_admin, '$site_admin' => $datarray['site_admin'],
'$title' => stripslashes($title), '$title' => $datarray['title'],
'$textversion' => $textversion, '$textversion' => $datarray['textversion'],
)); ));
// logger('text: ' . $email_text_body); // logger('text: ' . $email_text_body);
@ -266,10 +304,10 @@ intval($params['uid']), LOGGER_DEBUG);
'fromEmail' => $sender_email, 'fromEmail' => $sender_email,
'replyTo' => $sender_email, 'replyTo' => $sender_email,
'toEmail' => $params['to_email'], 'toEmail' => $params['to_email'],
'messageSubject' => $subject, 'messageSubject' => $datarray['subject'],
'htmlVersion' => $email_html_body, 'htmlVersion' => $email_html_body,
'textVersion' => $email_text_body, 'textVersion' => $email_text_body,
'additionalMailHeader' => $additional_mail_header, 'additionalMailHeader' => $datarray['headers'],
)); ));
} }

View file

@ -18,7 +18,7 @@
<tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr> <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
<tr><td style="padding-right:22px;">$htmlversion</td></tr> <tr><td style="padding-right:22px;">$htmlversion</td></tr>
<tr><td style="padding-top:11px;" colspan="2">$hsitelink</td></tr> <tr><td style="padding-top:11px;" colspan="2">$hsitelink</td></tr>
<tr><td style="padding-bottom:11px;" colspan="2">$itemlink</td></tr> <tr><td style="padding-bottom:11px;" colspan="2">$hitemlink</td></tr>
<tr><td></td><td>$thanks</td></tr> <tr><td></td><td>$thanks</td></tr>
<tr><td></td><td>$site_admin</td></tr> <tr><td></td><td>$site_admin</td></tr>
</tbody> </tbody>

View file

@ -6,7 +6,7 @@ $title
$textversion $textversion
$tsitelink $tsitelink
$itemlink $titemlink
$thanks $thanks
$site_admin $site_admin

View file

@ -14,7 +14,7 @@
title="Search in Friendica" /> title="Search in Friendica" />
<!--[if IE]> <!--[if IE]>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <script type="text/javascript" src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> <![endif]-->
<script type="text/javascript" src="$baseurl/js/jquery.js" ></script> <script type="text/javascript" src="$baseurl/js/jquery.js" ></script>
<script type="text/javascript" src="$baseurl/js/jquery.textinputs.js" ></script> <script type="text/javascript" src="$baseurl/js/jquery.textinputs.js" ></script>