Fix bug JSON import duplicates

https://github.com/FreshRSS/FreshRSS/issues/1312
This commit is contained in:
Alexandre Alapetite
2016-10-15 01:27:39 +02:00
parent 7ec73a91bc
commit a0127d980c

View File

@@ -360,6 +360,14 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
}
}
$newGuids = array();
foreach ($article_object['items'] as $item) {
$newGuids[] = $item['id'];
}
// For this feed, check existing GUIDs already in database.
$existingHashForGuids = $entryDAO->listHashForFeedGuids($feed->id(), $newGuids);
unset($newGuids);
// Then, articles are imported.
$this->entryDAO->beginTransaction();
foreach ($article_object['items'] as $item) {
@@ -395,7 +403,11 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
}
$values = $entry->toArray();
$id = $this->entryDAO->addEntry($values);
if (isset($existingHashForGuids[$entry->guid()])) {
$id = $this->entryDAO->updateEntry($values);
} else {
$id = $this->entryDAO->addEntry($values);
}
if (!$error && ($id === false)) {
$error = true;