]> git.wh0rd.org - tt-rss.git/commitdiff
api: add include_empty to getCategories/getFeedTree
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Thu, 28 Mar 2013 11:28:37 +0000 (15:28 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Thu, 28 Mar 2013 11:28:37 +0000 (15:28 +0400)
classes/api.php
classes/pref/feeds.php

index 1efa3865f5d3ae96b4b787818cd9d2e7f8f4b8b5..d1733842cd6480007d3d4d55223b2fe225290bb4 100644 (file)
@@ -125,6 +125,7 @@ class API extends Handler {
        function getCategories() {
                $unread_only = sql_bool_to_bool($_REQUEST["unread_only"]);
                $enable_nested = sql_bool_to_bool($_REQUEST["enable_nested"]);
+               $include_empty = (int)$_REQUEST['include_empty'];
 
                // TODO do not return empty categories, return Uncategorized and standard virtual cats
 
@@ -147,7 +148,7 @@ class API extends Handler {
                $cats = array();
 
                while ($line = db_fetch_assoc($result)) {
-                       if ($line["num_feeds"] > 0 || $line["num_cats"] > 0) {
+                       if ($include_empty || $line["num_feeds"] > 0 || $line["num_cats"] > 0) {
                                $unread = getFeedUnread($this->link, $line["id"], true);
 
                                if ($enable_nested)
@@ -705,9 +706,12 @@ class API extends Handler {
        }
 
        function getFeedTree() {
+               $include_empty = (int)$_REQUEST['include_empty'];
+
                $pf = new Pref_Feeds($this->link, $_REQUEST);
 
                $_REQUEST['mode'] = 2;
+               $_REQUEST['force_show_empty'] = $include_empty;
 
                if ($pf){
                        $data = $pf->makefeedtree();
index 362d046e8793fad42a900ef5343bdb112cb073b3..1ec0b7b5474f3f2aa0a46ff4467beaf4b498b179 100644 (file)
@@ -33,8 +33,10 @@ class Pref_Feeds extends Handler_Protected {
 
                if ($search) $search_qpart = " AND LOWER(title) LIKE LOWER('%$search%')";
 
-               $show_empty_cats = $_REQUEST['mode'] != 2 && !$search &&
-                       get_pref($this->link, '_PREFS_SHOW_EMPTY_CATS');
+               // first one is set by API
+               $show_empty_cats = $_REQUEST['force_show_empty'] ||
+                       ($_REQUEST['mode'] != 2 && !$search &&
+                               get_pref($this->link, '_PREFS_SHOW_EMPTY_CATS'));
 
                $items = array();
 
@@ -183,8 +185,9 @@ class Pref_Feeds extends Handler_Protected {
                }
 
                if ($enable_cats) {
-                       $show_empty_cats = $_REQUEST['mode'] != 2 && !$search &&
-                               get_pref($this->link, '_PREFS_SHOW_EMPTY_CATS');
+                       $show_empty_cats = $_REQUEST['force_show_empty'] ||
+                               ($_REQUEST['mode'] != 2 && !$search &&
+                               get_pref($this->link, '_PREFS_SHOW_EMPTY_CATS'));
 
                        $result = db_query($this->link, "SELECT id, title FROM ttrss_feed_categories
                                WHERE owner_uid = " . $_SESSION["uid"] . " AND parent_cat IS NULL ORDER BY order_id, title");