From ddb0a9a80a550019612c4b8ae1dac525c7a7c375 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 20 Jan 2009 09:21:05 +0100 Subject: UNDO: tmp fix for label counters calculation being wrong when hidden feeds are present --- functions.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'functions.php') diff --git a/functions.php b/functions.php index f11b91b7d..428d628d9 100644 --- a/functions.php +++ b/functions.php @@ -2644,15 +2644,22 @@ $owner_uid = $_SESSION["uid"]; - $result = db_query($link, "SELECT id, caption FROM ttrss_labels2 - WHERE owner_uid = '$owner_uid'"); + $result = db_query($link, + "SELECT ttrss_labels2.id, caption, COUNT(unread) AS unread FROM ttrss_labels2 + LEFT JOIN ttrss_user_labels2 ON (label_id = ttrss_labels2.id) + LEFT JOIN ttrss_user_entries ON (ref_id = article_id AND + unread = true AND + ttrss_user_entries.owner_uid = '$owner_uid') + LEFT JOIN ttrss_feeds ON (ttrss_feeds.id = feed_id AND hidden = false) + WHERE ttrss_labels2.owner_uid = '$owner_uid' + GROUP BY ttrss_labels2.id, caption"); while ($line = db_fetch_assoc($result)) { $id = -$line["id"] - 11; $label_name = $line["caption"]; - $count = getFeedUnread($link, $id); + $count = $line["unread"]; if (!$smart_mode || $old_counters[$id] != $count) { $old_counters[$id] = $count; -- cgit v1.2.3