* @file include/conversation.php
*/
use Friendica\App;
+use Friendica\Content\ContactSelector;
use Friendica\Content\Feature;
use Friendica\Core\Config;
use Friendica\Core\PConfig;
$page_dropping = ((local_user() && local_user() == $profile_owner) ? true : false);
-
- if ($update) {
- $return_url = $_SESSION['return_url'];
- } else {
- $return_url = $_SESSION['return_url'] = $a->query_string;
+ if (!$update) {
+ $_SESSION['return_url'] = $a->query_string;
}
$cb = array('items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview);
$items = $cb['items'];
- $cmnt_tpl = get_markup_template('comment_item.tpl');
- $hide_comments_tpl = get_markup_template('hide_comments.tpl');
-
$conv_responses = array(
'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'))
$writable = false;
}
- if ($mode === 'network-new' || $mode === 'search' || $community_readonly) {
+ if (in_array($mode, ['network-new', 'search', 'contact-posts']) || $community_readonly) {
/*
* "New Item View" on network page or search page results
$lock = false;
$likebuttons = false;
- $shareable = false;
$body = prepare_body($item, true, $preview);
'id' => (($preview) ? 'P0' : $item['item_id']),
'guid' => (($preview) ? 'Q0' : $item['guid']),
'network' => $item['item_network'],
- 'network_name' => network_to_name($item['item_network'], $profile_link),
+ 'network_name' => ContactSelector::networkToName($item['item_network'], $profile_link),
'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),
* this shouldn't be needed, as we should have only them in our array
* But for now, this array respects the old style, just in case
*/
- $threads = array();
foreach ($items as $item) {
-
if ($arr_blocked) {
$blocked = false;
foreach ($arr_blocked as $b) {
}
$threads = $conv->getTemplateData($conv_responses);
-
if (!$threads) {
logger('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG);
$threads = array();
);
$comments = dba::inArray($thread_items);
+ // Check if the original item is in the result.
+ // When commenting from the community page there can be incomplete threads
+ if (count($comments) > 0) {
+ $parent_found = false;
+ foreach ($comments as $comment) {
+ if ($comment['uri'] == $comment['parent-uri']) {
+ $parent_found = true;
+ break;
+ }
+ }
+ if (!$parent_found) {
+ $comments = array();
+ }
+ }
if (count($comments) == 0) {
$thread_items = dba::p(item_query()." AND `item`.`uid` = 0
$clean_url = normalise_link($item['author-link']);
if (local_user()) {
- $r = dba::select('contact', array('id'),
- array('network' => NETWORK_DFRN, 'uid' => local_user(), 'nurl' => normalise_link($clean_url), 'pending' => false),
- array('limit' => 1));
+ $r = dba::selectOne('contact', ['id'],
+ ['network' => NETWORK_DFRN, 'uid' => local_user(), 'nurl' => normalise_link($clean_url), 'pending' => false]);
if (DBM::is_result($r)) {
$best_url = 'redir/' . $r['id'];
$sparkle = true;
$status_link = '';
$photos_link = '';
$posts_link = '';
- $network = '';
if ((local_user()) && local_user() == $item['uid'] && $item['parent'] == $item['id'] && (! $item['self'])) {
$sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;';
$cid = 0;
$network = '';
$rel = 0;
- $r = dba::select('contact', array('id', 'network', 'rel'), array('uid' => local_user(), 'nurl' => normalise_link($item['author-link'])), array('limit' => 1));
+ $r = dba::selectOne('contact', array('id', 'network', 'rel'), array('uid' => local_user(), 'nurl' => normalise_link($item['author-link'])));
if (DBM::is_result($r)) {
$cid = $r['id'];
$network = $r['network'];
$status_link = $profile_link . '?url=status';
$photos_link = $profile_link . '?url=photos';
$profile_link = $profile_link . '?url=profile';
- $zurl = '';
} else {
$profile_link = zrl($profile_link);
}
break;
default:
return;
- break;
}
if ((activity_match($item['verb'], $verb)) && ($item['id'] != $item['parent'])) {
// ACL permissions box
'$acl' => $x['acl'],
- '$acl_data' => $x['acl_data'],
'$group_perms' => t('Post to Groups'),
'$contact_perms' => t('Post to Contacts'),
'$private' => t('Private post'),
return $ret;
}
-function get_response_button_text($v, $count) {
+function get_response_button_text($v, $count)
+{
switch ($v) {
case 'like':
- return tt('Like', 'Likes', $count, 'noun');
+ $return = tt('Like', 'Likes', $count);
break;
case 'dislike':
- return tt('Dislike', 'Dislikes', $count, 'noun');
+ $return = tt('Dislike', 'Dislikes', $count);
break;
case 'attendyes':
- return tt('Attending', 'Attending', $count, 'noun');
+ $return = tt('Attending', 'Attending', $count);
break;
case 'attendno':
- return tt('Not Attending', 'Not Attending', $count, 'noun');
+ $return = tt('Not Attending', 'Not Attending', $count);
break;
case 'attendmaybe':
- return tt('Undecided', 'Undecided', $count, 'noun');
+ $return = tt('Undecided', 'Undecided', $count);
break;
}
+
+ return $return;
}