render feedlist using local data when in offline mode
This commit is contained in:
parent
fe8f2f0c0d
commit
36f787976f
55
feedlist.js
55
feedlist.js
|
@ -32,7 +32,60 @@ function viewCategory(cat) {
|
||||||
|
|
||||||
function render_offline_feedlist() {
|
function render_offline_feedlist() {
|
||||||
try {
|
try {
|
||||||
// FIXME
|
var tmp = "<ul class=\"feedList\" id=\"feedList\">";
|
||||||
|
|
||||||
|
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 = "<img id='FIMG-"+id+"' src='" + "icons/" + id + ".ico'>";
|
||||||
|
} else {
|
||||||
|
feed_icon = "<img id='FIMG-"+id+"' src='images/blank_icon.gif'>";
|
||||||
|
}
|
||||||
|
|
||||||
|
var row_class = "feed";
|
||||||
|
|
||||||
|
if (unread > 0) {
|
||||||
|
row_class += "Unread";
|
||||||
|
fctr_class = "feedCtrHasUnread";
|
||||||
|
} else {
|
||||||
|
fctr_class = "feedCtrNoUnread";
|
||||||
|
}
|
||||||
|
|
||||||
|
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>";
|
||||||
|
|
||||||
|
rs.next();
|
||||||
|
}
|
||||||
|
|
||||||
|
tmp += "</ul>";
|
||||||
|
|
||||||
|
render_feedlist(tmp);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
exception_error("render_offline_feedlist", e);
|
exception_error("render_offline_feedlist", e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -532,7 +532,10 @@
|
||||||
ttrss_feeds WHERE owner_uid = ".$_SESSION["uid"]);
|
ttrss_feeds WHERE owner_uid = ".$_SESSION["uid"]);
|
||||||
|
|
||||||
while ($line = db_fetch_assoc($result)) {
|
while ($line = db_fetch_assoc($result)) {
|
||||||
print "<feed id=\"".$line["id"]."\"><![CDATA[";
|
|
||||||
|
$has_icon = (int) feed_has_icon($line["id"]);
|
||||||
|
|
||||||
|
print "<feed has_icon=\"$has_icon\" id=\"".$line["id"]."\"><![CDATA[";
|
||||||
print $line["title"];
|
print $line["title"];
|
||||||
print "]]></feed>";
|
print "]]></feed>";
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 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)");
|
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++) {
|
for (var i = 0; i < feeds.length; i++) {
|
||||||
var id = feeds[i].getAttribute("id");
|
var id = feeds[i].getAttribute("id");
|
||||||
|
var has_icon = feeds[i].getAttribute("has_icon");
|
||||||
var title = feeds[i].firstChild.nodeValue;
|
var title = feeds[i].firstChild.nodeValue;
|
||||||
|
|
||||||
db.execute("INSERT INTO offline_feeds (id,title) VALUES (?,?)",
|
db.execute("INSERT INTO offline_feeds (id,title,has_icon)"+
|
||||||
[id, title]);
|
"VALUES (?,?,?)",
|
||||||
|
[id, title, has_icon]);
|
||||||
}
|
}
|
||||||
|
|
||||||
window.setTimeout("initiate_offline_download("+(stage+1)+")", 50);
|
window.setTimeout("initiate_offline_download("+(stage+1)+")", 50);
|
||||||
|
|
Loading…
Reference in New Issue