X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=352060d7f246f17a88ea8eedc1811a07a4a192a2;hb=9191daf12f6773b190257db866821cc6ee89368a;hp=6a6eff28dc2c2d0dded37fafa7de0eb5f3e43079;hpb=37d5bc1a51312dd4de3438843eb1b521444b5398;p=friendica.git diff --git a/include/conversation.php b/include/conversation.php index 6a6eff28dc..352060d7f2 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -22,6 +22,7 @@ use Friendica\App; use Friendica\Content\ContactSelector; use Friendica\Content\Feature; +use Friendica\Core\ACL; use Friendica\Core\Hook; use Friendica\Core\Logger; use Friendica\Core\Protocol; @@ -34,6 +35,7 @@ use Friendica\Model\Contact; use Friendica\Model\Item; use Friendica\Model\Post; use Friendica\Model\Tag; +use Friendica\Model\User; use Friendica\Model\Verb; use Friendica\Object\Post as PostObject; use Friendica\Object\Thread; @@ -479,7 +481,7 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o $body_html = Item::prepareBody($item, true, $preview); - list($categories, $folders) = DI::contentItem()->determineCategoriesTerms($item); + list($categories, $folders) = DI::contentItem()->determineCategoriesTerms($item, local_user()); if (!empty($item['content-warning']) && DI::pConfig()->get(local_user(), 'system', 'disable_cw', false)) { $title = ucfirst($item['content-warning']); @@ -717,7 +719,7 @@ function conversation_add_children(array $parents, $block_authors, $order, $uid) $max_comments = DI::config()->get('system', 'max_display_comments', 1000); } - $params = ['order' => ['uri-id' => true]]; + $params = ['order' => ['uri-id' => true, 'uid' => true]]; $activities = []; $uriids = []; @@ -757,6 +759,10 @@ function conversation_add_children(array $parents, $block_authors, $order, $uid) $items = []; while ($row = Post::fetch($thread_items)) { + if (!empty($items[$row['uri-id']]) && ($row['uid'] == 0)) { + continue; + } + if ($max_comments > 0) { if (($row['gravity'] == GRAVITY_COMMENT) && (++$commentcounter[$row['parent-uri-id']] > $max_comments)) { continue; @@ -765,7 +771,7 @@ function conversation_add_children(array $parents, $block_authors, $order, $uid) continue; } } - $items[] = conversation_add_row_information($row, $activities[$row['uri-id']] ?? []); + $items[$row['uri-id']] = conversation_add_row_information($row, $activities[$row['uri-id']] ?? []); } DBA::close($thread_items); @@ -1060,11 +1066,27 @@ function format_activity(array $links, $verb, $id) { return $o; } -function status_editor(App $a, $x, $notes_cid = 0, $popup = false) +function status_editor(App $a, array $x = [], $notes_cid = 0, $popup = false) { + $user = User::getById($a->getLoggedInUserId(), ['uid', 'nickname', 'allow_location', 'default-location']); + if (empty($user['uid'])) { + return ''; + } + DI::profiler()->startRecording('rendering'); $o = ''; + $x['allow_location'] = $x['allow_location'] ?? $user['allow_location']; + $x['default_location'] = $x['default_location'] ?? $user['default-location']; + $x['nickname'] = $x['nickname'] ?? $user['nickname']; + $x['lockstate'] = $x['lockstate'] ?? ACL::getLockstateForUserId($user['uid']) ? 'lock' : 'unlock'; + $x['acl'] = $x['acl'] ?? ACL::getFullSelectorHTML(DI::page(), $user['uid'], true); + $x['bang'] = $x['bang'] ?? ''; + $x['visitor'] = $x['visitor'] ?? 'block'; + $x['is_owner'] = $x['is_owner'] ?? true; + $x['profile_uid'] = $x['profile_uid'] ?? local_user(); + + $geotag = !empty($x['allow_location']) ? Renderer::replaceMacros(Renderer::getMarkupTemplate('jot_geotag.tpl'), []) : ''; $tpl = Renderer::getMarkupTemplate('jot-header.tpl');