From 53aff642cabbe5d72f0395f48e77121111e314ff Mon Sep 17 00:00:00 2001
From: Andrew Dolgov <fox@bah.org.ru>
Date: Wed, 16 Dec 2009 14:16:56 +0300
Subject: [PATCH] api: show virtual feeds in getFeeds (fixes)

---
 api/index.php | 28 ++++++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

diff --git a/api/index.php b/api/index.php
index f0f7aa202..6cae30871 100644
--- a/api/index.php
+++ b/api/index.php
@@ -121,7 +121,9 @@
 				}
 			}
 
-			if (!$cat_id || $cat_id == -1) {
+			/* Labels */
+
+			if (!$cat_id || $cat_id == -2) {
 				$counters = getLabelCounters($link, false, true);
 
 				foreach (array_keys($counters) as $id) {
@@ -134,7 +136,7 @@
 								"id" => $id,
 								"title" => $counters[$id]["description"],
 								"unread" => $counters[$id]["counter"],
-								"cat_id" => -1,
+								"cat_id" => -2,
 							);
 	
 						array_push($feeds, $row);
@@ -142,6 +144,27 @@
 				}
 			}
 
+			/* Virtual feeds */
+
+			if (!$cat_id || $cat_id == -1) {
+				foreach (array(-1, -2, -3, -4) as $i) {
+					$unread = getFeedUnread($link, $i);
+
+					if ($unread || !$unread_only) {
+						$title = getFeedTitle($link, $i);
+
+						$row = array(
+								"id" => $i,
+								"title" => $title,
+								"unread" => $unread,
+								"cat_id" => -1,
+							);
+						array_push($feeds, $row);
+					}
+
+				}
+			}
+
 			print json_encode($feeds);
 
 			break;
@@ -276,6 +299,7 @@
 				$article = array(
 					"title" => $line["title"],
 					"link" => $line["link"],
+					"labels" => get_article_labels($link, $article_id),
 					"unread" => sql_bool_to_bool($line["unread"]),
 					"marked" => sql_bool_to_bool($line["marked"]),
 					"published" => sql_bool_to_bool($line["published"]),
-- 
GitLab