notification enhancements

This commit is contained in:
friendica 2012-02-29 18:19:08 -08:00
parent 84d5f495e6
commit bbebb4c2a0
5 changed files with 43 additions and 7 deletions

View file

@ -25,6 +25,12 @@ function notification($params) {
$title = $body = '';
}
if($params['otype'] === 'item')
$possess_desc = t('%s post');
if($params['otype'] == 'photo')
$possess_desc = t('%s photo');
if($params['type'] == NOTIFY_MAIL) {
$subject = sprintf( t('[Friendica:Notify] New mail received at %s'),$sitename);
@ -41,7 +47,26 @@ function notification($params) {
// logger("notification: params = " . print_r($params, true), LOGGER_DEBUG);
$parent_id = $params['parent'];
// if it's a post figure out who's post it is.
$p = null;
if($params['otype'] === 'item' && $parent_id) {
$p = q("select * from item where id = %d and uid = %d limit 1",
intval($parent_id),
intval($params['uid'])
);
}
$dest_str = sprintf($possess_desc,'a');
if($p)
$dest_str = sprintf($possess_desc,sprintf( t("%s's"),$p[0]['author-name']));
if($p[0]['owner-name'] == $p[0]['author-name'] && $p[0]['wall'])
$dest_str = sprintf($possess_desc, t('your') );
// Some mail softwares relies on subject field for threading.
// So, we cannot have different subjects for notifications of the same thread.
// Before this we have the name of the replier on the subject rendering
@ -49,7 +74,7 @@ function notification($params) {
$subject = sprintf( t('[Friendica:Notify] Comment to conversation #%d by %s'), $parent_id, $params['source_name']);
$preamble = sprintf( t('%s commented on an item/conversation you have been following.'), $params['source_name']);
$epreamble = sprintf( t('%s commented in %s.'), '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('a watched conversation') . '[/url]');
$epreamble = sprintf( t('%s commented on %s.'), '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . $dest_str . '[/url]');
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
$tsitelink = sprintf( $sitelink, $siteurl );
@ -149,6 +174,7 @@ function notification($params) {
$datarray['date'] = datetime_convert();
$datarray['uid'] = $params['uid'];
$datarray['link'] = $itemlink;
$datarray['parent'] = $parent_id;
$datarray['type'] = $params['type'];
$datarray['verb'] = $params['verb'];
$datarray['otype'] = $params['otype'];
@ -157,8 +183,8 @@ function notification($params) {
// create notification entry in DB
$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')",
$r = q("insert into notify (hash,name,url,photo,date,uid,link,parent,type,verb,otype)
values('%s','%s','%s','%s','%s',%d,'%s',%d,%d,'%s','%s')",
dbesc($datarray['hash']),
dbesc($datarray['name']),
dbesc($datarray['url']),
@ -166,6 +192,7 @@ function notification($params) {
dbesc($datarray['date']),
intval($datarray['uid']),
dbesc($datarray['link']),
intval($datarray['parent']),
intval($datarray['type']),
dbesc($datarray['verb']),
dbesc($datarray['otype'])