From: Andrew Dolgov Date: Wed, 17 Oct 2012 16:00:36 +0000 (+0400) Subject: catchup_feed: properly mark subcategories as read X-Git-Tag: 1.6.0~4 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=bda6afa22b4600176ada9a33554aa9d0944938ed;p=tt-rss.git catchup_feed: properly mark subcategories as read --- diff --git a/include/functions.php b/include/functions.php index 05c36b02..a80d09cb 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