* Render actions localized
*/
function localize_item(&$item){
-
+ $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
if ($item['verb']=== ACTIVITY_LIKE || $item['verb']=== ACTIVITY_DISLIKE){
$r = q("SELECT * from `item`,`contact` WHERE
$item['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$Bphoto;
}
-
+ if ($item['verb']===ACTIVITY_TAG){
+ $r = q("SELECT * from `item`,`contact` WHERE
+ `item`.`contact-id`=`contact`.`id` AND `item`.`uri`='%s';",
+ dbesc($item['parent-uri']));
+ if(count($r)==0) return;
+ $obj=$r[0];
+
+ $author = '[url=' . $item['author-link'] . ']' . $item['author-name'] . '[/url]';
+ $objauthor = '[url=' . $obj['author-link'] . ']' . $obj['author-name'] . '[/url]';
+
+ switch($obj['verb']){
+ case ACTIVITY_POST:
+ switch ($obj['object-type']){
+ case ACTIVITY_OBJ_EVENT:
+ $post_type = t('event');
+ break;
+ default:
+ $post_type = t('status');
+ }
+ break;
+ default:
+ if($obj['resource-id']){
+ $post_type = t('photo');
+ $m=array(); preg_match("/\[url=([^]]*)\]/", $obj['body'], $m);
+ $rr['plink'] = $m[1];
+ } else {
+ $post_type = t('status');
+ }
+ }
+ $plink = '[url=' . $obj['plink'] . ']' . $post_type . '[/url]';
+
+ $parsedobj = parse_xml_string($xmlhead.$item['object']);
+
+ $tag = sprintf('#[url=%s]%s[/url]', $parsedobj->id, $parsedobj->content);
+ $item['body'] = sprintf( t('%1$s tagged %2$s\'s %3$s with %4$s'), $author, $objauthor, $plink, $tag );
+
+ }
}
$cmnt_tpl = get_markup_template('comment_item.tpl');
$tpl = get_markup_template('wall_item.tpl');
$wallwall = get_markup_template('wallwall_item.tpl');
+ $hide_comments_tpl = get_markup_template('hide_comments.tpl');
$alike = array();
$dlike = array();
}
else
$nickname = $a->user['nickname'];
+
$profile_name = ((strlen($item['author-name'])) ? $item['author-name'] : $item['name']);
+ if($item['author-link'] && (! $item['author-name']))
+ $profile_name = $item['author-link'];
$sp = false;
$profile_link = best_link_url($item,$sp);
$arr = array('item' => $item, 'output' => $tmp_item);
call_hooks('display_item', $arr);
- $threads[$threadsid] .= $arr['output'];
+ $threads[$threadsid]['id'] = $item['item_id'];
+ $threads[$threadsid]['html'] .= $arr['output'];
}
$comments_collapsed = false;
$threadsid++;
- $threads[$threadsid] = "";
+ $threads[$threadsid]['id'] = $item['item_id'];
+ $threads[$threadsid]['html'] = "";
+
}
else {
// prevent private email from leaking into public conversation
$override_comment_box = ((($page_writeable) && ($item_writeable)) ? true : false);
$show_comment_box = ((($page_writeable) && ($item_writeable) && ($comments_seen == $comments[$item['parent']])) ? true : false);
+
if(($comments[$item['parent']] > 2) && ($comments_seen <= ($comments[$item['parent']] - 2)) && ($item['gravity'] == 6)) {
if(! $comments_collapsed) {
- $threads[$threadsid] .= '<div class="ccollapse-wrapper fakelink" id="ccollapse-wrapper-' . $item['parent']
- . '" onclick="openClose(' . '\'ccollapse-' . $item['parent'] . '\'); $(\'#ccollapse-wrapper-' . $item['parent'] . '\').hide();" >'
- . sprintf( t('See all %d comments'), $comments[$item['parent']]) . '</div>'
- . '<div class="ccollapse" id="ccollapse-' . $item['parent'] . '" style="display: none;" >';
+
+ // IMPORTANT: the closing </div> in the hide_comments template
+ // is supplied below in code.
+
+ $threads[$threadsid]['html'] .= replace_macros($hide_comments_tpl,array(
+ '$id' => $item['parent'],
+ '$num_comments' => sprintf( tt('%d comment','%d comments',$comments[$item['parent']]),
+ $comments[$item['parent']]),
+ '$display' => 'none',
+ '$hide_text' => t('show more')
+ ));
$comments_collapsed = true;
}
}
if(($comments[$item['parent']] > 2) && ($comments_seen == ($comments[$item['parent']] - 1))) {
- $threads[$threadsid] .= '</div>';
+ $threads[$threadsid]['html'] .= '</div>';
}
$redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'] ;
$profile_name = (((strlen($item['author-name'])) && $diff_author) ? $item['author-name'] : $item['name']);
+ if($item['author-link'] && (! $item['author-name']))
+ $profile_name = $item['author-link'];
+
+
$sp = false;
$profile_link = best_link_url($item,$sp);
if($sp)
//
localize_item($item);
+
+ $tags=array();
+ foreach(explode(',',$item['tag']) as $tag){
+ $tag = trim($tag);
+ if ($tag!="") $tags[] = bbcode($tag);
+ }
+
+
// Build the HTML
$body = prepare_body($item,true);
-
+
$tmp_item = replace_macros($template,array(
+ '$type' => implode("",array_slice(split("/",$item['verb']),-1)),
+ '$tags' => $tags,
'$body' => template_escape($body),
'$id' => $item['item_id'],
'$linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),
$arr = array('item' => $item, 'output' => $tmp_item);
call_hooks('display_item', $arr);
- $threads[$threadsid] .= $arr['output'];
+ $threads[$threadsid]['html'] .= $arr['output'];
}
}
}
- // if author collapsing is in force but didn't get closed, close it off now.
-
- /*if($blowhard_count >= 3)
- $threads[$threadsid] .= '</div>';*/
-
$page_template = get_markup_template("conversation.tpl");
$o .= replace_macros($page_template, array(
'$threads' => $threads,