X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=82a107c07c28bac989a39ae301cab2a0ca6f9a53;hb=abc01cad20f599a205e5c2534936092f6820e702;hp=7c30c01c2b2d98f8a76c56aa9e4979e5490e5a39;hpb=b3fa03d3b4175b565ae7ed9106cb83c43801b558;p=friendica.git diff --git a/include/conversation.php b/include/conversation.php index 7c30c01c2b..82a107c07c 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -5,8 +5,7 @@ */ function localize_item(&$item){ - if ($item['verb']=="http://activitystrea.ms/schema/1.0/like" || - $item['verb']=="http://activitystrea.ms/schema/1.0/dislike"){ + if ($item['verb']=== ACTIVITY_LIKE || $item['verb']=== ACTIVITY_DISLIKE){ $r = q("SELECT * from `item`,`contact` WHERE `item`.`contact-id`=`contact`.`id` AND `item`.`uri`='%s';", @@ -17,23 +16,42 @@ function localize_item(&$item){ $author = '[url=' . $item['author-link'] . ']' . $item['author-name'] . '[/url]'; $objauthor = '[url=' . $obj['author-link'] . ']' . $obj['author-name'] . '[/url]'; - $post_type = (($obj['resource-id']) ? t('photo') : t('status')); + 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]'; switch($item['verb']){ - case "http://activitystrea.ms/schema/1.0/like": + case ACTIVITY_LIKE : $bodyverb = t('%1$s likes %2$s\'s %3$s'); break; - case "http://activitystrea.ms/schema/1.0/dislike": + case ACTIVITY_DISLIKE: $bodyverb = t('%1$s doesn\'t like %2$s\'s %3$s'); break; } $item['body'] = sprintf($bodyverb, $author, $objauthor, $plink); } - if ($item['verb']=='http://activitystrea.ms/schema/1.0/make-friend'){ + if ($item['verb']=== ACTIVITY_FRIEND){ - if ($item['object-type']=="" || $item['object-type']!='http://activitystrea.ms/schema/1.0/person') return; + if ($item['object-type']=="" || $item['object-type']!== ACTIVITY_OBJ_PERSON) return; $Aname = $item['author-name']; $Alink = $item['author-link']; @@ -91,42 +109,48 @@ function conversation(&$a, $items, $mode, $update) { $page_writeable = can_write_wall($a,$profile_owner); } + if($mode === 'notes') { + $profile_owner = $a->profile['profile_uid']; + $page_writeable = true; + } + if($mode === 'display') { $profile_owner = $a->profile['uid']; $page_writeable = can_write_wall($a,$profile_owner); } + if($mode === 'community') { + $profile_owner = 0; + $page_writeable = false; + } + if($update) $return_url = $_SESSION['return_url']; 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'); + $droptpl = get_markup_template('wall_item_drop.tpl'); + $fakedrop = get_markup_template('wall_fake_drop.tpl'); $alike = array(); $dlike = array(); if(count($items)) { - if($mode === 'network-new' || $mode === 'search') { + if($mode === 'network-new' || $mode === 'search' || $mode === 'community') { // "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'); foreach($items as $item) { @@ -136,7 +160,7 @@ function conversation(&$a, $items, $mode, $update) { $owner_name = ''; $sparkle = ''; - if($mode === 'search') { + if($mode === 'search' || $mode === 'community') { if(((activity_match($item['verb'],ACTIVITY_LIKE)) || (activity_match($item['verb'],ACTIVITY_DISLIKE))) && ($item['id'] != $item['parent'])) continue; @@ -146,23 +170,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'] . '' : ''); @@ -174,18 +195,18 @@ function conversation(&$a, $items, $mode, $update) { } $drop = ''; - $dropping = false; - - if((intval($item['contact-id']) && $item['contact-id'] == remote_user()) || ($item['uid'] == local_user())) - $dropping = true; - - $drop = replace_macros((($dropping)? $droptpl : $fakedrop), array('$id' => $item['id'], '$delete' => t('Delete'))); - // localize_item($item); + if($mode === 'network-new') + $t = $droptpl; + else + $t = $fakedrop; - $drop = replace_macros($droptpl,array('$id' => $item['id'])); + $drop = replace_macros($t,array('$id' => $item['id'])); $lock = '
'; + $star = ''; + + $body = prepare_body($item,true); $o .= replace_macros($tpl,array( '$id' => $item['item_id'], @@ -197,13 +218,14 @@ function conversation(&$a, $items, $mode, $update) { '$lock' => $lock, '$thumb' => $profile_avatar, '$title' => $item['title'], - '$body' => smilies(bbcode($item['body'])), - '$ago' => relative_date($item['created']), + '$body' => $body, + '$ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])), '$location' => $location, '$indent' => '', '$owner_url' => $owner_url, '$owner_photo' => $owner_photo, '$owner_name' => $owner_name, + '$star' => $star, '$drop' => $drop, '$conv' => '' . t('View in context') . '' )); @@ -271,11 +293,11 @@ function conversation(&$a, $items, $mode, $update) { $item_writeable = (($item['writable'] || $item['self']) ? true : false); - if($blowhard == $item['cid'] && (! $item['self']) && ($mode != 'profile')) { + if($blowhard == $item['cid'] && (! $item['self']) && ($mode != 'profile') && ($mode != 'notes')) { $blowhard_count ++; if($blowhard_count == 3) { $o .= '' . '