summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.php-dist4
-rw-r--r--update_daemon.php38
2 files changed, 39 insertions, 3 deletions
diff --git a/config.php-dist b/config.php-dist
index e72e52911..61a3226b8 100644
--- a/config.php-dist
+++ b/config.php-dist
@@ -120,5 +120,9 @@
// Expected config version. Please updated this option in config.php
// if necessary (after migrating all new options from this file).
+ define('DAEMON_UPDATE_LOGIN_LIMIT', 30);
+ // Stop updating feeds of user who was never logged in
+ // in specified amount of days. 0 disables.
+
// vim:ft=php
?>
diff --git a/update_daemon.php b/update_daemon.php
index d61ed69f1..a6fb5461d 100644
--- a/update_daemon.php
+++ b/update_daemon.php
@@ -75,12 +75,44 @@
$random_qpart = sql_random_function();
- $result = db_query($link, "SELECT feed_url,id,owner_uid,
- SUBSTRING(last_updated,1,19) AS last_updated,
- update_interval FROM ttrss_feeds ORDER BY $random_qpart DESC");
+/*
+ ttrss_entries.date_entered < NOW() - INTERVAL '$purge_interval days'");
+ }
+
+ $rows = pg_affected_rows($result);
+
+ } else {
+
+ $result = db_query($link, "DELETE FROM ttrss_user_entries
+ USING ttrss_user_entries, ttrss_entries
+ WHERE ttrss_entries.id = ref_id AND
+ marked = false AND
+ feed_id = '$feed_id' AND
+ ttrss_entries.date_entered < DATE_SUB(NOW(), INTERVAL $purge_interval DAY)"); */
+
+ if (DAEMON_UPDATE_LOGIN_LIMIT > 0) {
+ if (DB_TYPE == "pgsql") {
+ $login_thresh_qpart = "AND ttrss_users.last_login >= NOW() - INTERVAL '".DAEMON_UPDATE_LOGIN_LIMIT." days'";
+ } else {
+ $login_thresh_qpart = "AND ttrss_users.last_login >= DATE_SUB(NOW(), INTERVAL ".DAEMON_UPDATE_LOGIN_LIMIT." DAY)";
+ }
+ } else {
+ $login_thresh_qpart = "";
+ }
+
+ $result = db_query($link, "SELECT feed_url,ttrss_feeds.id,owner_uid,
+ SUBSTRING(last_updated,1,19) AS last_updated,
+ update_interval
+ FROM
+ ttrss_feeds,ttrss_users
+ WHERE
+ ttrss_users.id = owner_uid $login_thresh_qpart
+ ORDER BY $random_qpart DESC");
$user_prefs_cache = array();
+ printf("Scheduled %d feeds to update...\n", db_num_rows($result));
+
while ($line = db_fetch_assoc($result)) {
$upd_intl = $line["update_interval"];