if (feedctr && feedu && feedr) {
- if (feedu.innerHTML != ctr && id == getActiveFeedId() && scheduled_call) {
- viewCurrentFeed();
+ if (parseInt(ctr) > 0 &&
+ parseInt(feedu.innerHTML) < parseInt(ctr) &&
+ id == getActiveFeedId() && scheduled_call) {
+
+ displayNewContentPrompt(id);
}
var row_needs_hl = (ctr > 0 && ctr > parseInt(feedu.innerHTML));
if (row_needs_hl) {
new Effect.Highlight(feedr, {duration: 1, startcolor: "#fff7d5",
queue: { position:'end', scope: 'EFQ-' + id, limit: 1 } } );
+
+ cache_invalidate("F:" + id);
}
} else {
feedctr.className = "feedCtrNoUnread";
}
-function resort_category(node) {
+function resort_category(node, cat_mode) {
try {
- debug("resort_category: " + node);
+ debug("resort_category: " + node + " CM=" + cat_mode);
var by_unread = feedsSortByUnread();
var tmp_name = get_feed_entry_name(list[i]);
var cur_name = get_feed_entry_name(list[j]);
-
- if ((by_unread && (cur_val > tmp_val)) || (!by_unread && (cur_name < tmp_name))) {
+
+ var valid_pair = cat_mode || (list[i].id.match(/FEEDR-[0-9]/) &&
+ list[j].id.match(/FEEDR-[0-9]/));
+
+ if (valid_pair && ((by_unread && (cur_val > tmp_val)) || (!by_unread && (cur_name < tmp_name)))) {
tempnode_i = list[i].cloneNode(true);
tempnode_j = list[j].cloneNode(true);
node.replaceChild(tempnode_i, list[j]);
for (var i = 0; i < lists.length; i++) {
if (lists[i].id && lists[i].id.match("FCATLIST-")) {
- resort_category(lists[i]);
+ resort_category(lists[i], true);
}
}
} else {
- resort_category($("feedList"));
+ resort_category($("feedList"), false);
}
}
function closeInfoBox(cleanup) {
- if (Element.visible("infoBoxShadow")) {
- Element.hide("dialog_overlay");
-
- var shadow = $('infoBoxShadow');
- var box = $('infoBoxShadow');
-
- Element.hide(shadow);
+ try {
+ enableHotkeys();
- if (cleanup) box.innerHTML = " ";
+ if (Element.visible("infoBoxShadow")) {
+ Element.hide("dialog_overlay");
+ Element.hide("infoBoxShadow");
- enableHotkeys();
+ if (cleanup) $("infoBoxShadow").innerHTML = " ";
+ }
+ } catch (e) {
+ exception_error("closeInfoBox", e);
}
-
+
return false;
}
disableHotkeys();
- var query = "backend.php?op=dlg&id=" +
+ var query = "?op=dlg&id=" +
param_escape(id) + "¶m=" + param_escape(param);
- new Ajax.Request(query, {
+ new Ajax.Request("backend.php", {
+ parameters: query,
onComplete: function (transport) {
infobox_callback2(transport);
} });
debug("infobox_callback2");
- if (!getInitParam("infobox_disable_overlay")) {
- Element.show("dialog_overlay");
- }
-
var box = $('infoBox');
- var shadow = $('infoBoxShadow');
+
if (box) {
- box.innerHTML=transport.responseText;
- if (shadow) {
- shadow.style.display = "block";
- } else {
- box.style.display = "block";
+ if (!getInitParam("infobox_disable_overlay")) {
+ Element.show("dialog_overlay");
}
+
+ box.innerHTML=transport.responseText;
+ Element.show("infoBoxShadow");
+ //Effect.SlideDown("infoBoxShadow", {duration : 1.0});
+
+
}
/* FIXME this needs to be moved out somewhere */
return init_params[key];
}
-function storeInitParam(key, value) {
- debug("<b>storeInitParam is OBSOLETE: " + key + " => " + value + "</b>");
+function setInitParam(key, value) {
init_params[key] = value;
}
var reg_exp = form.reg_exp.value;
- var query = "backend.php?op=rpc&subop=checkDate&date=" + reg_exp;
+ var query = "?op=rpc&subop=checkDate&date=" + reg_exp;
- new Ajax.Request(query, {
+ new Ajax.Request("backend.php", {
+ parameters: query,
onComplete: function(transport) {
var form = document.forms["filter_add_form"];
try {
debug("openArticleInNewWindow: " + id);
- var query = "backend.php?op=rpc&subop=getArticleLink&id=" + id;
+ var query = "?op=rpc&subop=getArticleLink&id=" + id;
var wname = "ttrss_article_" + id;
debug(query + " " + wname);
if (!w) notify_error("Failed to open window for the article");
- new Ajax.Request(query, {
+ new Ajax.Request("backend.php", {
+ parameters: query,
onComplete: function(transport) {
open_article_callback(transport);
} });
notify_progress("Loading, please wait...");
- var query = "backend.php?op=pref-labels&subop=test&expr=" +
+ var query = "?op=pref-labels&subop=test&expr=" +
param_escape(sql_exp) + "&descr=" + param_escape(description);
- new Ajax.Request(query, {
+ new Ajax.Request("backend.php", {
+ parameters: query,
onComplete: function (transport) {
labeltest_callback(transport);
} });
function updateFeedBrowser() {
try {
- var query = "backend.php?op=rpc&subop=feedBrowser";
-
- var search = $("feed_browser_search");
- var limit = $("feed_browser_limit");
+ var options = Form.serialize("feed_browser");
- if (limit) {
- query = query + "&limit=" + limit[limit.selectedIndex].value;
- }
+ var query = "?op=rpc&subop=feedBrowser&" + options;
- if (search) {
- query = query + "&search=" + param_escape(search.value);
- }
+ //notify_progress("Loading, please wait...", true);
- notify_progress("Loading, please wait...", true);
+ Element.show('feed_browser_spinner');
- new Ajax.Request(query, {
+ new Ajax.Request("backend.php", {
+ parameters: query,
onComplete: function(transport) {
notify('');
+ Element.hide('feed_browser_spinner');
+
var c = $("browseFeedList");
var r = transport.responseXML.getElementsByTagName("content")[0];
var nr = transport.responseXML.getElementsByTagName("num-results")[0];
} });
-
} catch (e) {
exception_error("updateFeedBrowser", e);
}
+
}
function browseFeeds(limit) {
try {
- var query = "backend.php?op=pref-feeds&subop=browse";
+ var query = "?op=pref-feeds&subop=browse";
notify_progress("Loading, please wait...", true);
- new Ajax.Request(query, {
+ new Ajax.Request("backend.php", {
+ parameters: query,
onComplete: function(transport) {
infobox_callback2(transport);
} });
if (s.length > length) tmp += "…";
return tmp;
}
+
+/*
function switchToFlash(e) {
try {
var targ = e;
exception_error("switchToFlash", e);
}
}
+
function html5AudioOrFlash(type) {
var audioTag = document.createElement('audio');
if(! audioTag.canPlayType || audioTag.canPlayType(type) == "no" ||
switchToFlash($('switchToFlashLink'));
}
}
+} */
+
+function hotkey_prefix_timeout() {
+ try {
+
+ var date = new Date();
+ var ts = Math.round(date.getTime() / 1000);
+
+ if (hotkey_prefix_pressed && ts - hotkey_prefix_pressed >= 5) {
+ debug("hotkey_prefix seems to be stuck, aborting");
+ hotkey_prefix_pressed = false;
+ hotkey_prefix = false;
+ Element.hide('cmdline');
+ }
+
+ setTimeout("hotkey_prefix_timeout()", 1000);
+
+ } catch (e) {
+ exception_error("hotkey_prefix_timeout", e);
+ }
+}
+
+function hideAuxDlg() {
+ try {
+ Element.hide('auxDlg');
+ } catch (e) {
+ exception_error("hideAuxDlg", e);
+ }
+}
+
+function displayNewContentPrompt(id) {
+ try {
+
+ var msg = "<a href='#' onclick='viewfeed("+id+")'>" +
+ __("New articles available (Click to show)") + "</a>";
+
+ msg = msg.replace("%s", getFeedName(id));
+
+ $('auxDlg').innerHTML = msg;
+
+ Element.show('auxDlg');
+
+ } catch (e) {
+ exception_error("displayNewContentPrompt", e);
+ }
}