aboutsummaryrefslogtreecommitdiff
path: root/app/Controllers/importExportController.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2017-09-24 13:02:15 +0200
committerGravatar GitHub <noreply@github.com> 2017-09-24 13:02:15 +0200
commita38bd3da8a25dc250793fdb3938ab89c366a0d07 (patch)
tree4cd58ec38337cdb014538a2ec1c84b6b340308be /app/Controllers/importExportController.php
parent0578abf310314c81c97c98b647c186459486801f (diff)
parent8cbb052758b02f266f42b6ba953c32419c0bcd4d (diff)
Merge pull request #1638 from Alkarex/tmp_unique_guids
Fix SQL constraint insert into entrytmp table
Diffstat (limited to 'app/Controllers/importExportController.php')
-rw-r--r--app/Controllers/importExportController.php7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/Controllers/importExportController.php b/app/Controllers/importExportController.php
index a69490e70..a76dd9a2b 100644
--- a/app/Controllers/importExportController.php
+++ b/app/Controllers/importExportController.php
@@ -426,7 +426,7 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
}
// For this feed, check existing GUIDs already in database.
$existingHashForGuids = $this->entryDAO->listHashForFeedGuids($feed->id(), $newGuids);
- unset($newGuids);
+ $newGuids = array();
// Then, articles are imported.
$this->entryDAO->beginTransaction();
@@ -455,6 +455,11 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
$entry->_id(min(time(), $entry->date(true)) . uSecString());
$entry->_tags($tags);
+ if (isset($newGuids[$entry->guid()])) {
+ continue; //Skip subsequent articles with same GUID
+ }
+ $newGuids[$entry->guid()] = true;
+
$entry = Minz_ExtensionManager::callHook('entry_before_insert', $entry);
if ($entry == null) {
// An extension has returned a null value, there is nothing to insert.