api: add include_empty to getCategories/getFeedTree

This commit is contained in:
Andrew Dolgov 2013-03-28 15:28:37 +04:00
parent eb734e5225
commit 66ca7c3097
2 changed files with 12 additions and 5 deletions

View 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();

View 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");