summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-10-17 20:00:36 +0400
committerAndrew Dolgov <[email protected]>2012-10-17 20:00:36 +0400
commitbda6afa22b4600176ada9a33554aa9d0944938ed (patch)
tree4688b27904c3ed21d5dfc325e1ef452d976302c9 /include
parentce5652160ea212bb5c99e98df9753ecb590fb02f (diff)
catchup_feed: properly mark subcategories as read
Diffstat (limited to 'include')
-rw-r--r--include/functions.php24
1 files changed, 11 insertions, 13 deletions
diff --git a/include/functions.php b/include/functions.php
index 05c36b02b..a80d09cbf 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -1233,24 +1233,22 @@
if ($feed >= 0) {
if ($feed > 0) {
- $cat_qpart = "cat_id = '$feed'";
+ $children = getChildCategories($link, $feed, $owner_uid);
+ array_push($children, $feed);
+
+ $children = join(",", $children);
+
+ $cat_qpart = "cat_id IN ($children)";
} else {
$cat_qpart = "cat_id IS NULL";
}
- $tmp_result = db_query($link, "SELECT id
- FROM ttrss_feeds WHERE $cat_qpart AND owner_uid = $owner_uid");
-
- while ($tmp_line = db_fetch_assoc($tmp_result)) {
-
- $tmp_feed = $tmp_line["id"];
+ db_query($link, "UPDATE ttrss_user_entries
+ SET unread = false,last_read = NOW()
+ WHERE feed_id IN (SELECT id FROM ttrss_feeds WHERE $cat_qpart)
+ AND $ref_check_qpart
+ AND owner_uid = $owner_uid");
- db_query($link, "UPDATE ttrss_user_entries
- SET unread = false,last_read = NOW()
- WHERE feed_id = '$tmp_feed'
- AND $ref_check_qpart
- AND owner_uid = $owner_uid");
- }
} else if ($feed == -2) {
db_query($link, "UPDATE ttrss_user_entries