From 97e5dbb2e79ecb59d33f65b5d56076b79b6136c7 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 9 Sep 2011 12:11:56 +0400 Subject: [PATCH] api: add getHeadlines since_id --- api/index.php | 3 ++- functions.php | 14 +++++++++++--- modules/backend-rpc.php | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/api/index.php b/api/index.php index 55e60db29..737ce8abf 100644 --- a/api/index.php +++ b/api/index.php @@ -196,10 +196,11 @@ /* all_articles, unread, adaptive, marked, updated */ $view_mode = db_escape_string($_REQUEST["view_mode"]); $include_attachments = (bool)db_escape_string($_REQUEST["include_attachments"]); + $since_id = (int)db_escape_string($_REQUEST["since_id"]); $headlines = api_get_headlines($link, $feed_id, $limit, $offset, $filter, $is_cat, $show_excerpt, $show_content, $view_mode, false, - $include_attachments); + $include_attachments, $since_id); print api_wrap_reply(API_STATUS_OK, $seq, $headlines); diff --git a/functions.php b/functions.php index f0691f209..48ab664c8 100644 --- a/functions.php +++ b/functions.php @@ -3432,7 +3432,7 @@ } - function queryFeedHeadlines($link, $feed, $limit, $view_mode, $cat_view, $search, $search_mode, $match_on, $override_order = false, $offset = 0, $owner_uid = 0, $filter = false) { + function queryFeedHeadlines($link, $feed, $limit, $view_mode, $cat_view, $search, $search_mode, $match_on, $override_order = false, $offset = 0, $owner_uid = 0, $filter = false, $since_id = 0) { if (!$owner_uid) $owner_uid = $_SESSION["uid"]; @@ -3463,6 +3463,12 @@ $filter_query_part = ""; } + if ($since_id) { + $since_id_part = "ttrss_entries.id > $since_id AND "; + } else { + $since_id_part = ""; + } + $view_query_part = ""; if ($view_mode == "adaptive" || $view_query_part == "noscores") { @@ -3694,6 +3700,7 @@ $search_query_part $filter_query_part $view_query_part + $since_id_part $query_strategy_part ORDER BY $order_by $limit_query_part $offset_query_part"; @@ -3718,6 +3725,7 @@ "link," . "last_read," . SUBSTRING_FOR_DATE . "(last_read,1,19) as last_read_noms," . + $since_id_part . $vfeed_query_part . $content_query_part . SUBSTRING_FOR_DATE . "(updated,1,19) as updated_noms," . @@ -6835,7 +6843,7 @@ function api_get_headlines($link, $feed_id, $limit, $offset, $filter, $is_cat, $show_excerpt, $show_content, $view_mode, $order, - $include_attachments) { + $include_attachments, $since_id) { /* do not rely on params below */ @@ -6845,7 +6853,7 @@ $qfh_ret = queryFeedHeadlines($link, $feed_id, $limit, $view_mode, $is_cat, $search, $search_mode, $match_on, - $order, $offset); + $order, $offset, 0, false, $since_id); $result = $qfh_ret[0]; $feed_title = $qfh_ret[1]; diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php index 6eea33df9..6cd9cd2d9 100644 --- a/modules/backend-rpc.php +++ b/modules/backend-rpc.php @@ -636,7 +636,7 @@ $reply['seq'] = $seq; $headlines = api_get_headlines($link, $feed_id, 30, $offset, - '', ($feed_id == -4), true, false, "unread", "updated DESC"); + '', ($feed_id == -4), true, false, "unread", "updated DESC", 0, 0); //function api_get_headlines($link, $feed_id, $limit, $offset, // $filter, $is_cat, $show_excerpt, $show_content, $view_mode) {