diff options
author | Marco Nassabain <marco.nassabain@hotmail.com> | 2021-03-05 21:33:33 +0100 |
---|---|---|
committer | Sean Molenaar <SMillerDev@users.noreply.github.com> | 2021-04-08 22:31:21 +0200 |
commit | e5d439ee7e9af74c787f8c5588c7caeb744131d6 (patch) | |
tree | 22ccf4a0d6bb8782fe953504a766bc417d1a5ce4 | |
parent | 5c5578b16ec53701fbe7a5b5d669dce04bcf9393 (diff) |
🚑 Fix newsItem insert error
- add Item::__clone method resetting updated fields
- set item id to null in ShareService
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
-rw-r--r-- | lib/Db/Item.php | 25 | ||||
-rw-r--r-- | lib/Service/ShareService.php | 1 |
2 files changed, 26 insertions, 0 deletions
diff --git a/lib/Db/Item.php b/lib/Db/Item.php index 86508ea72..730e387d1 100644 --- a/lib/Db/Item.php +++ b/lib/Db/Item.php @@ -96,6 +96,31 @@ class Item extends Entity implements IAPI, \JsonSerializable $this->addType('sharedBy', 'string'); } + public function __clone() + { + $this->resetUpdatedFields(); + $this->markFieldUpdated('contentHash'); + $this->markFieldUpdated('guidHash'); + $this->markFieldUpdated('guid'); + $this->markFieldUpdated('url'); + $this->markFieldUpdated('title'); + $this->markFieldUpdated('author'); + $this->markFieldUpdated('pubDate'); + $this->markFieldUpdated('body'); + $this->markFieldUpdated('enclosureMime'); + $this->markFieldUpdated('enclosureLink'); + $this->markFieldUpdated('mediaThumbnail'); + $this->markFieldUpdated('mediaDescription'); + $this->markFieldUpdated('feedId'); + $this->markFieldUpdated('lastModified'); + $this->markFieldUpdated('searchIndex'); + $this->markFieldUpdated('rtl'); + $this->markFieldUpdated('fingerprint'); + $this->markFieldUpdated('unread'); + $this->markFieldUpdated('starred'); + $this->markFieldUpdated('sharedBy'); + } + /** * @return int */ diff --git a/lib/Service/ShareService.php b/lib/Service/ShareService.php index 3127488a0..e88675a21 100644 --- a/lib/Service/ShareService.php +++ b/lib/Service/ShareService.php @@ -85,6 +85,7 @@ class ShareService $sharedItem = clone $item; // initialize fields + $sharedItem->setId(null); $sharedItem->setUnread(true); $sharedItem->setStarred(false); $sharedItem->setSharedBy($userId); |