Merge pull request #147 from pedros/nnttrss_api_extensions

Add new API method: `getFeedStats`
This commit is contained in:
Andrew Dolgov 2013-04-11 09:04:32 -07:00
commit 2496da82e9
1 changed files with 37 additions and 0 deletions

View File

@ -110,6 +110,11 @@ class API extends Handler {
print $this->wrap(self::STATUS_OK, getAllCounters($this->link));
}
function getFeedStats() {
$feeds = $this->api_get_feed_stats($this->link);
print $this->wrap(self::STATUS_OK, $feeds);
}
function getFeeds() {
$cat_id = db_escape_string($this->link, $_REQUEST["cat_id"]);
$unread_only = sql_bool_to_bool($_REQUEST["unread_only"]);
@ -480,6 +485,38 @@ class API extends Handler {
}
}
static function api_get_feed_stats($link) {
$feeds = array();
$result = db_query($link, "SELECT ttrss_feeds.id, ttrss_feeds.title,".
" MIN(ttrss_entries.id) AS first, MAX(ttrss_entries.id) AS last,".
" COUNT(ttrss_entries.id) AS total".
" FROM ttrss_entries, ttrss_user_entries, ttrss_feeds".
" WHERE ttrss_user_entries.feed_id = ttrss_feeds.id".
" AND ttrss_user_entries.ref_id = ttrss_entries.id".
" AND ttrss_user_entries.owner_uid = ".$_SESSION["uid"].
" GROUP BY ttrss_feeds.title");
while ($line = db_fetch_assoc($result)) {
$unread = getFeedUnread($link, $line["id"]);
$row = array(
"id" => (int)$line["id"],
"title" => $line["title"],
"first" => (int)$line["first"],
"last" => (int)$line["last"],
"total" => (int)$line["total"],
"unread" => (int)$unread
);
array_push($feeds, $row);
}
return $feeds;
}
static function api_get_feeds($link, $cat_id, $unread_only, $limit, $offset, $include_nested = false) {
$feeds = array();