api: do not return Labels category when there are no labels (closes #651)

This commit is contained in:
Andrew Dolgov 2013-04-01 14:04:56 +04:00
parent 417591034a
commit c0a08063d6
1 changed files with 23 additions and 5 deletions

View File

@ -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;
}
}
?>