digest: support tags

This commit is contained in:
Andrew Dolgov 2010-09-12 14:37:47 +04:00
parent ef1ef3bc29
commit 78ac6caf00
5 changed files with 68 additions and 11 deletions

View File

@ -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;
}

View File

@ -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 += "<a href=\"#\" onclick=\"viewfeed('" +
article.tags[i] + "')\">" +
article.tags[i] + "</a>, ";
}
tags_part = tags_part.replace(/, $/, "");
tags_part = "<span class=\"tags\">" + tags_part + "</span>";
}
if (article.marked)
mark_part = "<img title='"+ __("Unstar article")+"' onclick=\"toggle_mark(this, "+article.id+")\" src='images/mark_set.png'>";
else
@ -320,7 +338,7 @@ function add_headline_entry(article, feed) {
"<div style='display : none' class='content'>" +
article.content + "</div>" +
"<div class='info'><a href=\#\" onclick=\"viewfeed("+feed.id+")\">" +
feed.title + "</a> " + " @ " +
feed.title + "</a> " + tags_part + " @ " +
new Date(article.updated * 1000) + "</div>" +
"</div></li>";
@ -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');

View File

@ -91,7 +91,8 @@
</div>
<div id="headlines">
<h1><?php echo __('headlines') ?></h1>
<h1><a href="#" onclick="viewfeed(-4)"><?php echo __('headlines') ?></a>:
<span id="headlines-title"></span></h1>
<ul id="headlines-content"> </ul>
</div>
@ -107,6 +108,13 @@
v<?php echo VERSION ?>
<?php } ?>
&copy; 2005&ndash;<?php echo date('Y') ?>
<a href="http://fakecake.org/">Andrew Dolgov</a></div>
<a href="http://fakecake.org/">Andrew Dolgov</a>
<br/>
<a href="tt-rss.php">
<?php echo __("You are viewing the digest page. Click to open full version.") ?></a>
</div>
</body>

View File

@ -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) {

View File

@ -984,8 +984,6 @@
if (!$feed_id) $feed_id = -4;
if (!$offset) $offset = 0;
print "<rpc-reply>";
$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 "<headlines-title><![CDATA[" . getFeedTitle($link, $feed_id) .
"]]></headlines-title>";
print "<headlines><![CDATA[" . json_encode($headlines) . "]]></headlines>";
print "</rpc-reply>";