X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=7eae1e052e0523552f05f0f6ef64eec37215065a;hb=83e54f70d3204525ba16ea3faf5f17cd001fbc9e;hp=8e1793d699513aaff0c87020e8185805437ec033;hpb=e55f9f8f07c42d1accf28ce31a100a671f2738c9;p=friendica.git diff --git a/include/conversation.php b/include/conversation.php index 8e1793d699..7eae1e052e 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -100,7 +100,7 @@ function localize_item(&$item){ $item['body'] = item_redir_and_replace_images($extracted['body'], $extracted['images'], $item['contact-id']); $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">"; - if (activity_match($item['verb'],ACTIVITY_LIKE) + if (activity_match($item['verb'],ACTIVITY_LIKE) || activity_match($item['verb'],ACTIVITY_DISLIKE) || activity_match($item['verb'],ACTIVITY_ATTEND) || activity_match($item['verb'],ACTIVITY_ATTENDNO) @@ -354,7 +354,7 @@ function count_descendants($item) { function visible_activity($item) { - // likes (etc.) can apply to other things besides posts. Check if they are post children, + // likes (etc.) can apply to other things besides posts. Check if they are post children, // in which case we handle them specially $hidden_activities = array(ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE); @@ -505,7 +505,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $hide_comments_tpl = get_markup_template('hide_comments.tpl'); $conv_responses = array( - 'like' => array('title' => t('Likes','title')), 'dislike' => array('title' => t('Dislikes','title')), + 'like' => array('title' => t('Likes','title')), 'dislike' => array('title' => t('Dislikes','title')), 'attendyes' => array('title' => t('Attending','title')), 'attendno' => array('title' => t('Not attending','title')), 'attendmaybe' => array('title' => t('Might attend','title')) ); @@ -891,7 +891,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/0?nets=all&cid=' . $cid; + $posts_link = $a->get_baseurl($ssl_state) . '/contacts/' . $cid . '/posts'; $clean_url = normalise_link($item['author-link']); @@ -946,12 +946,11 @@ function item_photo_menu($item){ * @brief Checks item to see if it is one of the builtin activities (like/dislike, event attendance, consensus items, etc.) * Increments the count of each matching activity and adds a link to the author as needed. * - * @param array $a (not used) * @param array $item * @param array &$conv_responses (already created with builtin activity structure) * @return void */ -if(! function_exists(builtin_activity_puller)) { +if(! function_exists('builtin_activity_puller')) { function builtin_activity_puller($item, &$conv_responses) { foreach($conv_responses as $mode => $v) { $url = ''; @@ -984,15 +983,15 @@ function builtin_activity_puller($item, &$conv_responses) { $url = z_root(true) . '/redir/' . $item['contact-id']; $sparkle = ' class="sparkle" '; } - else + else $url = zrl($url); - + $url = '' . htmlentities($item['author-name']) . ''; if(! $item['thr-parent']) $item['thr-parent'] = $item['parent-uri']; - if(! ((isset($conv_responses[$mode][$item['thr-parent'] . '-l'])) + if(! ((isset($conv_responses[$mode][$item['thr-parent'] . '-l'])) && (is_array($conv_responses[$mode][$item['thr-parent'] . '-l'])))) $conv_responses[$mode][$item['thr-parent'] . '-l'] = array(); @@ -1064,9 +1063,9 @@ function format_like($cnt,$arr,$type,$id) { } $likers = $str; - + $spanatts = "class=\"fakelink\" onclick=\"openClose('{$type}list-$id');\""; - + switch($type) { case 'like': $phrase = sprintf( t('%2$d people like this'), $spanatts, $cnt); @@ -1291,6 +1290,15 @@ function conv_sort($arr,$order) { $parents = array(); $children = array(); + $newarr = array(); + + // This is a preparation for having two different items with the same uri in one thread + // This will otherwise lead to an endless loop. + foreach($arr as $x) + if (!isset($newarr[$x['uri']])) + $newarr[$x['uri']] = $x; + + $arr = $newarr; foreach($arr as $x) if($x['id'] == $x['parent']) @@ -1373,7 +1381,7 @@ function get_responses($conv_responses,$response_verbs,$ob,$item) { $ret[$v]['list'] = ((x($conv_responses[$v],$item['uri'])) ? $conv_responses[$v][$item['uri'] . '-l'] : ''); if(count($ret[$v]['list']) > MAX_LIKERS) { $ret[$v]['list_part'] = array_slice($ret[$v]['list'], 0, MAX_LIKERS); - array_push($ret[$v]['list_part'], '' . t('View all') . ''); } else {