diff options
Diffstat (limited to 'classes/pref/feeds.php')
-rw-r--r-- | classes/pref/feeds.php | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index ca4ae344f..cd208335b 100644 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -87,6 +87,10 @@ class Pref_Feeds extends Handler_Protected { } function getfeedtree() { + print json_encode($this->makefeedtree()); + } + + function makefeedtree() { if ($_REQUEST['mode'] != 2) $search = $_SESSION["prefs_feed_search"]; @@ -115,6 +119,32 @@ class Pref_Feeds extends Handler_Protected { array_push($cat['items'], $this->feedlist_init_feed($i)); } + /* Plugin feeds for -1 */ + + global $pluginhost; + + $feeds = $pluginhost->get_feeds(-1); + + if ($feeds) { + foreach ($feeds as $feed) { + $feed_id = PluginHost::pfeed_to_feed_id($feed['id']); + + $item = array(); + $item['id'] = 'FEED:' . $feed_id; + $item['bare_id'] = (int)$feed_id; + $item['name'] = $feed['title']; + $item['checkbox'] = false; + $item['error'] = ''; + $item['icon'] = $feed['icon']; + + $item['param'] = ''; + $item['unread'] = 0; //$feed['sender']->get_unread($feed['id']); + $item['type'] = 'feed'; + + array_push($cat['items'], $item); + } + } + if ($enable_cats) { array_push($root['items'], $cat); } else { @@ -134,7 +164,7 @@ class Pref_Feeds extends Handler_Protected { while ($line = db_fetch_assoc($result)) { - $label_id = -$line['id'] - 11; + $label_id = label_to_feed_id($line['id']); $feed = $this->feedlist_init_feed($label_id, false, 0); @@ -258,8 +288,7 @@ class Pref_Feeds extends Handler_Protected { $fl['items'] =& $root['items']; } - print json_encode($fl); - return; + return $fl; } function catsortreset() { @@ -1700,8 +1729,8 @@ class Pref_Feeds extends Handler_Protected { ccache_remove($link, $id, $owner_uid); } else { - label_remove($link, -11-$id, $owner_uid); - ccache_remove($link, -11-$id, $owner_uid); + label_remove($link, feed_to_label_id($id), $owner_uid); + //ccache_remove($link, $id, $owner_uid); don't think labels are cached } } |