From 78ac6caf001402142951ec90e8d0a1dac02e433b Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 12 Sep 2010 14:37:47 +0400 Subject: [PATCH] digest: support tags --- digest.css | 30 +++++++++++++++++++++++++++--- digest.js | 31 +++++++++++++++++++++++++++---- digest.php | 12 ++++++++++-- functions.php | 1 + modules/backend-rpc.php | 5 +++-- 5 files changed, 68 insertions(+), 11 deletions(-) diff --git a/digest.css b/digest.css index f7ddff689..cfee28bcf 100644 --- a/digest.css +++ b/digest.css @@ -18,6 +18,10 @@ a:hover { color : gray; } +#header a:hover, #footer a:hover { + color : #0069D8; +} + #header { font-weight : bold; font-size : 14px; @@ -159,6 +163,18 @@ a:hover { max-width : 65%; } +#headlines h1 a { + color : #684C99; +} + +#headlines h1 a:hover { + color : gray; +} + +#headlines h1 #headlines-title { + color : gray; +} + #headlines ul#headlines-content div.digest-check { float : right; } @@ -214,15 +230,23 @@ a:hover { } #headlines ul#headlines-content div.info { - margin-top : 2px; font-size : 11px; } #headlines ul#headlines-content div.info a { color : gray; - font-weight : bold; } -#headlines ul#headlines-content div.info a:hover { +#headlines ul#headlines-content span.tags { + font-size : 11px; + margin-bottom : 2px; +} + +#headlines ul#headlines-content span.tags a { + color : #684C99; +} + +#headlines ul#headlines-content div.info a:hover, +#headlines ul#headlines-content span.tags a:hover { color : #659a4c; } diff --git a/digest.js b/digest.js index 82abe6676..51c824ee4 100644 --- a/digest.js +++ b/digest.js @@ -186,8 +186,10 @@ function viewfeed(feed_id, offset) { offset = _active_feed_offset + offset; } - var query = "backend.php?op=rpc&subop=digest-update&feed_id=" + feed_id + - "&offset=" + offset; + var query = "backend.php?op=rpc&subop=digest-update&feed_id=" + + param_escape(feed_id) + "&offset=" + offset; + + console.log(query); new Ajax.Request("backend.php", { parameters: query, @@ -293,6 +295,22 @@ function add_headline_entry(article, feed) { var mark_part = ""; var publ_part = ""; + var tags_part = ""; + + if (article.tags.length > 0) { + + tags_part = " " + __("in") + " "; + + for (var i = 0; i < Math.min(5, article.tags.length); i++) { + tags_part += "" + + article.tags[i] + ", "; + } + + tags_part = tags_part.replace(/, $/, ""); + tags_part = "" + tags_part + ""; + } + if (article.marked) mark_part = ""; else @@ -320,7 +338,7 @@ function add_headline_entry(article, feed) { "" + "
" + - feed.title + " " + " @ " + + feed.title + " " + tags_part + " @ " + new Date(article.updated * 1000) + "
" + ""; @@ -410,10 +428,15 @@ function parse_headlines(transport, replace) { if (!transport.responseXML) return; var headlines = transport.responseXML.getElementsByTagName('headlines')[0]; + var headlines_title = transport.responseXML.getElementsByTagName('headlines-title')[0]; - if (headlines) { + if (headlines && headlines_title) { headlines = eval("(" + headlines.firstChild.nodeValue + ")"); + var title = headlines_title.firstChild.nodeValue; + + $("headlines-title").innerHTML = title; + if (replace) $('headlines-content').innerHTML = ''; var pr = $('H-MORE-PROMPT'); diff --git a/digest.php b/digest.php index c217d2abf..2b7f91807 100644 --- a/digest.php +++ b/digest.php @@ -91,7 +91,8 @@
-

+

: +

@@ -107,6 +108,13 @@ v © 2005– - Andrew Dolgov + Andrew Dolgov + +
+ + + + + diff --git a/functions.php b/functions.php index 2174460b4..232ee7c1f 100644 --- a/functions.php +++ b/functions.php @@ -6783,6 +6783,7 @@ "title" => $line["title"], "link" => $line["link"], "feed_id" => $line["feed_id"], + "tags" => get_article_tags($link, $line["id"]), ); if ($show_excerpt) { diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php index 976fac15c..a0e4e77df 100644 --- a/modules/backend-rpc.php +++ b/modules/backend-rpc.php @@ -984,8 +984,6 @@ if (!$feed_id) $feed_id = -4; if (!$offset) $offset = 0; - - print ""; $headlines = api_get_headlines($link, $feed_id, 10, $offset, @@ -994,6 +992,9 @@ //function api_get_headlines($link, $feed_id, $limit, $offset, // $filter, $is_cat, $show_excerpt, $show_content, $view_mode) { + print ""; + print ""; print "";