add viewfeed_offline(); misc fixes

master
Andrew Dolgov 16 years ago
parent 95f0c2c5b3
commit 6a2034f9ff

@ -129,9 +129,21 @@ function viewNextFeedPage() {
}
}
function viewfeed_offline(feed, subop, is_cat, subop_param, skip_history, offset) {
try {
} catch (e) {
exception_error("viewfeed_offline", e);
}
}
function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
try {
if (offline_mode) return viewfeed_offline(feed, subop, is_cat, subop_param,
skip_history, offset);
// if (!offset) page_offset = 0;
last_requested_article = 0;

@ -579,6 +579,8 @@
$line["marked"] = (int)sql_bool_to_bool($line["marked"]);
$line["unread"] = (int)sql_bool_to_bool($line["unread"]);
$line["tags"] = format_tags_string(get_article_tags($link, $id), $id);
print json_encode($line);
print "]]></article>";

@ -479,7 +479,7 @@
print_select_hash("amount", 50, $amount);
print " " . __("newest articles for offline reading.");
print " " . __("latest articles for offline reading.");
print "<br/>";
@ -491,8 +491,8 @@
print "</form>";
print "<div class=\"dlgButtons\">
<input class=\"button\"
type=\"submit\" onclick=\"return initiate_offline_download()\" value=\"".__('Download')."\">
<input class=\"button\"
type=\"submit\" onclick=\"return initiate_offline_download(0, this)\" value=\"".__('Download')."\">
<input class=\"button\"
type=\"submit\" onclick=\"return closeInfoBox()\"
value=\"".__('Cancel')."\"></div>";

@ -24,6 +24,7 @@ var store = false;
var localServer = false;
var db = false;
var download_progress_last = 0;
var offline_dl_max_id = 0;
function activeFeedIsCat() {
return _active_feed_is_cat;
@ -1570,39 +1571,48 @@ function offline_download_parse(stage, transport) {
if (a) {
db.execute("DELETE FROM articles WHERE id = ?", [a.id]);
db.execute("INSERT INTO articles "+
"(id, feed_id, title, link, guid, updated, content, unread, marked) "+
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
"(id, feed_id, title, link, guid, updated, content, "+
"unread, marked, tags) "+
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
[a.id, a.feed_id, a.title, a.link, a.guid, a.updated,
a.content, a.unread, a.marked]);
a.content, a.unread, a.marked, a.tags]);
}
}
if (articles_found > 0) {
window.setTimeout("initiate_offline_download("+(stage+1)+")", 50);
} else {
notify_info("All done.");
closeInfoBox();
}
}
notify_info("All done.");
}
} catch (e) {
exception_error("offline_download_parse", e);
}
}
function initiate_offline_download(stage) {
function initiate_offline_download(stage, caller) {
try {
if (!stage) stage = 0;
if (caller) caller.disabled = true;
notify_progress("Loading, please wait... (" + stage +")", true);
var query = "backend.php?op=rpc&subop=download&stage=" + stage;
var rs = db.execute("SELECT MAX(id) FROM articles");
if (rs.isValidRow()) {
query = query + "&cid=" + rs.field(0);
if (stage == 0) {
var rs = db.execute("SELECT MAX(id) FROM articles");
if (rs.isValidRow() && rs.field(0)) {
offline_dl_max_id = rs.field(0);
}
}
if (offline_dl_max_id) {
query = query + "&cid=" + offline_dl_max_id;
}
if (document.getElementById("download_ops_form")) {

Loading…
Cancel
Save