summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2009-02-11 13:35:24 +0300
committerAndrew Dolgov <[email protected]>2009-02-11 13:35:24 +0300
commit048701937d52423fc4218652597d321153acd72c (patch)
tree52eb0a0d04c1561cfd6e1895dc8c79fe3ce45452
parentacac8448a49fefddb0f731364931c067247ef1c9 (diff)
offline: add progress indicator; tweak download intervals and amount of articles
-rwxr-xr-ximages/offline-sync.gifbin0 -> 847 bytes
-rw-r--r--modules/backend-rpc.php10
-rw-r--r--offline.js19
3 files changed, 22 insertions, 7 deletions
diff --git a/images/offline-sync.gif b/images/offline-sync.gif
new file mode 100755
index 000000000..71932f968
--- /dev/null
+++ b/images/offline-sync.gif
Binary files differ
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php
index 6bae380a1..3a63c6094 100644
--- a/modules/backend-rpc.php
+++ b/modules/backend-rpc.php
@@ -516,14 +516,14 @@
if ($subop == "download") {
$stage = (int) $_REQUEST["stage"];
- $cidt = db_escape_string($_REQUEST["cidt"]);
- $cidb = db_escape_string($_REQUEST["cidb"]);
+ $cidt = (int)db_escape_string($_REQUEST["cidt"]);
+ $cidb = (int)db_escape_string($_REQUEST["cidb"]);
$sync = db_escape_string($_REQUEST["sync"]);
//$amount = (int) $_REQUEST["amount"];
//$unread_only = db_escape_string($_REQUEST["unread_only"]);
//if (!$amount) $amount = 50;
- $amount = 100;
+ $amount = 2000;
$unread_only = true;
print "<rpc-reply>";
@@ -653,7 +653,7 @@
if ($stage > 0) {
print "<articles>";
- $limit = 50;
+ $limit = 200;
$skip = $limit*($stage-1);
print "<limit value=\"$limit\"/>";
@@ -669,7 +669,7 @@
}
if ($cidt && $cidb) {
- $cid_qpart = "(id > $cidt OR id < $cidb) AND ";
+ $cid_qpart = "(ttrss_entries.id > $cidt OR ttrss_entries.id < $cidb) AND ";
}
if (DB_TYPE == "pgsql") {
diff --git a/offline.js b/offline.js
index cced40943..4b2114560 100644
--- a/offline.js
+++ b/offline.js
@@ -679,7 +679,7 @@ function offline_download_parse(stage, transport) {
[id, caption, fg_color, bg_color]);
}
- window.setTimeout("update_offline_data("+(stage+1)+")", 10*1000);
+ window.setTimeout("update_offline_data("+(stage+1)+")", 5*1000);
} else {
var articles = transport.responseXML.getElementsByTagName("article");
@@ -723,13 +723,20 @@ function offline_download_parse(stage, transport) {
var has_sync_data = has_local_sync_data();
if (articles_found >= limit || has_sync_data) {
- window.setTimeout("update_offline_data("+(stage+1)+")", 10*1000);
+ window.setTimeout("update_offline_data("+(stage+1)+")", 5*1000);
debug("<b>update_offline_data: done " + stage + " HSD: " +
has_sync_data + "</b>");
} else {
window.setTimeout("update_offline_data(0)", 180*1000);
debug("update_offline_data: finished");
+ var pic = $("restartOfflinePic");
+
+ if (pic) {
+ pic.src = "images/offline.png";
+ pic.title = __("Restart in offline mode");
+ }
+
db.execute("DELETE FROM articles WHERE "+
"updated < DATETIME('NOW', 'localtime', '-31 days')");
@@ -737,6 +744,7 @@ function offline_download_parse(stage, transport) {
}
update_local_sync_data();
+
// notify('');
@@ -778,6 +786,13 @@ function update_offline_data(stage) {
debug(query + "/" + to_sync);
+ var pic = $("restartOfflinePic");
+
+ if (pic) {
+ pic.src = "images/offline-sync.gif";
+ pic.title = __("Synchronizing offline data...");
+ }
+
new Ajax.Request(query, {
parameters: to_sync,
onComplete: function(transport) {