From c0a08063d679042d5616127f39632241d73604fe Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 1 Apr 2013 14:04:56 +0400 Subject: [PATCH] api: do not return Labels category when there are no labels (closes #651) --- classes/api.php | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/classes/api.php b/classes/api.php index 0e56e58f..d3b61c15 100644 --- a/classes/api.php +++ b/classes/api.php @@ -165,12 +165,14 @@ class API extends Handler { } foreach (array(-2,-1,0) as $cat_id) { - $unread = getFeedUnread($this->link, $cat_id, true); + if ($include_empty || !$this->isCategoryEmpty($cat_id)) { + $unread = getFeedUnread($this->link, $cat_id, true); - if ($unread || !$unread_only) { - array_push($cats, array("id" => $cat_id, - "title" => getCategoryTitle($this->link, $cat_id), - "unread" => $unread)); + if ($unread || !$unread_only) { + array_push($cats, array("id" => $cat_id, + "title" => getCategoryTitle($this->link, $cat_id), + "unread" => $unread)); + } } } @@ -724,6 +726,22 @@ class API extends Handler { } } + + // only works for labels for the time being + private function isCategoryEmpty($id) { + + if ($id == -2) { + $result = db_query($this->link, "SELECT COUNT(*) AS count FROM ttrss_labels2 + WHERE owner_uid = " . $_SESSION["uid"]); + + return db_fetch_result($result, 0, "count") == 0; + + } + + return false; + } + + } ?> -- 2.39.2