X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=8e868afec70db2369613c553f0c31ed6c92ed2c3;hb=4b0cc51ae49a91aaa37e43b5aa8496fc417c536f;hp=d5f87567b9d7b91c7cb4ae7a388d71a1b8ba9458;hpb=ccb465eccd8d87d2ea13b619b665d68e6d2d1181;p=friendica.git
diff --git a/include/conversation.php b/include/conversation.php
index d5f87567b9..8e868afec7 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -369,7 +369,6 @@ function visible_activity($item) {
if(!function_exists('conversation')) {
function conversation(&$a, $items, $mode, $update, $preview = false) {
-
require_once('include/bbcode.php');
$ssl_state = ((local_user()) ? true : false);
@@ -378,6 +377,18 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$page_writeable = false;
$live_update_div = '';
+ $arr_blocked = null;
+
+ if(local_user()) {
+ $str_blocked = get_pconfig(local_user(),'system','blocked');
+ if($str_blocked) {
+ $arr_blocked = explode(',',$str_blocked);
+ for($x = 0; $x < count($arr_blocked); $x ++)
+ $arr_blocked[$x] = trim($arr_blocked[$x]);
+ }
+
+ }
+
$previewing = (($preview) ? ' preview ' : '');
if($mode === 'network') {
@@ -476,7 +487,6 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$alike = array();
$dlike = array();
-
// array with html for each thread (parent+comments)
$threads = array();
$threadsid = -1;
@@ -494,6 +504,20 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$tpl = 'search_item.tpl';
foreach($items as $item) {
+
+ if($arr_blocked) {
+ $blocked = false;
+ foreach($arr_blocked as $b) {
+ if($b && link_compare($item['author-link'],$b)) {
+ $blocked = true;
+ break;
+ }
+ }
+ if($blocked)
+ continue;
+ }
+
+
$threadsid++;
$comment = '';
@@ -524,7 +548,26 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$tags=array();
$hashtags = array();
$mentions = array();
- foreach(explode(',',$item['tag']) as $tag){
+
+ $taglist = q("SELECT `type`, `term`, `url` FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d) ORDER BY `tid`",
+ intval(TERM_OBJ_POST), intval($item['id']), intval(TERM_HASHTAG), intval(TERM_MENTION));
+
+ foreach($taglist as $tag) {
+
+ if ($tag["url"] == "")
+ $tag["url"] = $searchpath.strtolower($tag["term"]);
+
+ if ($tag["type"] == TERM_HASHTAG) {
+ $hashtags[] = "#".$tag["term"]."";
+ $prefix = "#";
+ } elseif ($tag["type"] == TERM_MENTION) {
+ $mentions[] = "@".$tag["term"]."";
+ $prefix = "@";
+ }
+ $tags[] = $prefix."".$tag["term"]."";
+ }
+
+ /*foreach(explode(',',$item['tag']) as $tag){
$tag = trim($tag);
if ($tag!="") {
$t = bbcode($tag);
@@ -534,7 +577,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
elseif($t[0] == '@')
$mentions[] = $t;
}
- }
+ }*/
$sp = false;
$profile_link = best_link_url($item,$sp);
@@ -606,6 +649,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$tmp_item = array(
'template' => $tpl,
'id' => (($preview) ? 'P0' : $item['item_id']),
+ 'network' => $item['item_network'],
'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),
'profile_url' => $profile_link,
'item_photo_menu' => item_photo_menu($item),
@@ -651,10 +695,10 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
call_hooks('display_item', $arr);
$threads[$threadsid]['id'] = $item['item_id'];
+ $threads[$threadsid]['network'] = $item['item_network'];
$threads[$threadsid]['items'] = array($arr['output']);
}
-
}
else
{
@@ -673,6 +717,21 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$threads = array();
foreach($items as $item) {
+ if($arr_blocked) {
+ $blocked = false;
+ foreach($arr_blocked as $b) {
+
+ if($b && link_compare($item['author-link'],$b)) {
+ $blocked = true;
+ break;
+ }
+ }
+ if($blocked)
+ continue;
+ }
+
+
+
// Can we put this after the visibility check?
like_puller($a,$item,$alike,'like');
like_puller($a,$item,$dlike,'dislike');
@@ -696,6 +755,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
}
$threads = $conv->get_template_data($alike, $dlike);
+
if(!$threads) {
logger('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG);
$threads = array();
@@ -795,7 +855,7 @@ function item_photo_menu($item){
if(($cid) && (! $item['self'])) {
$poke_link = $a->get_baseurl($ssl_state) . '/poke/?f=&c=' . $cid;
$contact_url = $a->get_baseurl($ssl_state) . '/contacts/' . $cid;
- $posts_link = $a->get_baseurl($ssl_state) . '/network/?cid=' . $cid;
+ $posts_link = $a->get_baseurl($ssl_state) . '/network/0?nets=all&cid=' . $cid;
$clean_url = normalise_link($item['author-link']);