From 4d65b7dfc523e4646bc44dab6a83f673a1233cc0 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 19 Nov 2010 15:34:14 +0300 Subject: [PATCH] feeds: fix JSON output when there are no subscribed feeds --- functions.php | 89 ++++++++++++++++++++++++++------------------------- 1 file changed, 46 insertions(+), 43 deletions(-) diff --git a/functions.php b/functions.php index 1d1b2440..db43487d 100644 --- a/functions.php +++ b/functions.php @@ -4261,7 +4261,6 @@ $feedlist['items'] = array_merge($feedlist['items'], $cat['items']); } } - /* if (get_pref($link, 'ENABLE_FEED_CATS')) { if (get_pref($link, "FEEDS_SORT_BY_UNREAD")) { @@ -4277,6 +4276,8 @@ } } */ + /* real feeds */ + if ($enable_cats) $order_by_qpart = "ttrss_feed_categories.order_id,category, ttrss_feeds.order_id,title"; @@ -4304,54 +4305,56 @@ $actid = $_REQUEST["actid"]; - /* real feeds */ - - $category = ""; - - if (!$enable_cats) - $cat['items'] = array(); - else - $cat = false; + if (db_num_rows($result) > 0) { - while ($line = db_fetch_assoc($result)) { + $category = ""; + + if (!$enable_cats) + $cat['items'] = array(); + else + $cat = false; + + while ($line = db_fetch_assoc($result)) { + + $feed = htmlspecialchars(trim($line["title"])); + + if (!$feed) $feed = "[Untitled]"; + + $feed_id = $line["id"]; + $unread = $line["unread"]; + + $cat_id = $line["cat_id"]; + $tmp_category = $line["category"]; + if (!$tmp_category) $tmp_category = __("Uncategorized"); + + if ($category != $tmp_category && $enable_cats) { - $feed = htmlspecialchars(trim($line["title"])); - - if (!$feed) $feed = "[Untitled]"; - - $feed_id = $line["id"]; - $unread = $line["unread"]; - - $cat_id = $line["cat_id"]; - $tmp_category = $line["category"]; - if (!$tmp_category) $tmp_category = __("Uncategorized"); - - if ($category != $tmp_category && $enable_cats) { + $category = $tmp_category; - $category = $tmp_category; - - $collapsed = sql_bool_to_bool($line["collapsed"]); - - // workaround for NULL category - if ($category == __("Uncategorized")) { - $collapsed = get_pref($link, "_COLLAPSED_UNCAT"); + $collapsed = sql_bool_to_bool($line["collapsed"]); + + // workaround for NULL category + if ($category == __("Uncategorized")) { + $collapsed = get_pref($link, "_COLLAPSED_UNCAT"); + } + + if ($cat) array_push($feedlist['items'], $cat); + + $cat = feedlist_init_cat($link, $cat_id, $collapsed); } - - if ($cat) array_push($feedlist['items'], $cat); - - $cat = feedlist_init_cat($link, $cat_id, $collapsed); + + $updated = make_local_datetime($link, $line["updated_noms"], false); + + array_push($cat['items'], feedlist_init_feed($link, $feed_id, + $feed, $unread, $line['last_error'], $updated)); + } + + if ($enable_cats) { + array_push($feedlist['items'], $cat); + } else { + $feedlist['items'] = array_merge($feedlist['items'], $cat['items']); } - $updated = make_local_datetime($link, $line["updated_noms"], false); - - array_push($cat['items'], feedlist_init_feed($link, $feed_id, - $feed, $unread, $line['last_error'], $updated)); - } - - if ($enable_cats) { - array_push($feedlist['items'], $cat); - } else { - $feedlist['items'] = array_merge($feedlist['items'], $cat['items']); } return $feedlist; -- 2.39.5