summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMarco Nassabain <marco.nassabain@hotmail.com>2021-03-05 21:33:33 +0100
committerSean Molenaar <SMillerDev@users.noreply.github.com>2021-04-08 22:31:21 +0200
commite5d439ee7e9af74c787f8c5588c7caeb744131d6 (patch)
tree22ccf4a0d6bb8782fe953504a766bc417d1a5ce4 /lib
parent5c5578b16ec53701fbe7a5b5d669dce04bcf9393 (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>
Diffstat (limited to 'lib')
-rw-r--r--lib/Db/Item.php25
-rw-r--r--lib/Service/ShareService.php1
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);