sort feeds list by unread; support fatal error messages and login redirects
This commit is contained in:
parent
d5d5632952
commit
e0cebf2a81
57
digest.js
57
digest.js
|
@ -79,6 +79,7 @@ function update() {
|
||||||
new Ajax.Request("backend.php", {
|
new Ajax.Request("backend.php", {
|
||||||
parameters: "?op=rpc&subop=digest-init",
|
parameters: "?op=rpc&subop=digest-init",
|
||||||
onComplete: function(transport) {
|
onComplete: function(transport) {
|
||||||
|
fatal_error_check(transport);
|
||||||
parse_feeds(transport);
|
parse_feeds(transport);
|
||||||
set_selected_feed(_active_feed_id);
|
set_selected_feed(_active_feed_id);
|
||||||
} });
|
} });
|
||||||
|
@ -132,6 +133,7 @@ function viewfeed(feed_id, offset) {
|
||||||
new Ajax.Request("backend.php", {
|
new Ajax.Request("backend.php", {
|
||||||
parameters: query,
|
parameters: query,
|
||||||
onComplete: function(transport) {
|
onComplete: function(transport) {
|
||||||
|
fatal_error_check(transport);
|
||||||
parse_headlines(transport, offset == 0);
|
parse_headlines(transport, offset == 0);
|
||||||
set_selected_feed(feed_id);
|
set_selected_feed(feed_id);
|
||||||
_active_feed_offset = offset;
|
_active_feed_offset = offset;
|
||||||
|
@ -258,6 +260,19 @@ function parse_feeds(transport) {
|
||||||
if (feeds) {
|
if (feeds) {
|
||||||
feeds = eval("(" + feeds.firstChild.nodeValue + ")");
|
feeds = eval("(" + feeds.firstChild.nodeValue + ")");
|
||||||
|
|
||||||
|
feeds.sort( function (a,b)
|
||||||
|
{
|
||||||
|
if (b.unread != a.unread)
|
||||||
|
return (b.unread - a.unread)
|
||||||
|
else
|
||||||
|
if (a.title > b.title)
|
||||||
|
return 1;
|
||||||
|
else if (a.title < b.title)
|
||||||
|
return -1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
|
||||||
last_feeds = feeds;
|
last_feeds = feeds;
|
||||||
|
|
||||||
$('feeds-content').innerHTML = "";
|
$('feeds-content').innerHTML = "";
|
||||||
|
@ -499,3 +514,45 @@ function togglePub(mark_img, id, note) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function fatal_error(code, msg) {
|
||||||
|
try {
|
||||||
|
|
||||||
|
if (code == 6) {
|
||||||
|
window.location.href = "digest.php";
|
||||||
|
} else if (code == 5) {
|
||||||
|
window.location.href = "update.php";
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (msg == "") msg = "Unknown error";
|
||||||
|
|
||||||
|
console.error("Fatal error: " + code + "\n" +
|
||||||
|
msg);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (e) {
|
||||||
|
exception_error("fatalError", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fatal_error_check(transport) {
|
||||||
|
try {
|
||||||
|
if (transport.responseXML) {
|
||||||
|
var error = transport.responseXML.getElementsByTagName("error")[0];
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
var code = error.getAttribute("error-code");
|
||||||
|
var msg = error.getAttribute("error-msg");
|
||||||
|
if (code != 0) {
|
||||||
|
fatal_error(code, msg);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
exception_error("fatal_error_check", e);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue