summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-03-30 21:45:24 +0400
committerAndrew Dolgov <[email protected]>2013-03-30 21:45:24 +0400
commitaa5ac2cd3ae790690cb1154a81ffc06e45fd1bfb (patch)
tree078bae8af79f068ae990deeb89b7265350bfb558 /classes
parent749da11bbe94e7c33d8f2b03feafedddeed2c971 (diff)
do not create duplicate archived feeds on unsubscribe, file entries into already existing archive entry
Diffstat (limited to 'classes')
-rw-r--r--classes/pref/feeds.php15
1 files changed, 12 insertions, 3 deletions
diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php
index 1ec0b7b54..7895a0396 100644
--- a/classes/pref/feeds.php
+++ b/classes/pref/feeds.php
@@ -1702,18 +1702,27 @@ class Pref_Feeds extends Handler_Protected {
/* prepare feed if necessary */
+ $result = db_query($link, "SELECT feed_url FROM ttrss_feeds WHERE id = $id
+ AND owner_uid = $owner_uid");
+
+ $feed_url = db_escape_string($link, db_fetch_result($result, 0, "feed_url"));
+
$result = db_query($link, "SELECT id FROM ttrss_archived_feeds
- WHERE id = '$id'");
+ WHERE feed_url = '$feed_url' AND owner_uid = $owner_uid");
if (db_num_rows($result) == 0) {
db_query($link, "INSERT INTO ttrss_archived_feeds
(id, owner_uid, title, feed_url, site_url)
SELECT id, owner_uid, title, feed_url, site_url from ttrss_feeds
- WHERE id = '$id'");
+ WHERE id = '$id'");
+
+ $archive_id = $id;
+ } else {
+ $archive_id = db_fetch_result($result, 0, "id");
}
db_query($link, "UPDATE ttrss_user_entries SET feed_id = NULL,
- orig_feed_id = '$id' WHERE feed_id = '$id' AND
+ orig_feed_id = '$archive_id' WHERE feed_id = '$id' AND
marked = true AND owner_uid = $owner_uid");
/* Remove access key for the feed */