From 46e263586978ac443967c28fc6800a44c2f1d33b Mon Sep 17 00:00:00 2001 From: wn_ Date: Wed, 21 Dec 2022 21:03:38 +0000 Subject: [PATCH] Only count updating (i.e. enabled) feeds when determining active feeds with errors. This excludes feeds that had errors and currently have updating disabled (e.g. disabled due to the site being down for a while, getting compromised, etc.). Disabled / non-updating feeds' error states are still visible when viewed in the feed tree. --- classes/feeds.php | 22 ++++++++++------------ classes/pref/feeds.php | 1 + 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/classes/feeds.php b/classes/feeds.php index 382d8dbf8..3c21400f8 100755 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -431,12 +431,11 @@ class Feeds extends Handler_Protected { $reply['content'] .= sprintf(__("Feeds last updated at %s"), $last_updated); - $sth = $this->pdo->prepare("SELECT COUNT(id) AS num_errors - FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ?"); - $sth->execute([$_SESSION['uid']]); - $row = $sth->fetch(); - - $num_errors = $row["num_errors"]; + $num_errors = ORM::for_table('ttrss_feeds') + ->where_not_equal('last_error', '') + ->where('owner_uid', $_SESSION['uid']) + ->where_gt('update_interval', 0) + ->count('id'); if ($num_errors > 0) { $reply['content'] .= "
"; @@ -585,12 +584,11 @@ class Feeds extends Handler_Protected { $reply['headlines']['content'] .= sprintf(__("Feeds last updated at %s"), $last_updated); - $sth = $this->pdo->prepare("SELECT COUNT(id) AS num_errors - FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ?"); - $sth->execute([$_SESSION['uid']]); - $row = $sth->fetch(); - - $num_errors = $row["num_errors"]; + $num_errors = ORM::for_table('ttrss_feeds') + ->where_not_equal('last_error', '') + ->where('owner_uid', $_SESSION['uid']) + ->where_gt('update_interval', 0) + ->count('id'); if ($num_errors > 0) { $reply['headlines']['content'] .= "
"; diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index a9ae91979..7853e7243 100755 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -1154,6 +1154,7 @@ class Pref_Feeds extends Handler_Protected { ->select_many('id', 'title', 'feed_url', 'last_error', 'site_url') ->where_not_equal('last_error', '') ->where('owner_uid', $_SESSION['uid']) + ->where_gt('update_interval', 0) ->find_array()); }