]> git.wh0rd.org Git - tt-rss.git/commitdiff
digest: support tags
authorAndrew Dolgov <fox@bah.org.ru>
Sun, 12 Sep 2010 10:37:47 +0000 (14:37 +0400)
committerAndrew Dolgov <fox@bah.org.ru>
Sun, 12 Sep 2010 10:37:47 +0000 (14:37 +0400)
digest.css
digest.js
digest.php
functions.php
modules/backend-rpc.php

index f7ddff689465708e91497aa14e7df22980fac45d..cfee28bcf1930fc888eb8c9b5425cc022bb57c31 100644 (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;
 }
index 82abe6676cb9434a8659ef90658d722162316773..51c824ee489f5c3bc902fa86f61c5521a816f51b 100644 (file)
--- 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');
index c217d2abfe9d1311a7d880e71546431479d6aa51..2b7f91807210816900eececfe8baa732f88d195f 100644 (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>
                 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>
index 2174460b41b9119b2ed57a307487a28eb7e3533f..232ee7c1fadd8c2221c1393a80a9a0081cba2914 100644 (file)
                                                "title" => $line["title"],
                                                "link" => $line["link"],
                                                "feed_id" => $line["feed_id"],
+                                               "tags" => get_article_tags($link, $line["id"]),
                                        );
 
                                if ($show_excerpt) {
index 976fac15c09327241be6f4ac28664b18cb35923b..a0e4e77df97fc13bbc0ee7c7c5e75c89178b851f 100644 (file)
                
                        if (!$feed_id) $feed_id = -4;
                        if (!$offset) $offset = 0;
-
-
                        print "<rpc-reply>";
 
                        $headlines = api_get_headlines($link, $feed_id, 10, $offset,
                        //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>";