]> git.mxchange.org Git - friendica.git/blobdiff - mod/item.php
Merge pull request #9843 from annando/no-filetag
[friendica.git] / mod / item.php
index ed4e50348d0d0d00263864c9b05fb1ba92c15694..68fa6fbf6dfe284ea529e8907d13149ffb8830e7 100644 (file)
@@ -114,9 +114,9 @@ function item_post(App $a) {
 
        if ($parent_item_id || $thr_parent_uri) {
                if ($parent_item_id) {
-                       $parent_item = Item::selectFirst([], ['id' => $parent_item_id]);
+                       $parent_item = Post::selectFirst([], ['id' => $parent_item_id]);
                } elseif ($thr_parent_uri) {
-                       $parent_item = Item::selectFirst([], ['uri' => $thr_parent_uri, 'uid' => $profile_uid]);
+                       $parent_item = Post::selectFirst([], ['uri' => $thr_parent_uri, 'uid' => $profile_uid]);
                }
 
                // if this isn't the top-level parent of the conversation, find it
@@ -126,7 +126,7 @@ function item_post(App $a) {
                        $toplevel_item = $parent_item;
 
                        if ($parent_item['gravity'] != GRAVITY_PARENT) {
-                               $toplevel_item = Item::selectFirst([], ['id' => $toplevel_item['parent']]);
+                               $toplevel_item = Post::selectFirst([], ['id' => $toplevel_item['parent']]);
                        }
                }
 
@@ -144,7 +144,7 @@ function item_post(App $a) {
                        $stored = Item::storeForUserByUriId($toplevel_item['uri-id'], local_user());
                        Logger::info('Public item stored for user', ['uri-id' => $toplevel_item['uri-id'], 'uid' => $uid, 'stored' => $stored]);
                        if ($stored) {
-                               $toplevel_item = Item::selectFirst([], ['id' => $stored]);
+                               $toplevel_item = Post::selectFirst([], ['id' => $stored]);
                        }
                }
 
@@ -193,7 +193,7 @@ function item_post(App $a) {
 
        // is this an edited post?
        if ($post_id > 0) {
-               $orig_post = Item::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
+               $orig_post = Post::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
        }
 
        $user = User::getById($profile_uid, ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid']);
@@ -252,7 +252,7 @@ function item_post(App $a) {
                $verb              = $orig_post['verb'];
                $objecttype        = $orig_post['object-type'];
                $app               = $orig_post['app'];
-               $categories        = $orig_post['file'] ?? '';
+               $categories        = Post\Category::getTextByURIId($orig_post['uri-id'], $orig_post['uid']);
                $title             = trim($_REQUEST['title'] ?? '');
                $body              = trim($body);
                $private           = $orig_post['private'];
@@ -344,10 +344,7 @@ function item_post(App $a) {
                $filedas = FileTag::fileToArray($categories);
        }
 
-       // save old and new categories, so we can determine what needs to be deleted from pconfig
-       $categories_old = $categories;
        $categories = FileTag::listToFile(trim($_REQUEST['category'] ?? ''), 'category');
-       $categories_new = $categories;
 
        if (!empty($filedas) && is_array($filedas)) {
                // append the fileas stuff to the new categories list
@@ -623,6 +620,7 @@ function item_post(App $a) {
 
        // This field is for storing the raw conversation data
        $datarray['protocol'] = Conversation::PARCEL_DIRECT;
+       $datarray['direction'] = Conversation::PUSH;
 
        $conversation = DBA::selectFirst('conversation', ['conversation-uri', 'conversation-href'], ['item-uri' => $datarray['thr-parent']]);
        if (DBA::isResult($conversation)) {
@@ -695,9 +693,6 @@ function item_post(App $a) {
 
                Item::update($fields, ['id' => $post_id]);
 
-               // update filetags in pconfig
-               FileTag::updatePconfig($uid, $categories_old, $categories_new, 'category');
-
                if ($return_path) {
                        DI::baseUrl()->redirect($return_path);
                }
@@ -727,7 +722,7 @@ function item_post(App $a) {
                throw new HTTPException\InternalServerErrorException(DI::l10n()->t('Item wasn\'t stored.'));
        }
 
-       $datarray = Item::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
+       $datarray = Post::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
 
        if (!DBA::isResult($datarray)) {
                Logger::error('Item couldn\'t be fetched.', ['post_id' => $post_id]);
@@ -744,9 +739,6 @@ function item_post(App $a) {
                Tag::createImplicitMentions($datarray['uri-id'], $datarray['thr-parent-id']);
        }
 
-       // update filetags in pconfig
-       FileTag::updatePconfig($uid, $categories_old, $categories_new, 'category');
-
        // These notifications are sent if someone else is commenting other your wall
        if ($contact_record != $author) {
                if ($toplevel_item_id) {
@@ -860,7 +852,7 @@ function drop_item(int $id, string $return = '')
 {
        // locate item to be deleted
        $fields = ['id', 'uid', 'guid', 'contact-id', 'deleted', 'gravity', 'parent'];
-       $item = Item::selectFirstForUser(local_user(), $fields, ['id' => $id]);
+       $item = Post::selectFirstForUser(local_user(), $fields, ['id' => $id]);
 
        if (!DBA::isResult($item)) {
                notice(DI::l10n()->t('Item not found.'));
@@ -880,7 +872,7 @@ function drop_item(int $id, string $return = '')
 
        if ((local_user() == $item['uid']) || $contact_id) {
                if (!empty($item['parent'])) {
-                       $parentitem = Item::selectFirstForUser(local_user(), ['guid'], ['id' => $item['parent']]);
+                       $parentitem = Post::selectFirstForUser(local_user(), ['guid'], ['id' => $item['parent']]);
                }
 
                // delete the item