]> git.wh0rd.org - tt-rss.git/blobdiff - functions.php
new option: VFEED_GROUP_BY_FEED (bump schema version)
[tt-rss.git] / functions.php
index a8cb09fe40a33882c0eeba002d37401125441c59..737423913d6c7c17c8d58495e84e7450834a9ee1 100644 (file)
                                                        _debug("update_rss_feed: user record not found, creating...");
                                                }
 
-                                               if (!find_article_filter($article_filters, 'catchup')) {
+                                               if ($score >= -500 && !find_article_filter($article_filters, 'catchup')) {
                                                        $unread = 'true';
                                                        $last_read_qpart = 'NULL';
                                                } else {
                                        $offset_query_part = "OFFSET $offset";
                                }
 
-                               if ($vfeed_query_part && defined('_VFEED_GROUP_BY_FEED')) {
+                               if ($vfeed_query_part && get_pref($link, 'VFEED_GROUP_BY_FEED', $owner_uid)) {
                                        if (!$override_order) {
                                                $order_by = "ttrss_feeds.title, $order_by";     
                                        }
        }
 
        function outputHeadlinesList($link, $feed, $subop, $view_mode, $limit, $cat_view,
-                                       $next_unread_feed, $offset) {
+                                       $next_unread_feed, $offset, $vgr_last_feed = false) {
 
                $disable_cache = false;
 
 
                if ($subop == "undefined") $subop = "";
 
+               $subop_split = split(":", $subop);
+
                if ($subop == "CatchupSelected") {
                        $ids = split(",", db_escape_string($_GET["ids"]));
                        $cmode = sprintf("%d", $_GET["cmode"]);
                        }
                }
 
+               if ($subop_split[0] == "MarkAllReadGR")  {
+                       catchup_feed($link, $subop_split[1], false);
+               }
+
+
                if ($feed_id > 0) {             
                        $result = db_query($link,
                                "SELECT id FROM ttrss_feeds WHERE id = '$feed' LIMIT 1");
                $feed_site_url = $qfh_ret[2];
                $last_error = $qfh_ret[3];
 
+               $vgroup_last_feed = $vgr_last_feed;
+
                if ($feed == -2) {
                        $feed_site_url = article_publish_url($link);
                }
 
                                if (!get_pref($link, 'COMBINED_DISPLAY_MODE')) {
 
-                                       if (defined('_VFEED_GROUP_BY_FEED')) {
-                                               if ($line["feed_title"] != $cur_feed_title) {
-/*                                                     print "<tr class='feedTitle'><td colspan='7'>".
-                                                               $line["feed_title"].
-                                                               " (<a href=\"javascript:viewfeed($feed_id, '', false)\">".
-                                                               "more</a>)</td></tr>"; */
+                                       if (get_pref($link, 'VFEED_GROUP_BY_FEED')) {
+                                               if ($feed_id != $vgroup_last_feed) {
+
+                                                       $cur_feed_title = $line["feed_title"];
+                                                       $vgroup_last_feed = $feed_id;
+
+
+                                                       $vf_catchup_link = "(<a href='javascript:catchupFeedInGroup($feed_id, \"$cur_feed_title\")'>mark as read</a>)";
 
                                                        print "<tr class='feedTitle'><td colspan='7'>".
                                                                "<a href=\"javascript:viewfeed($feed_id, '', false)\">".
-                                                               $line["feed_title"]."</a>:</td></tr>";
-
-                                                       $cur_feed_title = $line["feed_title"];
+                                                               $line["feed_title"]."</a> $vf_catchup_link:</td></tr>";
                                                }
                                        }
                                        
 #                                                              truncate_string($line["feed_title"],30)."</a>&nbsp;</td>";
 #                                      } else {                        
 
-                                       print "<td class='hlContent$hlc_suffix' valign='middle'>";
+                                       print "<td onclick='javascript:view($id,$feed_id)' class='hlContent$hlc_suffix' valign='middle'>";
 
                                        print "<a id=\"RTITLE-$id\" href=\"javascript:view($id,$feed_id);\">" .
                                                $line["title"];
 #                                                      <a href=\"javascript:viewfeed($feed_id, '', false)\">".
 #                                                      $line["feed_title"]."</a>       
 
-                                       if (!defined('_VFEED_GROUP_BY_FEED')) {
+                                       if (!get_pref($link, 'VFEED_GROUP_BY_FEED')) {
                                                if ($line["feed_title"]) {                      
                                                        print "<span class=\"hlFeed\">
                                                                (<a href=\"javascript:viewfeed($feed_id, '', false)\">".
                                        
 #                                      }
                                        
-                                       print "<td class=\"hlUpdated\"><nobr>$updated_fmt&nbsp;</nobr></td>";
+                                       print "<td class=\"hlUpdated\" onclick='javascript:view($id,$feed_id)'><nobr>$updated_fmt&nbsp;</nobr></td>";
 
                                        print "<td class='hlMarkedPic'>$score_pic</td>";
        
 
                                } else {
 
-                                       if (defined('_VFEED_GROUP_BY_FEED')) {
-                                               if ($line["feed_title"] != $cur_feed_title) {
+                                       if (get_pref($link, 'VFEED_GROUP_BY_FEED')) {
+                                               if ($feed_id != $vgroup_last_feed) {
+
+                                                       $cur_feed_title = $line["feed_title"];
+                                                       $vgroup_last_feed = $feed_id;
+
+                                                       $vf_catchup_link = "(<a href='javascript:catchupFeedInGroup($feed_id, \"$cur_feed_title\")'>mark as read</a>)";
+
                                                        print "<div class='cdmFeedTitle'>".
                                                                "<a href=\"javascript:viewfeed($feed_id, '', false)\">".
-                                                               $line["feed_title"]."</a></div>";
-                                                       $cur_feed_title = $line["feed_title"];
+                                                               $line["feed_title"]."</a> $vf_catchup_link</div>";
                                                }
                                        }
 
                                        } 
 
 
-                                       if (!defined('_VFEED_GROUP_BY_FEED')) {
+                                       if (!get_pref($link, 'VFEED_GROUP_BY_FEED')) {
                                                if ($line["feed_title"]) {      
                                                        print "&nbsp;(<a href='javascript:viewfeed($feed_id)'>".$line["feed_title"]."</a>)";
                                                }
                        print "</div>";
                }
 
-               return array($topmost_article_ids, $headlines_count, $feed, $disable_cache);
+               return array($topmost_article_ids, $headlines_count, $feed, $disable_cache, $vgroup_last_feed);
        }
 
 // from here: http://www.roscripts.com/Create_tag_cloud-71.html
                }
        }
 
-       function rounded_table_start($classname) {
+       function rounded_table_start($classname, $header = "&nbsp;") {
                print "<table width='100%' class='$classname' cellspacing='0' cellpadding='0'>";
-               print "<tr><td class='c1'>&nbsp;</td><td class='top'>&nbsp;</td><td class='c2'>&nbsp;</tr>";
+               print "<tr><td class='c1'>&nbsp;</td><td class='top'>$header</td><td class='c2'>&nbsp;</tr>";
                print "<tr><td class='left'>&nbsp;</td><td class='content'>";
        }
 
-       function rounded_table_end() {
+       function rounded_table_end($footer = "&nbsp;") {
                print "</td><td class='right'>&nbsp;</td></tr>";
-               print "<tr><td class='c4'>&nbsp;</td><td class='bottom'>&nbsp;</td><td class='c3'>&nbsp;</tr>";
+               print "<tr><td class='c4'>&nbsp;</td><td class='bottom'>$footer</td><td class='c3'>&nbsp;</tr>";
                print "</table>";
        }