From d9b44153da8d15f9ef035297126fbdf5129647e7 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Mon, 20 Aug 2018 22:32:55 +0200 Subject: [PATCH] The content generation for the display page is now using a centralized function (#5642) * The content generation for the display page is now using a centralized function * Small correction to avoid notices --- include/conversation.php | 1 + mod/display.php | 29 ++++++++++++++--------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index db14558871..90b5da5994 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -499,6 +499,7 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o . "; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; \r\n"; } } elseif ($mode === 'display') { + $items = conversation_add_children($items, false, $order, $uid); $profile_owner = $a->profile['uid']; if (!$update) { diff --git a/mod/display.php b/mod/display.php index 2d32eed5eb..907bf8ebba 100644 --- a/mod/display.php +++ b/mod/display.php @@ -333,35 +333,34 @@ function display_content(App $a, $update = false, $update_uid = 0) return ''; } - $condition = ["`item`.`parent-uri` = (SELECT `parent-uri` FROM `item` WHERE `id` = ?) - AND `item`.`uid` IN (0, ?) " . $sql_extra, $item_id, local_user()]; - $params = ['order' => ['uid', 'parent' => true, 'gravity', 'id']]; - $items_obj = Item::selectForUser(local_user(), [], $condition, $params); + $condition = ["`id` = ? AND `item`.`uid` IN (0, ?) " . $sql_extra, $item_id, local_user()]; + $fields = ['parent-uri', 'body', 'title', 'author-name', 'author-avatar', 'plink']; + $item = Item::selectFirstForUser(local_user(), $fields, $condition); - if (!DBA::isResult($items_obj)) { + if (!DBA::isResult($item)) { notice(L10n::t('Item not found.') . EOL); return $o; } + $item['uri'] = $item['parent-uri']; + if ($unseen) { $condition = ['parent-uri' => $item_parent_uri, 'uid' => local_user(), 'unseen' => true]; Item::update(['unseen' => false], $condition); } - $items = Item::inArray($items_obj); - $conversation_items = conv_sort($items, "`commented`"); - if (!$update) { $o .= ""; } - $o .= conversation($a, $conversation_items, 'display', $update_uid, false, 'commented', local_user()); + + $o .= conversation($a, [$item], 'display', $update_uid, false, 'commented', local_user()); // Preparing the meta header - $description = trim(HTML::toPlaintext(BBCode::convert($items[0]["body"], false), 0, true)); - $title = trim(HTML::toPlaintext(BBCode::convert($items[0]["title"], false), 0, true)); - $author_name = $items[0]["author-name"]; + $description = trim(HTML::toPlaintext(BBCode::convert($item["body"], false), 0, true)); + $title = trim(HTML::toPlaintext(BBCode::convert($item["title"], false), 0, true)); + $author_name = $item["author-name"]; - $image = $a->remove_baseurl($items[0]["author-avatar"]); + $image = $a->remove_baseurl($item["author-avatar"]); if ($title == "") { $title = $author_name; @@ -393,7 +392,7 @@ function display_content(App $a, $update = false, $update_uid = 0) $a->page['htmlhead'] .= ''."\n"; $a->page['htmlhead'] .= ''."\n"; $a->page['htmlhead'] .= ''."\n"; - $a->page['htmlhead'] .= ''."\n"; + $a->page['htmlhead'] .= ''."\n"; // Dublin Core $a->page['htmlhead'] .= ''."\n"; @@ -403,7 +402,7 @@ function display_content(App $a, $update = false, $update_uid = 0) $a->page['htmlhead'] .= ''."\n"; $a->page['htmlhead'] .= ''."\n"; $a->page['htmlhead'] .= ''."\n"; - $a->page['htmlhead'] .= ''."\n"; + $a->page['htmlhead'] .= ''."\n"; $a->page['htmlhead'] .= ''."\n"; $a->page['htmlhead'] .= ''."\n"; // article:tag