var sync_in_progress = false;
var sync_timer = false;
-function view_offline(id, feed_id) {
+function view_offline(id) {
try {
enableHotkeys();
catchup_local_feed(feed_id, is_cat);
}
- disableContainerChildren("headlinesToolbar", false);
Form.enable("main_toolbar_form");
var f = $("headlines-frame");
try {
if (reply.offset == 0) {
- debug("resetting headlines scrollTop");
+ console.log("resetting headlines scrollTop");
f.scrollTop = 0;
}
} catch (e) { };
sel_none_link = "javascript:cdmSelectArticles('none')";
sel_inv_link = "javascript:invertHeadlineSelection()";
- tog_unread_link = "javascript:selectionToggleUnread(true)";
- tog_marked_link = "javascript:selectionToggleMarked(true)";
+ tog_unread_link = "javascript:selectionToggleUnread()";
+ tog_marked_link = "javascript:selectionToggleMarked()";
}
tmp += __('Select:')+
var toolbar_form = document.forms["main_toolbar_form"];
- var limit = toolbar_form.limit[toolbar_form.limit.selectedIndex].value;
+ //var limit = toolbar_form.limit[toolbar_form.limit.selectedIndex].value;
var view_mode = toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value;
var limit_qpart = "";
tmp += "<td class='hlMarkedPic'>"+marked_pic+"</td>";
- tmp += "<td onclick='view("+id+","+feed_id+")' "+
+ tmp += "<td onclick='view("+id+")' "+
"class='hlContent' valign='middle'>";
tmp += "<a target=\"_blank\" id=\"RTITLE-"+id+"\" href=\"" +
rs.fieldByName("link") + "\"" +
- "onclick=\"return view("+id+","+feed_id+");\">"+
+ "onclick=\"return view("+id+");\">"+
rs.fieldByName("title");
tmp += "<span class=\"contentPreview\"> - "+content_preview+"</span>";
tmp += "</td>";
- tmp += "<td class=\"hlUpdated\" onclick='view("+id+","+feed_id+")'>"+
+ tmp += "<td class=\"hlUpdated\" onclick='view("+id+")'>"+
"<nobr>"+rs.fieldByName("updated").substring(0,16)+
"</nobr></td>";
store.enabled = true;
Element.hide("dispSwitchPrompt");
- Element.hide("feedBrowserPrompt");
Element.hide("topLinksOnline");
Element.show("topLinksOffline");
if (sync_ok.length > 0) {
for (var i = 0; i < sync_ok.length; i++) {
var id = sync_ok[i].getAttribute("id");
+ var unread = sync_ok[i].getAttribute("unread");
+ var marked = sync_ok[i].getAttribute("marked");
+
if (id) {
- debug("synced offline info for id " + id);
+ console.log("synced offline info for id " + id);
+
+ if (unread != undefined && marked != undefined) {
+ db.execute("UPDATE articles SET "+
+ "unread = ?, marked = ? WHERE id = ?", [unread, marked, id]);
+
+ }
db.execute("UPDATE articles SET modified = '' WHERE id = ?", [id]);
}
}
}
}
- debug("downloaded articles: " + articles_found + " limit: " + limit);
+ console.log("downloaded articles: " + articles_found + " limit: " + limit);
articles_synced += articles_found;
if (articles_found >= limit || has_sync_data) {
sync_timer = window.setTimeout("update_offline_data("+(stage+1)+")",
3*1000);
- debug("<b>update_offline_data: done " + stage + " HSD: " +
+ console.log("<b>update_offline_data: done " + stage + " HSD: " +
has_sync_data + "</b>");
} else {
window.setTimeout("offlineDownloadStart()", 180*1000);
- debug("update_offline_data: finished");
+ console.log("update_offline_data: finished");
var pic = $("offlineModePic");
if (!db || offline_mode || getInitParam("offline_enabled") != "1") return;
-// notify_progress("Updating offline data... (" + stage +")", true);
-
- var query = "backend.php?op=rpc&subop=download";
+ var query = "?op=rpc&subop=download";
var rs = db.execute("SELECT MAX(id), MIN(id) FROM articles");
query = query + "&cidt=" + offline_dl_max_id;
query = query + "&cidb=" + offline_dl_min_id;
- stage = 1;
+ if (stage > 0) stage = 1;
}
rs.close();
- debug("update_offline_data: stage " + stage);
+ console.log("update_offline_data: stage " + stage);
query = query + "&stage=" + stage;
var to_sync = prepare_local_sync_data();
if (to_sync != "") {
- to_sync = "?sync=" + param_escape(to_sync);
+ to_sync = "&sync=" + param_escape(to_sync);
}
- debug(query + "/" + to_sync);
+ query = query + to_sync;
var pic = $("offlineModePic");
sync_in_progress = true;
- new Ajax.Request(query, {
- parameters: to_sync,
+ console.log(query);
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
onComplete: function(transport) {
offline_download_parse(stage, transport);
} });
function gotoOffline() {
-// debug("[Local store] currentVersion = " + store.currentVersion);
+// console.log("[Local store] currentVersion = " + store.currentVersion);
if (offlineArticlesStored() == 0) {
var timerId = window.setInterval(function() {
if (store.currentVersion) {
window.clearInterval(timerId);
- debug("[Local store] sync complete: " + store.currentVersion);
+ console.log("[Local store] sync complete: " + store.currentVersion);
//window.location.href = "tt-rss.php";
notify_info("Tiny Tiny RSS is in offline mode.");
} else if (store.updateStatus == 3) {
- debug("[Local store] sync error: " + store.lastErrorMessage);
+ console.log("[Local store] sync error: " + store.lastErrorMessage);
notify_error(store.lastErrorMessage, true);
} }, 500);
}
// if (confirm(__("You won't be able to access offline version of Tiny Tiny RSS until you switch it into offline mode again. Go online?"))) {
if (confirm(__("Tiny Tiny RSS will reload. Go online?"))) {
//localServer.removeManagedStore("tt-rss");
- window.location.href = "tt-rss.php";
+ window.location.href = "tt-rss.php?online=1";
}
}
function label_local_add_article(id, label_id) {
try {
- //debug("label_local_add_article " + id + " => " + label_id);
+ //console.log("label_local_add_article " + id + " => " + label_id);
var rs = db.execute("SELECT COUNT(id) FROM article_labels WHERE "+
"id = ? AND label_id = ?", [id, label_id]);
}
}
-function offlineDownloadStart() {
+function offlineDownloadStart(stage) {
try {
+ if (!stage) stage = 0;
+
if (db && !sync_in_progress && getInitParam("offline_enabled") == "1") {
- window.setTimeout("update_offline_data(0)", 100);
+ window.setTimeout("update_offline_data("+stage+")", 100);
}
} catch (e) {
exception_error("offlineDownloadStart", e);
var timerId = window.setInterval(function() {
if (store.currentVersion) {
window.clearInterval(timerId);
- debug("[Local store] sync complete: " + store.currentVersion);
+ console.log("[Local store] sync complete: " + store.currentVersion);
} else if (store.updateStatus == 3) {
- debug("[Local store] sync error: " + store.lastErrorMessage);
+ console.log("[Local store] sync error: " + store.lastErrorMessage);
} }, 500);
} catch (e) {
exception_error("offlineConfirmModeChange", e);
}
}
+
+function printFeedEntry(id, title, row_class, unread, icon) {
+
+ var tmp = "";
+ var fctr_class = "";
+ var feed_icon = "";
+
+ if (unread > 0) {
+ row_class += "Unread";
+ fctr_class = "feedCtrHasUnread";
+ } else {
+ fctr_class = "feedCtrNoUnread";
+ }
+
+ if (icon) {
+ feed_icon = "<img id='FIMG-"+id+"' src='" + icon + "'>";
+ } else {
+ feed_icon = "<img id='FIMG-"+id+"' src='images/blank_icon.gif'>";
+ }
+
+ var link = "<a title=\"FIXME\" id=\"FEEDL-"+id+"\""+
+ "href=\"javascript:viewfeed('"+id+"', '', false, '', false, 0);\">"+
+ title + "</a>";
+
+ tmp += "<li id='FEEDR-"+id+"' class="+row_class+">" + feed_icon +
+ "<span id=\"FEEDN-"+id+"\">" + link + "</span>";
+
+ tmp += " <span class='"+fctr_class+"' id=\"FEEDCTR-"+id+"\">" +
+ "(<span id=\"FEEDU-"+id+"\">"+unread+"</span>)</span>";
+
+ tmp += "</li>";
+
+ return tmp;
+}
+
+