diff --git a/digest.js b/digest.js
index 520c3d619..0e50ff4c0 100644
--- a/digest.js
+++ b/digest.js
@@ -485,6 +485,10 @@ function redraw_feedlist(feeds) {
"" + "";
}
+ if (feeds.length == 0) {
+ $('feeds-content').innerHTML = __("No unread feeds.");
+ }
+
} catch (e) {
exception_error("redraw_feedlist", e);
}
@@ -492,13 +496,13 @@ function redraw_feedlist(feeds) {
function parse_feeds(transport) {
try {
+ var reply = JSON.parse(transport.responseText);
- if (!transport.responseXML) return;
+ if (!reply) return;
- var feeds = transport.responseXML.getElementsByTagName('feeds')[0];
+ var feeds = reply['feeds'];
if (feeds) {
- feeds = JSON.parse(feeds.firstChild.nodeValue);
feeds.sort( function (a,b)
{
@@ -529,12 +533,12 @@ function parse_feeds(transport) {
function parse_headlines(transport, replace, no_effects) {
try {
- if (!transport.responseXML) return;
+ var reply = JSON.parse(transport.responseText);
+ if (!reply) return;
- var seq = transport.responseXML.getElementsByTagName('seq')[0];
+ var seq = reply['seq'];
if (seq) {
- seq = seq.firstChild.nodeValue;
if (seq != _update_seq) {
console.log("parse_headlines: wrong sequence received.");
return;
@@ -543,15 +547,11 @@ function parse_headlines(transport, replace, no_effects) {
return;
}
- var headlines = transport.responseXML.getElementsByTagName('headlines')[0];
- var headlines_title = transport.responseXML.getElementsByTagName('headlines-title')[0];
+ var headlines = reply['headlines']['content'];
+ var headlines_title = reply['headlines']['title'];
if (headlines && headlines_title) {
- headlines = JSON.parse(headlines.firstChild.nodeValue);
-
- var title = headlines_title.firstChild.nodeValue;
-
- $("headlines-title").innerHTML = title;
+ $("headlines-title").innerHTML = headlines_title
if (replace) {
$('headlines-content').innerHTML = '';
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php
index 510a9fd36..59faee7b3 100644
--- a/modules/backend-rpc.php
+++ b/modules/backend-rpc.php
@@ -695,15 +695,18 @@
}
if ($subop == "digest-update") {
+ header("Content-Type: text/plain");
+
$feed_id = db_escape_string($_REQUEST['feed_id']);
$offset = db_escape_string($_REQUEST['offset']);
$seq = db_escape_string($_REQUEST['seq']);
if (!$feed_id) $feed_id = -4;
if (!$offset) $offset = 0;
- print "";
- print "$seq";
+ $reply = array();
+
+ $reply['seq'] = $seq;
$headlines = api_get_headlines($link, $feed_id, 10, $offset,
'', ($feed_id == -4), true, false, "unread", "updated DESC");
@@ -711,18 +714,17 @@
//function api_get_headlines($link, $feed_id, $limit, $offset,
// $filter, $is_cat, $show_excerpt, $show_content, $view_mode) {
- print "";
+ $reply['headlines'] = array();
+ $reply['headlines']['title'] = getFeedTitle($link, $feed_id);
+ $reply['headlines']['content'] = $headlines;
- print "";
-
- print "";
+ print json_encode($reply);
return;
}
if ($subop == "digest-init") {
- print "";
-
+ header("Content-Type: text/plain");
+
$tmp_feeds = api_get_feeds($link, -3, true, false, 0);
$feeds = array();
@@ -731,9 +733,8 @@
if ($f['id'] > 0 || $f['id'] == -4) array_push($feeds, $f);
}
- print "";
+ print json_encode(array("feeds" => $feeds));
- print "";
return;
}