mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-19 21:55:15 +00:00
a bit more progress on the new network/home ajax notifications, at least I've now got a plan
This commit is contained in:
parent
15c8da101a
commit
4af6d77de3
3 changed files with 36 additions and 50 deletions
|
@ -82,7 +82,8 @@ function item_redir_and_replace_images($body, $images, $cid) {
|
|||
/**
|
||||
* Render actions localized
|
||||
*/
|
||||
function localize_item(&$item){
|
||||
|
||||
function localize_item(&$item,$brief = false){
|
||||
|
||||
$extracted = item_extract_images($item['body']);
|
||||
if($extracted['images'])
|
||||
|
@ -123,7 +124,10 @@ function localize_item(&$item){
|
|||
break;
|
||||
case ACTIVITY_OBJ_NOTE:
|
||||
default:
|
||||
$post_type = t('status');
|
||||
if(! ($item_flags & ITEM_THREAD_TOP))
|
||||
$post_type = t('comment');
|
||||
else
|
||||
$post_type = t('status');
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,58 +3,39 @@
|
|||
|
||||
function format_notification($item) {
|
||||
|
||||
$ret = '';
|
||||
|
||||
return;
|
||||
return array();
|
||||
|
||||
// convert this logic into a json array just like the system notifications
|
||||
|
||||
switch($item['verb']){
|
||||
case ACTIVITY_LIKE:
|
||||
|
||||
require_once('include/conversation.php');
|
||||
|
||||
$notif_content .= replace_macros($tpl_item_likes,array(
|
||||
'$itemem_link' => $a->get_baseurl(true).'/display/'.$a->user['nickname']."/".$item['parent'],
|
||||
'$itemem_image' => $item['author-avatar'],
|
||||
'$itemem_text' => sprintf( t("%s liked %s's post"), $item['author-name'], $item['pname']),
|
||||
'$itemem_when' => relative_date($item['created'])
|
||||
));
|
||||
break;
|
||||
|
||||
case ACTIVITY_DISLIKE:
|
||||
$notif_content .= replace_macros($tpl_item_dislikes,array(
|
||||
'$itemem_link' => $a->get_baseurl(true).'/display/'.$a->user['nickname']."/".$item['parent'],
|
||||
'$itemem_image' => $item['author-avatar'],
|
||||
'$itemem_text' => sprintf( t("%s disliked %s's post"), $item['author-name'], $item['pname']),
|
||||
'$itemem_when' => relative_date($item['created'])
|
||||
));
|
||||
break;
|
||||
|
||||
case ACTIVITY_FRIEND:
|
||||
|
||||
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
|
||||
$obj = parse_xml_string($xmlhead.$item['object']);
|
||||
$item['fname'] = $obj->title;
|
||||
|
||||
$notif_content .= replace_macros($tpl_item_friends,array(
|
||||
'$itemem_link' => $a->get_baseurl(true).'/display/'.$a->user['nickname']."/".$item['parent'],
|
||||
'$itemem_image' => $item['author-avatar'],
|
||||
'$itemem_text' => sprintf( t("%s is now friends with %s"), $item['author-name'], $item['fname']),
|
||||
'$itemem_when' => relative_date($item['created'])
|
||||
));
|
||||
break;
|
||||
|
||||
default:
|
||||
$itemem_text = (($item['id'] == $item['parent'])
|
||||
? sprintf( t("%s created a new post"), $item['author-name'])
|
||||
: sprintf( t("%s commented on %s's post"), $item['author-name'], $item['pname']));
|
||||
$tpl = (($item['id'] == $item['parent']) ? $tpl_item_posts : $tpl_item_comments);
|
||||
// Call localize_item with the "brief" flag to get a one line status for activities.
|
||||
// This should set $item['localized'] to indicate we have a brief summary.
|
||||
|
||||
localize_item($item,true);
|
||||
|
||||
// FIXME - we may need the parent
|
||||
|
||||
if(! $item['localized']) {
|
||||
$itemem_text = (($item['item_flags'] & ITEM_THREAD_TOP)
|
||||
? sprintf( t("%s created a new post"), $item['author']['xchan_name'])
|
||||
: sprintf( t("%s commented on %s's post"), $item['author']['xchan_name'], $item['pname']));
|
||||
}
|
||||
else
|
||||
$itemem_text = $item['body'];
|
||||
|
||||
// convert this logic into a json array just like the system notifications
|
||||
|
||||
return array(
|
||||
'notify_link' => $a->get_baseurl() . '/notify/view/' . $zz['id'],
|
||||
'name' => $zz['name'],
|
||||
'url' => $zz['url'],
|
||||
'photo' => $zz['photo'],
|
||||
'when' => relative_date($zz['date']),
|
||||
'class' => (($zz['seen']) ? 'notify-seen' : 'notify-unseen'),
|
||||
'message' => strip_tags(bbcode($zz['msg']))
|
||||
);
|
||||
|
||||
$notif_content .= replace_macros($tpl,array(
|
||||
'$itemem_link' => $a->get_baseurl(true).'/display/'.$a->user['nickname']."/".$item['parent'],
|
||||
'$itemem_image' => $item['author-avatar'],
|
||||
'$itemem_text' => $itemem_text,
|
||||
'$itemem_when' => relative_date($it['created'])
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -102,6 +102,7 @@ function ping_init(&$a) {
|
|||
);
|
||||
|
||||
if($r) {
|
||||
xchan_query($r);
|
||||
foreach($r as $item) {
|
||||
if((argv(1) === 'home') && (! ($item['item_flags'] & ITEM_HOME)))
|
||||
continue;
|
||||
|
|
Loading…
Reference in a new issue