summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2009-02-03 16:11:44 +0300
committerAndrew Dolgov <[email protected]>2009-02-03 16:11:44 +0300
commit6a1cd59192bf4319b90319f7d623fae9011728ff (patch)
tree6743d18cbffd34a71649c052a19d27b3bc950580 /modules
parent87b16a0a6156e90f549f13f59e657ff03a33a7e4 (diff)
implement dumb article downloader
Diffstat (limited to 'modules')
-rw-r--r--modules/backend-rpc.php41
-rw-r--r--modules/popup-dialog.php10
2 files changed, 47 insertions, 4 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;
diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php
index d89547fe9..e62f84e9c 100644
--- a/modules/popup-dialog.php
+++ b/modules/popup-dialog.php
@@ -474,20 +474,22 @@
$amount = array(
50 => 50,
100 => 100,
- 0 => "All unread");
+ 250 => 250);
print_select_hash("amount", 50, $amount);
print " " . __("newest articles for offline reading.");
+ print "<br/>";
+
+ print "<input checked='yes' type='checkbox' name='unread_only' id='unread_only'>";
+ print "<label for='unread_only'>".__('Only include unread articles')."</label>";
+
print "</div>";
print "</form>";
print "<div class=\"dlgButtons\">
- <div id=\"d_progress_o\" style=\"display : none\">
- <div id=\"d_progress_i\"></div>
- </div>
<input class=\"button\"
type=\"submit\" onclick=\"return initiate_offline_download()\" value=\"".__('Download')."\">
<input class=\"button\"