yet more work on notifications

This commit is contained in:
friendica 2012-02-29 19:23:01 -08:00
parent bbebb4c2a0
commit bd2c8c92f1
3 changed files with 53 additions and 28 deletions

View file

@ -25,11 +25,8 @@ function notification($params) {
$title = $body = ''; $title = $body = '';
} }
if($params['otype'] === 'item') // e.g. "your post", "David's photo", etc.
$possess_desc = t('%s post'); $possess_desc = t('%s <!item_type!>');
if($params['otype'] == 'photo')
$possess_desc = t('%s photo');
if($params['type'] == NOTIFY_MAIL) { if($params['type'] == NOTIFY_MAIL) {
@ -60,10 +57,16 @@ function notification($params) {
); );
} }
$possess_desc = str_replace('<!item_type!>',item_post_type($p[0]),$possess_desc);
// "a post"
$dest_str = sprintf($possess_desc,'a'); $dest_str = sprintf($possess_desc,'a');
// "George Bull's post"
if($p) if($p)
$dest_str = sprintf($possess_desc,sprintf( t("%s's"),$p[0]['author-name'])); $dest_str = sprintf($possess_desc,sprintf( t("%s's"),$p[0]['author-name']));
// "your post"
if($p[0]['owner-name'] == $p[0]['author-name'] && $p[0]['wall']) if($p[0]['owner-name'] == $p[0]['author-name'] && $p[0]['wall'])
$dest_str = sprintf($possess_desc, t('your') ); $dest_str = sprintf($possess_desc, t('your') );

View file

@ -2325,8 +2325,15 @@ function local_delivery($importer,$data) {
if(count($myconv)) { if(count($myconv)) {
$importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname']; $importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname'];
// first make sure this isn't our own post coming back to us from a wall-to-wall event
if(! link_compare($datarray['author-link'],$importer_url)) {
foreach($myconv as $conv) { foreach($myconv as $conv) {
// now if we find a match, it means we're in this conversation
if(! link_compare($conv['author-link'],$importer_url)) if(! link_compare($conv['author-link'],$importer_url))
continue; continue;
@ -2353,10 +2360,12 @@ function local_delivery($importer,$data) {
)); ));
// only send one notification
break; break;
} }
} }
} }
}
continue; continue;
} }
} }

View file

@ -1201,3 +1201,16 @@ function reltoabs($text, $base)
return $text; return $text;
} }
function item_post_type($item) {
if(intval($item['event-id']))
return t('event');
if(strlen($item['resource-id']))
return t('photo');
if(strlen($item['verb']) && $item['verb'] !== ACTIVITY_POST)
return t('activity');
if($item['id'] != $item['parent'])
return t('comment');
return t('post');
}