summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-10-25 13:15:14 +0400
committerAndrew Dolgov <[email protected]>2012-10-25 13:15:14 +0400
commitc0c2abbaa73363a1349e41ec08cd54a0d1e8ad8e (patch)
treed9dc8891e5d0d39ed88aebf7a9058de6f8bae8f8 /classes
parent56b2a4095b9d819609cffe50306803a215401f16 (diff)
force refetch feed when clicking update/clicking on same feed in the tree
Diffstat (limited to 'classes')
-rw-r--r--classes/feeds.php17
1 files changed, 14 insertions, 3 deletions
diff --git a/classes/feeds.php b/classes/feeds.php
index 836bbb060..df206c2ef 100644
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -134,9 +134,20 @@ class Feeds extends Handler_Protected {
$method_split = explode(":", $method);
- if ($method == "ForceUpdate" && $feed && is_numeric($feed) > 0) {
- include "rssfuncs.php";
- update_rss_feed($this->link, $feed, true);
+ if ($method == "ForceUpdate" && $feed > 0 && is_numeric($feed)) {
+ // Update the feed if required with some basic flood control
+
+ $result = db_query($this->link,
+ "SELECT ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
+ FROM ttrss_feeds WHERE id = '$feed'");
+
+ if (db_num_rows($result) != 0) {
+ $last_updated = strtotime(db_fetch_result($result, 0, "last_updated"));
+ if (time() - $last_updated > 120) {
+ include "rssfuncs.php";
+ update_rss_feed($this->link, $feed, true, true);
+ }
+ }
}
if ($method_split[0] == "MarkAllReadGR") {