From 36a77c6db2272d7db31982642715034ce718552f Mon Sep 17 00:00:00 2001 From: Mike Macgirvin Date: Mon, 1 Nov 2010 17:56:36 -0700 Subject: build feeds rather than template them --- include/notifier.php | 180 ++++----------------------------------------------- 1 file changed, 13 insertions(+), 167 deletions(-) (limited to 'include/notifier.php') diff --git a/include/notifier.php b/include/notifier.php index 1f6bfa36a..405688ab1 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -84,7 +84,7 @@ // If this is a public conversation, notify the feed hub $notify_hub = true; - // fill this in with a salmon slap if applicable + // fill this in with a single salmon slap if applicable $slap = ''; if($cmd != 'mail') { @@ -152,10 +152,6 @@ killme(); $contacts = $r; - - $tomb_template = load_view_file('view/atom_tomb.tpl'); - $item_template = load_view_file('view/atom_item.tpl'); - $cmnt_template = load_view_file('view/atom_cmnt.tpl'); } $feed_template = load_view_file('view/atom_feed.tpl'); @@ -210,178 +206,28 @@ if($followup) { foreach($items as $item) { // there is only one item - - $verb = construct_verb($item); - $actobj = construct_activity($item); - $mentioned = get_mentions($item); - if($item['id'] == $item_id) { - $slap = replace_macros($cmnt_template, array( - '$name' => xmlify($owner['name']), - '$profile_page' => xmlify($owner['url']), - '$thumb' => xmlify($owner['thumb']), - '$owner_name' => xmlify($item['owner-name']), - '$owner_profile_page' => xmlify($item['owner-link']), - '$owner_thumb' => xmlify($item['owner-avatar']), - '$item_id' => xmlify($item['uri']), - '$title' => xmlify($item['title']), - '$published' => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)), - '$updated' => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)), - '$location' => xmlify($item['location']), - '$coord' => xmlify($item['coord']), - '$type' => 'html', - '$verb' => xmlify($verb), - '$actobj' => $actobj, - '$mentioned' => $mentioned, - '$alt' => xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']), - '$content' => xmlify(bbcode($item['body'])), - '$parent_id' => xmlify($item['parent-uri']), - '$comment_allow' => 0 - )); - - $atom .= replace_macros($cmnt_template, array( - '$name' => xmlify($owner['name']), - '$profile_page' => xmlify($owner['url']), - '$thumb' => xmlify($owner['thumb']), - '$owner_name' => xmlify($item['owner-name']), - '$owner_profile_page' => xmlify($item['owner-link']), - '$owner_thumb' => xmlify($item['owner-avatar']), - '$item_id' => xmlify($item['uri']), - '$title' => xmlify($item['title']), - '$published' => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)), - '$updated' => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)), - '$location' => xmlify($item['location']), - '$coord' => xmlify($item['coord']), - '$type' => 'text', - '$verb' => xmlify($verb), - '$actobj' => $actobj, - '$mentioned' => $mentioned, - '$alt' => xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']), - '$content' => xmlify($item['body']), - '$parent_id' => xmlify($item['parent-uri']), - '$comment_allow' => 0 - )); - + $slap = atom_entry($item,'html',$owner,$owner,false); + $atom .= atom_entry($item,'text',$owner,$owner,false); } - - } } else { foreach($items as $item) { - if($item['deleted']) { - $atom .= replace_macros($tomb_template, array( - '$id' => xmlify($item['uri']), - '$updated' => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)) - )); - $slaps[] = replace_macros($tomb_template, array( - '$id' => xmlify($item['uri']), - '$updated' => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)) - )); - } - else { - $contact = get_item_contact($item,$contacts); - if(! $contact) - continue; - - $verb = construct_verb($item); - $actobj = construct_activity($item); - $mentioned = get_mentions($item); - - if($item['parent'] == $item['id']) { - $atom .= replace_macros($item_template, array( - '$name' => xmlify($contact['name']), - '$profile_page' => xmlify($contact['url']), - '$thumb' => xmlify($contact['thumb']), - '$owner_name' => xmlify($item['owner-name']), - '$owner_profile_page' => xmlify($item['owner-link']), - '$owner_thumb' => xmlify($item['owner-avatar']), - '$item_id' => xmlify($item['uri']), - '$title' => xmlify($item['title']), - '$published' => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)), - '$updated' => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)), - '$location' => xmlify($item['location']), - '$coord' => xmlify($item['coord']), - '$type' => 'text', - '$verb' => xmlify($verb), - '$actobj' => $actobj, - '$mentioned' => $mentioned, - '$content' => xmlify($item['body']), - '$alt' => xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']), - '$comment_allow' => (($item['last-child']) ? 1 : 0) - )); - $slaps[] = replace_macros($item_template, array( - '$name' => xmlify($contact['name']), - '$profile_page' => xmlify($contact['url']), - '$thumb' => xmlify($contact['thumb']), - '$owner_name' => xmlify($item['owner-name']), - '$owner_profile_page' => xmlify($item['owner-link']), - '$owner_thumb' => xmlify($item['owner-avatar']), - '$item_id' => xmlify($item['uri']), - '$title' => xmlify($item['title']), - '$published' => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)), - '$updated' => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)), - '$location' => xmlify($item['location']), - '$coord' => xmlify($item['coord']), - '$type' => 'html', - '$verb' => xmlify($verb), - '$actobj' => $actobj, - '$mentioned' => $mentioned, - '$content' => xmlify(bbcode($item['body'])), - '$alt' => xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']), - '$comment_allow' => (($item['last-child']) ? 1 : 0) - )); + $contact = get_item_contact($item,$contacts); + if(! $contact) + continue; - } - else { - $atom .= replace_macros($cmnt_template, array( - '$name' => xmlify($contact['name']), - '$profile_page' => xmlify($contact['url']), - '$thumb' => xmlify($contact['thumb']), - '$item_id' => xmlify($item['uri']), - '$title' => xmlify($item['title']), - '$published' => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)), - '$updated' => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)), - '$content' => xmlify($item['body']), - '$alt' => xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']), - '$location' => xmlify($item['location']), - '$coord' => xmlify($item['coord']), - '$type' => 'text', - '$verb' => xmlify($verb), - '$actobj' => $actobj, - '$mentioned' => $mentioned, - '$parent_id' => xmlify($item['parent-uri']), - '$comment_allow' => (($item['last-child']) ? 1 : 0) - )); - $slaps[] = replace_macros($cmnt_template, array( - '$name' => xmlify($contact['name']), - '$profile_page' => xmlify($contact['url']), - '$thumb' => xmlify($contact['thumb']), - '$item_id' => xmlify($item['uri']), - '$title' => xmlify($item['title']), - '$published' => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)), - '$updated' => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , ATOM_TIME)), - '$content' => xmlify(bbcode($item['body'])), - '$alt' => xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']), - '$location' => xmlify($item['location']), - '$coord' => xmlify($item['coord']), - '$type' => 'html', - '$verb' => xmlify($verb), - '$actobj' => $actobj, - '$mentioned' => $mentioned, - '$parent_id' => xmlify($item['parent-uri']), - '$comment_allow' => (($item['last-child']) ? 1 : 0) - )); - } - } + $atom .= atom_entry($item,'text',$contact,$owner,true); + $slaps[] = atom_entry($item,'html',$contact,$owner,true); } } } $atom .= '' . "\r\n"; - logger('notifier: ' . $atom); + logger('notifier: ' . $atom, LOGGER_DATA); - logger('notifier: slaps: ' . print_r($slaps,true)); + logger('notifier: slaps: ' . print_r($slaps,true), LOGGER_DATA); if($followup) $recip_str = $parent['contact-id']; @@ -407,8 +253,8 @@ switch($contact['network']) { case 'dfrn': + logger('notifier: dfrndelivery: ' . $contact['name']); $deliver_status = dfrn_deliver($owner,$contact,$atom); - logger('notifier: delivery: ' . $contact['name']); break; default: if($followup) { @@ -420,10 +266,10 @@ // a public hub, it's ok to send a salmon if(count($slaps) && $notify_hub) { + logger('notifier: slapdelivery: ' . $contact['name']); foreach($slaps as $slappy) { slapper($owner,$contact['notify'],$slappy); } - logger('notifier: slapdelivery: ' . $contact['name']); } } break; @@ -441,10 +287,10 @@ if(count($slaps) && count($url_recipients) && $notify_hub) { foreach($url_recipients as $url) { + logger('notifier: urldelivery: ' . $url); foreach($slaps as $slappy) { slapper($owner,$url,$slappy); } - logger('notifier: urldelivery: ' . $url); } } -- cgit v1.2.3