X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=e66b45f097b4fabe08a143930f42bce6707785e6;hb=a27b7fb28d151c00eef8319cdf876896d36df8b0;hp=a1ce19a7ab32edd8ddb1a3cab24bdc8bf8a84e5c;hpb=60fbe0b39b02e9d1ce4521883c86b4783f4b9d4e;p=friendica.git diff --git a/include/conversation.php b/include/conversation.php index a1ce19a7ab..e66b45f097 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -8,12 +8,18 @@ function localize_item(&$item){ if ($item['verb']=="http://activitystrea.ms/schema/1.0/like" || $item['verb']=="http://activitystrea.ms/schema/1.0/dislike"){ + $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]'; - #$objlink = preg_grep("|"; + + $obj = parse_xml_string($xmlhead.$item['object']); + $links = parse_xml_string($xmlhead."".unxmlify($obj->link).""); + + $Bname = $obj->title; + $Blink = ""; $Bphoto = ""; + foreach ($links->link as $l){ + $atts = $l->attributes(); + switch($atts['rel']){ + case "alternate": $Blink = $atts['href']; + case "photo": $Bphoto = $atts['href']; + } + + } + + $A = '[url=' . $Alink . ']' . $Aname . '[/url]'; + $B = '[url=' . $Blink . ']' . $Bname . '[/url]'; + if ($Bphoto!="") $Bphoto = '[url=' . $Blink . '][img]' . $Bphoto . '[/img][/url]'; + + $item['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$Bphoto; + + } + } /** @@ -66,19 +101,14 @@ function conversation(&$a, $items, $mode, $update) { else $return_url = $_SESSION['return_url'] = $a->cmd; + load_contact_links(local_user()); - // find all the authors involved in remote conversations - // We will use a local profile photo if they are one of our contacts - // otherwise we have to get the photo from the item owner's site - $author_contacts = extract_item_authors($items,local_user()); - - - $cmnt_tpl = load_view_file('view/comment_item.tpl'); - $like_tpl = load_view_file('view/like.tpl'); - $noshare_tpl = load_view_file('view/like_noshare.tpl'); - $tpl = load_view_file('view/wall_item.tpl'); - $wallwall = load_view_file('view/wallwall_item.tpl'); + $cmnt_tpl = get_markup_template('comment_item.tpl'); + $like_tpl = get_markup_template('like.tpl'); + $noshare_tpl = get_markup_template('like_noshare.tpl'); + $tpl = get_markup_template('wall_item.tpl'); + $wallwall = get_markup_template('wallwall_item.tpl'); $alike = array(); $dlike = array(); @@ -90,8 +120,8 @@ function conversation(&$a, $items, $mode, $update) { // "New Item View" on network page or search page results // - just loop through the items and format them minimally for display - $tpl = load_view_file('view/search_item.tpl'); - $droptpl = load_view_file('view/wall_fake_drop.tpl'); + $tpl = get_markup_template('search_item.tpl'); + $droptpl = get_markup_template('wall_fake_drop.tpl'); foreach($items as $item) { @@ -111,23 +141,20 @@ function conversation(&$a, $items, $mode, $update) { $nickname = $a->user['nickname']; $profile_name = ((strlen($item['author-name'])) ? $item['author-name'] : $item['name']); - $profile_avatar = ((strlen($item['author-avatar'])) ? $item['author-avatar'] : $item['thumb']); - $profile_link = ((strlen($item['author-link'])) ? $item['author-link'] : $item['url']); + + $sp = false; + $profile_link = best_link_url($item,$sp); + if($sp) + $sparkle = ' sparkle'; if($profile_link === 'mailbox') $profile_link = ''; - $redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'] ; - if(strlen($item['author-link'])) { - if(link_compare($item['author-link'],$item['url']) && ($item['network'] === 'dfrn') && (! $item['self'])) { - $profile_link = $redirect_url; - $sparkle = ' sparkle'; - } - elseif(isset($author_contacts[$item['author-link']])) { - $profile_link = $a->get_baseurl() . '/redir/' . $author_contacts[$item['author-link']]; - $sparkle = ' sparkle'; - } - } + $normalised = normalise_link((strlen($item['author-link'])) ? $item['author-link'] : $item['url']); + if(($normalised != 'mailbox') && (x($a->contacts[$normalised]))) + $profile_avatar = $a->contacts[$normalised]['thumb']; + else + $profile_avatar = ((strlen($item['author-avatar'])) ? $item['author-avatar'] : $item['thumb']); $location = (($item['location']) ? '' . $item['location'] . '' : ''); $coord = (($item['coord']) ? '' . $item['coord'] . '' : ''); @@ -190,7 +217,7 @@ function conversation(&$a, $items, $mode, $update) { $comments = array(); foreach($items as $item) { - if(intval($item['gravity']) == 6) { + if((intval($item['gravity']) == 6) && ($item['id'] != $item['parent'])) { if(! x($comments,$item['parent'])) $comments[$item['parent']] = 1; else @@ -240,7 +267,7 @@ function conversation(&$a, $items, $mode, $update) { $blowhard_count ++; if($blowhard_count == 3) { $o .= '' . '