diff options
author | Andrew Dolgov <[email protected]> | 2012-10-17 20:00:36 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2012-10-17 20:00:36 +0400 |
commit | bda6afa22b4600176ada9a33554aa9d0944938ed (patch) | |
tree | 4688b27904c3ed21d5dfc325e1ef452d976302c9 /include | |
parent | ce5652160ea212bb5c99e98df9753ecb590fb02f (diff) |
catchup_feed: properly mark subcategories as read
Diffstat (limited to 'include')
-rw-r--r-- | include/functions.php | 24 |
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 |