summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-09-12 14:37:47 +0400
committerAndrew Dolgov <[email protected]>2010-09-12 14:37:47 +0400
commit78ac6caf001402142951ec90e8d0a1dac02e433b (patch)
tree11aeaa928f2c79ab776a822ae655d91fbb3925d4
parentef1ef3bc29b3324830c26efa9678568c4c530e2f (diff)
digest: support tags
-rw-r--r--digest.css30
-rw-r--r--digest.js31
-rw-r--r--digest.php12
-rw-r--r--functions.php1
-rw-r--r--modules/backend-rpc.php5
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 += "<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');
diff --git a/digest.php b/digest.php
index c217d2abf..2b7f91807 100644
--- a/digest.php
+++ b/digest.php
@@ -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>
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 "<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>";