From eed55fd30e4ba648f9678c526d58749638ff5e62 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 28 Apr 2006 08:01:41 +0100 Subject: [PATCH] new option: DAEMON_UPDATE_LOGIN_LIMIT --- config.php-dist | 4 ++++ update_daemon.php | 38 +++++++++++++++++++++++++++++++++++--- 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"];