diff options
Diffstat (limited to 'classes/api.php')
-rw-r--r-- | classes/api.php | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/classes/api.php b/classes/api.php index 3ec218671..44130d397 100644 --- a/classes/api.php +++ b/classes/api.php @@ -2,7 +2,7 @@ class API extends Handler { - const API_LEVEL = 4; + const API_LEVEL = 5; const STATUS_OK = 0; const STATUS_ERR = 1; @@ -133,7 +133,10 @@ class API extends Handler { $result = db_query($this->link, "SELECT id, title, order_id, (SELECT COUNT(id) FROM ttrss_feeds WHERE - ttrss_feed_categories.id IS NOT NULL AND cat_id = ttrss_feed_categories.id) AS num_feeds + ttrss_feed_categories.id IS NOT NULL AND cat_id = ttrss_feed_categories.id) AS num_feeds, + (SELECT COUNT(id) FROM + ttrss_feed_categories AS c2 WHERE + c2.parent_cat = ttrss_feed_categories.id) AS num_cats FROM ttrss_feed_categories WHERE $nested_qpart AND owner_uid = " . $_SESSION["uid"]); @@ -141,7 +144,7 @@ class API extends Handler { $cats = array(); while ($line = db_fetch_assoc($result)) { - if ($line["num_feeds"] > 0) { + if ($line["num_feeds"] > 0 || $line["num_cats"] > 0) { $unread = getFeedUnread($this->link, $line["id"], true); if ($enable_nested) @@ -666,6 +669,36 @@ class API extends Handler { return $headlines; } + function unsubscribeFeed() { + $feed_id = (int) db_escape_string($this->link, $_REQUEST["feed_id"]); + + $result = db_query($this->link, "SELECT id FROM ttrss_feeds WHERE + id = '$feed_id' AND owner_uid = ".$_SESSION["uid"]); + + if (db_num_rows($result) != 0) { + Pref_Feeds::remove_feed($this->link, $feed_id, $_SESSION["uid"]); + print $this->wrap(self::STATUS_OK, array("status" => "OK")); + } else { + print $this->wrap(self::STATUS_ERR, array("error" => "FEED_NOT_FOUND")); + } + } + + function subscribeToFeed() { + $feed_url = db_escape_string($this->link, $_REQUEST["feed_url"]); + $category_id = (int) db_escape_string($this->link, $_REQUEST["category_id"]); + $login = db_escape_string($this->link, $_REQUEST["login"]); + $password = db_escape_string($this->link, $_REQUEST["password"]); + + if ($feed_url) { + $rc = subscribe_to_feed($this->link, $feed_url, $category_id, + $login, $password, false); + + print $this->wrap(self::STATUS_OK, array("status" => $rc)); + } else { + print $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE')); + } + } + } ?> |