diff --git a/feedlist.js b/feedlist.js
index 4a892a907..d56f28d1e 100644
--- a/feedlist.js
+++ b/feedlist.js
@@ -32,7 +32,60 @@ function viewCategory(cat) {
function render_offline_feedlist() {
try {
- // FIXME
+ var tmp = "
";
+
+ var rs = db.execute("SELECT id,title,has_icon FROM offline_feeds ORDER BY title");
+
+ while (rs.isValidRow()) {
+
+ var id = rs.field(0);
+ var title = rs.field(1);
+ var has_icon = rs.field(2);
+
+ var rs_u = db.execute("SELECT SUM(unread) FROM offline_data WHERE feed_id = ?",
+ [id]);
+ var unread = 0;
+
+ if (rs.isValidRow()) {
+ unread = rs_u.field(0);
+ if (!unread) unread = 0;
+ }
+
+ var feed_icon = "";
+
+ if (has_icon) {
+ feed_icon = "";
+ } else {
+ feed_icon = "";
+ }
+
+ var row_class = "feed";
+
+ if (unread > 0) {
+ row_class += "Unread";
+ fctr_class = "feedCtrHasUnread";
+ } else {
+ fctr_class = "feedCtrNoUnread";
+ }
+
+ var link = ""+
+ title + "";
+
+ tmp += "- " + feed_icon +
+ "" + link + "";
+
+ tmp += " " +
+ "("+unread+")";
+
+ tmp += "
";
+
+ rs.next();
+ }
+
+ tmp += "
";
+
+ render_feedlist(tmp);
} catch (e) {
exception_error("render_offline_feedlist", e);
}
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php
index 751934f35..64e7df2f0 100644
--- a/modules/backend-rpc.php
+++ b/modules/backend-rpc.php
@@ -532,7 +532,10 @@
ttrss_feeds WHERE owner_uid = ".$_SESSION["uid"]);
while ($line = db_fetch_assoc($result)) {
- print "";
}
diff --git a/tt-rss.js b/tt-rss.js
index e1ca160af..5089fcf27 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -1507,7 +1507,7 @@ function init_gears() {
db.execute("CREATE TABLE IF NOT EXISTS cache (id text, article text, param text, added text)");
- db.execute("CREATE TABLE if not exists offline_feeds (id integer, title text)");
+ db.execute("CREATE TABLE if not exists offline_feeds (id integer, title text, has_icon integer)");
db.execute("CREATE TABLE if not exists offline_data (id integer, feed_id integer, title text, link text, guid text, updated text, content text, tags text, unread text, marked text)");
@@ -1549,10 +1549,12 @@ function offline_download_parse(stage, transport) {
for (var i = 0; i < feeds.length; i++) {
var id = feeds[i].getAttribute("id");
+ var has_icon = feeds[i].getAttribute("has_icon");
var title = feeds[i].firstChild.nodeValue;
- db.execute("INSERT INTO offline_feeds (id,title) VALUES (?,?)",
- [id, title]);
+ db.execute("INSERT INTO offline_feeds (id,title,has_icon)"+
+ "VALUES (?,?,?)",
+ [id, title, has_icon]);
}
window.setTimeout("initiate_offline_download("+(stage+1)+")", 50);