X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=20baf7dc5fed773aec893f70cc05e9502ad9ba4d;hb=ccef8995779d8b97e0bd9965eee5c592101969de;hp=7859d301c754090cae5231a4675d0a537a901209;hpb=dfb3ee6e29b6943f86ec75af12db5a1422a7e1dd;p=friendica.git diff --git a/include/conversation.php b/include/conversation.php index 7859d301c7..20baf7dc5f 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -4,7 +4,7 @@ * 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 @@ -79,7 +79,43 @@ function localize_item(&$item){ $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 ); + + } } @@ -136,14 +172,15 @@ function conversation(&$a, $items, $mode, $update) { $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(); // array with html for each thread (parent+comments) - $treads = array(); - $treadsid = -1; + $threads = array(); + $threadsid = -1; if(count($items)) { @@ -155,7 +192,7 @@ function conversation(&$a, $items, $mode, $update) { $tpl = get_markup_template('search_item.tpl'); foreach($items as $item) { - $treadsid++; + $threadsid++; $comment = ''; $owner_url = ''; @@ -220,7 +257,7 @@ function conversation(&$a, $items, $mode, $update) { $body = prepare_body($item,true); - $treads[$treadsid] .= replace_macros($tpl,array( + $tmp_item = replace_macros($tpl,array( '$id' => $item['item_id'], '$linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), '$profile_url' => $profile_link, @@ -251,6 +288,12 @@ function conversation(&$a, $items, $mode, $update) { '$wait' => t('Please wait'), )); + $arr = array('item' => $item, 'output' => $tmp_item); + call_hooks('display_item', $arr); + + $threads[$threadsid]['id'] = $arr[$item['item_id']]; + $threads[$threadsid]['html'] .= $arr['output']; + } } @@ -331,8 +374,10 @@ function conversation(&$a, $items, $mode, $update) { $comments_seen = 0; $comments_collapsed = false; - $treadsid++; - $treads[$treadsid] = ""; + $threadsid++; + $threads[$threadsid]['id'] = $item['item_id']; + $threads[$threadsid]['html'] = ""; + } else { // prevent private email from leaking into public conversation @@ -344,17 +389,25 @@ function conversation(&$a, $items, $mode, $update) { $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) { - $treads[$treadsid] .= '