From e5d439ee7e9af74c787f8c5588c7caeb744131d6 Mon Sep 17 00:00:00 2001 From: Marco Nassabain Date: Fri, 5 Mar 2021 21:33:33 +0100 Subject: =?UTF-8?q?=F0=9F=9A=91=20Fix=20newsItem=20insert=20error=20-=20ad?= =?UTF-8?q?d=20Item::=5F=5Fclone=20method=20resetting=20updated=20fields?= =?UTF-8?q?=20-=20set=20item=20id=20to=20null=20in=20ShareService?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marco Nassabain --- lib/Db/Item.php | 25 +++++++++++++++++++++++++ lib/Service/ShareService.php | 1 + 2 files changed, 26 insertions(+) (limited to 'lib') 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); -- cgit v1.2.3