mirror of
https://github.com/friendica/friendica
synced 2024-12-23 03:20:15 +00:00
yet more work on notifications
This commit is contained in:
parent
bbebb4c2a0
commit
bd2c8c92f1
3 changed files with 53 additions and 28 deletions
|
@ -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') );
|
||||||
|
|
||||||
|
|
|
@ -2325,35 +2325,44 @@ 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'];
|
||||||
foreach($myconv as $conv) {
|
|
||||||
|
|
||||||
if(! link_compare($conv['author-link'],$importer_url))
|
// first make sure this isn't our own post coming back to us from a wall-to-wall event
|
||||||
continue;
|
if(! link_compare($datarray['author-link'],$importer_url)) {
|
||||||
|
|
||||||
require_once('include/enotify.php');
|
|
||||||
|
|
||||||
$conv_parent = $conv['parent'];
|
foreach($myconv as $conv) {
|
||||||
|
|
||||||
notification(array(
|
// now if we find a match, it means we're in this conversation
|
||||||
'type' => NOTIFY_COMMENT,
|
|
||||||
'notify_flags' => $importer['notify-flags'],
|
|
||||||
'language' => $importer['language'],
|
|
||||||
'to_name' => $importer['username'],
|
|
||||||
'to_email' => $importer['email'],
|
|
||||||
'uid' => $importer['importer_uid'],
|
|
||||||
'item' => $datarray,
|
|
||||||
'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
|
|
||||||
'source_name' => stripslashes($datarray['author-name']),
|
|
||||||
'source_link' => $datarray['author-link'],
|
|
||||||
'source_photo' => ((link_compare($datarray['author-link'],$importer['url']))
|
|
||||||
? $importer['thumb'] : $datarray['author-avatar']),
|
|
||||||
'verb' => ACTIVITY_POST,
|
|
||||||
'otype' => 'item',
|
|
||||||
'parent' => $conv_parent,
|
|
||||||
|
|
||||||
));
|
if(! link_compare($conv['author-link'],$importer_url))
|
||||||
|
continue;
|
||||||
|
|
||||||
break;
|
require_once('include/enotify.php');
|
||||||
|
|
||||||
|
$conv_parent = $conv['parent'];
|
||||||
|
|
||||||
|
notification(array(
|
||||||
|
'type' => NOTIFY_COMMENT,
|
||||||
|
'notify_flags' => $importer['notify-flags'],
|
||||||
|
'language' => $importer['language'],
|
||||||
|
'to_name' => $importer['username'],
|
||||||
|
'to_email' => $importer['email'],
|
||||||
|
'uid' => $importer['importer_uid'],
|
||||||
|
'item' => $datarray,
|
||||||
|
'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
|
||||||
|
'source_name' => stripslashes($datarray['author-name']),
|
||||||
|
'source_link' => $datarray['author-link'],
|
||||||
|
'source_photo' => ((link_compare($datarray['author-link'],$importer['url']))
|
||||||
|
? $importer['thumb'] : $datarray['author-avatar']),
|
||||||
|
'verb' => ACTIVITY_POST,
|
||||||
|
'otype' => 'item',
|
||||||
|
'parent' => $conv_parent,
|
||||||
|
|
||||||
|
));
|
||||||
|
|
||||||
|
// only send one notification
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue