diff options
author | Andrew Dolgov <[email protected]> | 2009-02-03 16:11:44 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2009-02-03 16:11:44 +0300 |
commit | 6a1cd59192bf4319b90319f7d623fae9011728ff (patch) | |
tree | 6743d18cbffd34a71649c052a19d27b3bc950580 /modules/backend-rpc.php | |
parent | 87b16a0a6156e90f549f13f59e657ff03a33a7e4 (diff) |
implement dumb article downloader
Diffstat (limited to 'modules/backend-rpc.php')
-rw-r--r-- | modules/backend-rpc.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php index 55ab73a20..53635f966 100644 --- a/modules/backend-rpc.php +++ b/modules/backend-rpc.php @@ -516,6 +516,10 @@ if ($subop == "download") { $stage = (int) $_REQUEST["stage"]; + $amount = (int) $_REQUEST["amount"]; + $unread_only = db_escape_string($_REQUEST["unread_only"]); + + if (!$amount) $amount = 50; print "<rpc-reply>"; @@ -537,6 +541,43 @@ } + if ($stage > 0) { + + print "<articles>"; + + $limit = 50; + $skip = $limit*($stage-1); + + if ($amount > 0) $amount -= $skip; + + if ($amount > 0) { + + $limit = min($limit, $amount); + + if ($unread_only) { + $unread_qpart = "unread = true AND "; + } + + $result = db_query($link, + "SELECT DISTINCT id,title,guid,link, + feed_id,content,updated,unread,marked FROM + ttrss_user_entries,ttrss_entries + WHERE $unread_qpart + ref_id = id AND owner_uid = ".$_SESSION["uid"]." + ORDER BY updated DESC LIMIT $limit OFFSET $skip"); + + while ($line = db_fetch_assoc($result)) { + print "<article><![CDATA["; + print json_encode($line); + print "]]></article>"; + } + + } + + print "</articles>"; + + } + print "</rpc-reply>"; return; |