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");
var sel_none_link;
var sel_inv_link;
+ var catchup_feed_link = "javascript:catchupCurrentFeed()";
+ var catchup_sel_link = "javascript:catchupSelection()";
+
+ var tog_unread_link;
+ var tog_marked_link;
+
if ($("content-frame")) {
sel_all_link = "javascript:selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', true, '', true)";
sel_unread_link = "javascript:selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', true, 'Unread', true)";
sel_none_link = "javascript:selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', false)";
sel_inv_link = "javascript:invertHeadlineSelection()";
+
+ tog_unread_link = "javascript:selectionToggleUnread()";
+ tog_marked_link = "javascript:selectionToggleMarked()";
+
} else {
sel_all_link = "javascript:cdmSelectArticles('all')";
sel_unread_link = "javascript:cdmSelectArticles('unread')";
sel_none_link = "javascript:cdmSelectArticles('none')";
sel_inv_link = "javascript:invertHeadlineSelection()";
+
+ tog_unread_link = "javascript:selectionToggleUnread(true)";
+ tog_marked_link = "javascript:selectionToggleMarked(true)";
}
tmp += __('Select:')+
tmp += " ";
+ tmp += "<span onmouseover=\"enable_selection(false)\" "+
+ "onmouseout=\"enable_selection(true) \"" +
+ "onclick=\"toggleHeadlineActions()\" id=\"headlineActionsDrop\">" +
+ __("Actions...") + " <img src=\"images/down_arrow.png\">" +
+ "</span>";
+
+ tmp += "<ul id=\"headlineActionsBody\" style=\"display : none\">";
+
+ tmp += "<li class=\"insensitive\">"+__('Selection toggle:')+"</li>"+
+ "<li onclick=\""+tog_unread_link+"\"> "+__('Unread')+"</li>"+
+ "<li onclick=\""+tog_marked_link+"\"> "+__('Starred')+"</li>"+
+ "<li class=\"insensitive\">"+__('Mark as read:')+"</li>"+
+ "<li onclick=\""+catchup_sel_link+"\"> "+__('Selection')+"</li>";
+
+ tmp += "<li onclick=\""+catchup_feed_link+"\"> "+__('Entire feed')+
+ "</li>";
+
+ tmp += "</ul>";
+
tmp += "</div>";
tmp += "<div id=\"headlinesInnerContainer\" onscroll=\"headlines_scroll_handler()\">";
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);
+
+ 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]);
}
}
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();
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,
+ debug(query);
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
onComplete: function(transport) {
offline_download_parse(stage, transport);
} });
// 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 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);
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;
+}
+
+