From 6da82466dfc8bf21a371892e4ea71aaf124996be Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 6 Feb 2009 14:05:40 +0300 Subject: viewfeed_offline: show article labels --- offline.js | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/offline.js b/offline.js index f9f357966..b218639a3 100644 --- a/offline.js +++ b/offline.js @@ -247,7 +247,15 @@ function viewfeed_offline(feed_id, subop, is_cat, subop_param, skip_history, off if (rs.fieldByName("unread") == "1") { row_class += "Unread"; } - + + var labels = get_local_article_labels(id); + + debug(labels); + + var labels_str = ""; + labels_str += format_article_labels(labels, id); + labels_str += ""; + if (rs.fieldByName("marked") == "1") { marked_pic = ""+ "("+entry_feed_title+")"; @@ -1069,6 +1081,34 @@ function is_local_cat_collapsed(id) { } } +function get_local_article_labels(id) { + try { + var rs = db.execute("SELECT DISTINCT label_id,caption,fg_color,bg_color "+ + "FROM labels, article_labels "+ + "WHERE labels.id = label_id AND article_labels.id = ?", [id]); + + var tmp = new Array(); + + while (rs.isValidRow()) { + var e = new Array(); + + e[0] = rs.field(0); + e[1] = rs.field(1); + e[2] = rs.field(2); + e[3] = rs.field(3); + + tmp.push(e); + + rs.next(); + } + + return tmp; + + } catch (e) { + exception_error("get_local_article_labels", e); + } +} + function label_local_add_article(id, label_id) { try { debug("label_local_add_article " + id + " => " + label_id); @@ -1128,3 +1168,25 @@ function get_local_feed_title(id) { exception_error("get_local_feed_title", e); } } + +function format_article_labels(labels, id) { + try { + + var labels_str = ""; + + if (!labels) return ""; + + for (var i = 0; i < labels.length; i++) { + var l = labels[i]; + + labels_str += ""+l[1]+""; + } + + return labels_str; + + } catch (e) { + exception_error("format_article_labels", e); + } +} + -- cgit v1.2.3