]> git.wh0rd.org - tt-rss.git/commitdiff
apply patch from gmargo to differentiate between manual and new feed after-subscripti...
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sat, 5 May 2012 18:28:46 +0000 (22:28 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sat, 5 May 2012 18:28:46 +0000 (22:28 +0400)
classes/rpc.php
include/rssfuncs.php

index 5bb9b32953c1b5099748b5991287323c1f958726..a5e32d47e594d43623823de674b91b2cfef61cd9 100644 (file)
@@ -746,7 +746,7 @@ class RPC extends Protected_Handler {
 
                                db_query($this->link, "UPDATE ttrss_feeds SET
                                        last_update_started = '1970-01-01',
-                                       last_updated = NULL WHERE id = '$feed_id' AND
+                                       last_updated = '1970-01-01' WHERE id = '$feed_id' AND
                                        owner_uid = ".$_SESSION["uid"]);
 
                        } else {
@@ -759,7 +759,7 @@ class RPC extends Protected_Handler {
 
                                db_query($this->link, "UPDATE ttrss_feeds SET
                                                last_update_started = '1970-01-01',
-                                               last_updated = NULL WHERE $cat_query AND
+                                               last_updated = '1970-01-01' WHERE $cat_query AND
                                                owner_uid = ".$_SESSION["uid"]);
                        }
                } else {
index 9ffe7a4637ca871e5c839e5e552dc6da3331d8b7..48a246d886d51bff4f514bef193d2df330a2745d 100644 (file)
@@ -81,7 +81,8 @@
                                ) OR (
                                        ttrss_feeds.update_interval > 0
                                        AND ttrss_feeds.last_updated < NOW() - CAST((ttrss_feeds.update_interval || ' minutes') AS INTERVAL)
-                               ) OR ttrss_feeds.last_updated IS NULL)";
+                               ) OR ttrss_feeds.last_updated IS NULL
+                               OR last_updated = '1970-01-01 00:00:00')";
                } else {
                        $update_limit_qpart = "AND ((
                                        ttrss_feeds.update_interval = 0
@@ -89,7 +90,8 @@
                                ) OR (
                                        ttrss_feeds.update_interval > 0
                                        AND ttrss_feeds.last_updated < DATE_SUB(NOW(), INTERVAL ttrss_feeds.update_interval MINUTE)
-                               ) OR ttrss_feeds.last_updated IS NULL)";
+                               ) OR ttrss_feeds.last_updated IS NULL
+                               OR last_updated = '1970-01-01 00:00:00')";
                }
 
                // Test if feed is currently being updated by another process.
 
                } else {
 
+                       // Ignore cache if new feed or manual update.
+                       $cache_age = (is_null($last_updated) || $last_updated == '1970-01-01 00:00:00') ?
+                               -1 : get_feed_update_interval($link, $feed) * 60;
+
                        if ($update_method == 3) {
                                $rss = fetch_twitter_rss($link, $fetch_url, $owner_uid);
                        } else if ($update_method == 1) {
 
-                               // Ignore cache if manual update.
-                               define('MAGPIE_CACHE_AGE', is_null($last_updated) ? -1 : get_feed_update_interval($link, $feed) * 60);
+                               define('MAGPIE_CACHE_AGE', $cache_age);
                                define('MAGPIE_CACHE_ON', !$no_cache);
                                define('MAGPIE_FETCH_TIME_OUT', 60);
                                define('MAGPIE_CACHE_DIR', CACHE_DIR . "/magpie");
                                $rss->enable_cache(!$no_cache);
 
                                if (!$no_cache) {
-                                       // Ignore cache if manual update.
                                        $rss->set_cache_location($simplepie_cache_dir);
-                                       $rss->set_cache_duration(is_null($last_updated) ? -1 : get_feed_update_interval($link, $feed) * 60);
+                                       $rss->set_cache_duration($cache_age);
                                }
 
                                $rss->init();