From 8654b39e986481155aaed297dc090f4ca7589e4c Mon Sep 17 00:00:00 2001
From: Michael <heluecht@pirati.ca>
Date: Sat, 7 Jan 2023 18:07:54 +0000
Subject: [PATCH] Simplified code

---
 mod/item.php | 29 ++++++++++-------------------
 1 file changed, 10 insertions(+), 19 deletions(-)

diff --git a/mod/item.php b/mod/item.php
index b7ae4d2123..9a9b5e8db3 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -141,7 +141,8 @@ function item_edit(int $uid, array $request, bool $preview, string $return_path)
 
 function item_insert(int $uid, array $request, bool $preview, string $return_path)
 {
-	$emailcc = trim($request['emailcc']  ?? '');
+	$emailcc   = trim($request['emailcc']  ?? '');
+	$parent_id = intval($request['parent'] ?? 0);
 
 	$post = ['uid' => $uid];
 	$post = DI::contentItem()->initializePost($post);
@@ -149,7 +150,6 @@ function item_insert(int $uid, array $request, bool $preview, string $return_pat
 	$post['edit']      = null;
 	$post['post-type'] = $request['post_type'] ?? '';
 	$post['wall']      = $request['wall'] ?? true;
-	$post['parent']    = intval($request['parent'] ?? 0);
 	$post['pubmail']   = $request['pubmail_enable'] ?? false;
 	$post['created']   = $request['created_at'] ?? DateTimeFormat::utcNow();
 	$post['edited']    = $post['changed'] = $post['commented'] = $post['created'];
@@ -158,23 +158,18 @@ function item_insert(int $uid, array $request, bool $preview, string $return_pat
 	$post['postopts']  = '';
 	$post['file']      = '';
 
-	if ($post['parent']) {
-		if ($post['parent']) {
-			$parent_item = Post::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post['parent']]);
-		}
-
-		// if this isn't the top-level parent of the conversation, find it
+	if ($parent_id) {
+		$parent_item = Post::selectFirst(Item::ITEM_FIELDLIST, ['id' => $parent_id]);
 		if (DBA::isResult($parent_item)) {
-			// The URI and the contact is taken from the direct parent which needn't to be the top parent
-			$post['thr-parent'] = $parent_item['uri'];
-			$toplevel_item = $parent_item;
-
+			// if this isn't the top-level parent of the conversation, find it
 			if ($parent_item['gravity'] != Item::GRAVITY_PARENT) {
-				$toplevel_item = Post::selectFirst(Item::ITEM_FIELDLIST, ['id' => $toplevel_item['parent']]);
+				$toplevel_item = Post::selectFirst(Item::ITEM_FIELDLIST, ['id' => $parent_item['parent']]);
+			} else {
+				$toplevel_item = $parent_item;
 			}
 		}
 
-		if (!DBA::isResult($toplevel_item)) {
+		if (empty($toplevel_item)) {
 			DI::sysmsg()->addNotice(DI::l10n()->t('Unable to locate original post.'));
 			if ($return_path) {
 				DI::baseUrl()->redirect($return_path);
@@ -187,17 +182,13 @@ function item_insert(int $uid, array $request, bool $preview, string $return_pat
 		if ($toplevel_item['uid'] == 0) {
 			$stored = Item::storeForUserByUriId($toplevel_item['uri-id'], $post['uid'], ['post-reason' => Item::PR_ACTIVITY]);
 			Logger::info('Public item stored for user', ['uri-id' => $toplevel_item['uri-id'], 'uid' => $post['uid'], 'stored' => $stored]);
-			if ($stored) {
-				$toplevel_item = Post::selectFirst(Item::ITEM_FIELDLIST, ['id' => $stored]);
-			}
 		}
 
-		$post['parent']      = $toplevel_item['id'];
 		$post['gravity']     = Item::GRAVITY_COMMENT;
+		$post['thr-parent']  = $parent_item['uri'];
 		$post['wall']        = $toplevel_item['wall'];
 	} else {
 		$parent_item         = [];
-		$post['parent']      = 0;
 		$post['gravity']     = Item::GRAVITY_PARENT;
 		$post['thr-parent']  = $post['uri'];
 	}