summaryrefslogtreecommitdiff
path: root/backend.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2005-12-29 07:23:03 +0100
committerAndrew Dolgov <[email protected]>2005-12-29 07:23:03 +0100
commitf33371c09fa438cef258ea38bc4571440d47fd8e (patch)
tree3928d35aa73f5c386792395503b258c8b83bd322 /backend.php
parentdb42b934a1edbdcfc7e8b0274f9addaa62287c6e (diff)
catchup for linked feeds
Diffstat (limited to 'backend.php')
-rw-r--r--backend.php27
1 files changed, 24 insertions, 3 deletions
diff --git a/backend.php b/backend.php
index 122a6745c..cea4236a9 100644
--- a/backend.php
+++ b/backend.php
@@ -991,9 +991,30 @@
if (sprintf("%d", $feed) != 0) {
if ($feed > 0) {
- db_query($link, "UPDATE ttrss_user_entries
- SET unread = false,last_read = NOW()
- WHERE feed_id = '$feed' AND owner_uid = " . $_SESSION["uid"]);
+
+ $tmp_result = db_query($link, "SELECT id
+ FROM ttrss_feeds WHERE parent_feed = '$feed'
+ ORDER BY cat_id,title");
+
+ $parent_ids = array();
+
+ if (db_num_rows($tmp_result) > 0) {
+ while ($p = db_fetch_assoc($tmp_result)) {
+ array_push($parent_ids, "feed_id = " . $p["id"]);
+ }
+
+ $children_qpart = implode(" OR ", $parent_ids);
+
+ db_query($link, "UPDATE ttrss_user_entries
+ SET unread = false,last_read = NOW()
+ WHERE (feed_id = '$feed' OR $children_qpart)
+ AND owner_uid = " . $_SESSION["uid"]);
+
+ } else {
+ db_query($link, "UPDATE ttrss_user_entries
+ SET unread = false,last_read = NOW()
+ WHERE feed_id = '$feed' AND owner_uid = " . $_SESSION["uid"]);
+ }
} else if ($feed < 0 && $feed > -10) { // special, like starred