]> git.wh0rd.org - tt-rss.git/blobdiff - functions.php
purge feeds after updating
[tt-rss.git] / functions.php
index cd14aba52c2fd5e371f6986d885b9ce18ebb2261..565c5d1032cca34d497f90db239f89f432e7494e 100644 (file)
 
                if (!$owner_uid) return;
 
-               $purge_unread = get_pref($link, "PURGE_UNREAD_ARTICLES",
-                       $owner_uid, false);
+               if (FORCE_ARTICLE_PURGE == 0) {
+                       $purge_unread = get_pref($link, "PURGE_UNREAD_ARTICLES",
+                               $owner_uid, false);
+               } else {
+                       $purge_unread = true;
+                       $purge_interval = FORCE_ARTICLE_PURGE;
+               }
 
                if (!$purge_unread) $query_limit = " unread = false AND ";
 
 //                             print "Feed $feed_id: purge interval = $purge_interval\n";
                        }
 
-                       if ($purge_interval > 0) {
+                       if ($purge_interval > 0 || FORCE_ARTICLE_PURGE) {
                                purge_feed($link, $feed_id, $purge_interval, $do_output);
                        }
                }       
                                        _debug("update_rss_feed: updating counters cache...");
                                }
 
-                               ccache_update($link, $feed, $owner_uid);
+                               // disabled, purge_feed() does that...
+                               //ccache_update($link, $feed, $owner_uid);
                        }
 
+                       purge_feed($link, $feed, 0, true);
+
                        db_query($link, "UPDATE ttrss_feeds 
                                SET last_updated = NOW(), last_error = '' WHERE id = '$feed'");
 
                                                catchupArticlesById($link, $affected_ids, 0);
                                        }
 
+                                       if ($feed == -4) {
+                                               db_query($link, "UPDATE ttrss_user_entries 
+                                                       SET unread = false,last_read = NOW()
+                                                       WHERE owner_uid = ".$_SESSION["uid"]);
+                                       }
+
                                } else if ($feed < -10) { // label
 
                                        $label_id = -$feed - 11;
                                        LEFT JOIN ttrss_user_labels2 ON (label_id = ttrss_labels2.id) 
                                                LEFT JOIN ttrss_user_entries ON (ref_id = article_id AND
                                                        unread = true AND
-                                                       ttrss_user_entries.owner_uid = '$owner_uid'),ttrss_feeds
-                                               WHERE ttrss_feeds.id = feed_id AND
-                                                       hidden = false AND                                              
-                                                       ttrss_labels2.owner_uid = '$owner_uid'
+                                                       ttrss_user_entries.owner_uid = '$owner_uid')
+                                               LEFT JOIN ttrss_feeds ON (ttrss_feeds.id = feed_id AND hidden = false)
+                                               WHERE ttrss_labels2.owner_uid = '$owner_uid'
                                        GROUP BY ttrss_labels2.id, caption");
                
                        while ($line = db_fetch_assoc($result)) {
                        if ($view_mode == "unread") {
                                $view_query_part = " unread = true AND ";
                        }
-       
+
+                       if ($view_mode == "updated") {
+                               $view_query_part = " (last_read is null and unread = false) AND ";
+                       }
+
                        if ($limit > 0) {
                                $limit_query_part = "LIMIT " . $limit;
                        } 
 } */
                                }
 
-                               $query = "SELECT 
+                               $query = "SELECT DISTINCT 
                                                guid,
                                                ttrss_entries.id,ttrss_entries.title,
                                                updated,
                                $inner_title_class = "catTitleNL";
                        }
 
-                       if ($cat_id >= 0) {
-                               $cat_class = "feedCat";
-                       } else {
-                               $cat_class = "virtCat";
-                       }
+                       $cat_class = "feedCat";
 
                        print "<li class=\"$cat_class\" id=\"FCAT-$cat_id\">
                                <img onclick=\"toggleCollapseCat($cat_id)\" class=\"catCollapse\"
                                ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated_noms,
                                cat_id,last_error,
                                ttrss_feed_categories.title AS category,
-                               ttrss_feed_categories.collapsed 
-                               FROM ttrss_feeds LEFT JOIN ttrss_feed_categories 
-                                       ON (ttrss_feed_categories.id = cat_id)                          
+                               ttrss_feed_categories.collapsed,
+                               value AS unread 
+                               FROM ttrss_feeds LEFT JOIN ttrss_feed_categories
+                                       ON (ttrss_feed_categories.id = cat_id)                  
+                               LEFT JOIN ttrss_counters_cache 
+                                       ON
+                                               (ttrss_feeds.id = feed_id)
                                WHERE 
                                        ttrss_feeds.hidden = false AND
                                        ttrss_feeds.owner_uid = '$owner_uid' AND parent_feed IS NULL
                                if (!$feed) $feed = "[Untitled]";
 
                                $feed_id = $line["id"];   
+                               $unread = $line["unread"];
        
                                $subop = $_GET["subop"];
-                               
-                               $unread = ccache_find($link, $feed_id, $_SESSION["uid"]);
 
                                if (get_pref($link, 'HEADLINES_SMART_DATE')) {
                                        $last_updated = smart_date_time(strtotime($line["last_updated_noms"]));
                        print "</div>";
 
                        print "<div class=\"postIcon\">" . $feed_icon . "</div>";
+
                        print "<div class=\"postContent\">";
-                       
+
                        #print "<div id=\"allEntryTags\">".__('Tags:')." $f_tags_str</div>";
 
                        $article_content = sanitize_rss($link, $line["content"]);
                                case "unread":
                                        $message = __("No unread articles found to display.");
                                        break;
+                               case "updated":
+                                       $message = __("No updated articles found to display.");
+                                       break;
                                case "marked":
                                        $message = __("No starred articles found to display.");
                                        break;
                                default:
-                                       $message = __("No articles found to display.");
+                                       if ($feed < -10) {
+                                               $message = __("No articles found to display. You can assign articles to labels manually (see the Actions menu above) or use a filter.");
+                                       } else {
+                                               $message = __("No articles found to display.");
+                                       }
                        }
 
                        if (!$offset) print "<div class='whiteBox'>$message</div>";