diff options
author | Andrew Dolgov <[email protected]> | 2009-02-11 13:35:24 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2009-02-11 13:35:24 +0300 |
commit | 048701937d52423fc4218652597d321153acd72c (patch) | |
tree | 52eb0a0d04c1561cfd6e1895dc8c79fe3ce45452 | |
parent | acac8448a49fefddb0f731364931c067247ef1c9 (diff) |
offline: add progress indicator; tweak download intervals and amount of articles
-rwxr-xr-x | images/offline-sync.gif | bin | 0 -> 847 bytes | |||
-rw-r--r-- | modules/backend-rpc.php | 10 | ||||
-rw-r--r-- | offline.js | 19 |
3 files changed, 22 insertions, 7 deletions
diff --git a/images/offline-sync.gif b/images/offline-sync.gif Binary files differnew file mode 100755 index 000000000..71932f968 --- /dev/null +++ b/images/offline-sync.gif 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) { |