]> git.mxchange.org Git - friendica.git/commitdiff
Simplified code
authorMichael <heluecht@pirati.ca>
Sat, 7 Jan 2023 18:07:54 +0000 (18:07 +0000)
committerMichael <heluecht@pirati.ca>
Sat, 7 Jan 2023 18:07:54 +0000 (18:07 +0000)
mod/item.php

index b7ae4d2123471039992d5cd567caabdbc0abe9cb..9a9b5e8db3bf737f563a5b894ca782a62aaf8f74 100644 (file)
@@ -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'];
        }