diff options
| author | wn_ <invalid@email.com> | 2025-05-17 19:08:12 +0000 |
|---|---|---|
| committer | wn_ <invalid@email.com> | 2025-05-17 19:08:15 +0000 |
| commit | c472f00445a91331e396511229f469de70302588 (patch) | |
| tree | 612fbc72b3d3708984c6e9b5cfa11bc69bb76e7e /classes/Feeds.php | |
| parent | 868c1cadad9a370d05f3ff72710bd488689bafdf (diff) | |
Get rid of 'Db::past_comparison_qpart()'.
With MySQL support dropped this function is just an unnecessary layer of abstraction.
Diffstat (limited to 'classes/Feeds.php')
| -rw-r--r-- | classes/Feeds.php | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/classes/Feeds.php b/classes/Feeds.php index bea3bb0f4..7640185c1 100644 --- a/classes/Feeds.php +++ b/classes/Feeds.php @@ -754,7 +754,7 @@ class Feeds extends Handler_Protected { } $date_qpart = match ($mode) { - '1day', '1week', '2week' => Db::past_comparison_qpart('date_entered', '<', (int) substr($mode, 0, 1), substr($mode, 1)), + '1day', '1week', '2week' => "date_entered < NOW() - INTERVAL '" . (int) substr($mode, 0, 1) . " " . substr($mode, 1) . "'", default => 'true', }; @@ -827,13 +827,12 @@ class Feeds extends Handler_Protected { $intl = (int) Prefs::get(Prefs::FRESH_ARTICLE_MAX_AGE, $owner_uid, $profile); - $match_part = Db::past_comparison_qpart('date_entered', '>', $intl, 'hour'); - $sth = $pdo->prepare("UPDATE ttrss_user_entries SET unread = false, last_read = NOW() WHERE ref_id IN (SELECT id FROM (SELECT DISTINCT id FROM ttrss_entries, ttrss_user_entries WHERE ref_id = id - AND owner_uid = ? AND score >= 0 AND unread = true AND $date_qpart AND $match_part AND $search_qpart) as tmp)"); + AND owner_uid = ? AND score >= 0 AND unread = true AND date_entered > NOW() - INTERVAL '$intl hour' + AND $date_qpart AND $search_qpart) as tmp)"); $sth->execute([$owner_uid]); } @@ -919,7 +918,7 @@ class Feeds extends Handler_Protected { $match_part = "published = true"; } else if ($n_feed == Feeds::FEED_FRESH) { $intl = (int) Prefs::get(Prefs::FRESH_ARTICLE_MAX_AGE, $owner_uid, $profile); - $match_part = 'unread = true AND score >= 0 AND ' . Db::past_comparison_qpart('date_entered', '>', $intl, 'hour'); + $match_part = "unread = true AND score >= 0 AND date_entered > NOW() - INTERVAL '$intl hour'"; $need_entries = true; @@ -1530,8 +1529,8 @@ class Feeds extends Handler_Protected { } } else if ($feed == Feeds::FEED_RECENTLY_READ) { // recently read - $query_strategy_part = 'unread = false AND last_read IS NOT NULL AND ' - . Db::past_comparison_qpart('last_read', '>', 1, 'day'); + $query_strategy_part = "unread = false AND last_read IS NOT NULL AND + last_read > NOW() - INTERVAL '1 day'"; $vfeed_query_part = "ttrss_feeds.title AS feed_title,"; $allow_archived = true; @@ -1542,8 +1541,8 @@ class Feeds extends Handler_Protected { } else if ($feed == Feeds::FEED_FRESH) { // fresh virtual feed $intl = (int) Prefs::get(Prefs::FRESH_ARTICLE_MAX_AGE, $owner_uid, $profile); - $query_strategy_part = 'unread = true AND score >= 0 AND ' - . Db::past_comparison_qpart('date_entered', '>', $intl, 'hour'); + $query_strategy_part = "unread = true AND score >= 0 AND + date_entered > NOW() - INTERVAL '$intl hour'"; $vfeed_query_part = "ttrss_feeds.title AS feed_title,"; } else if ($feed == Feeds::FEED_ALL) { // all articles virtual feed @@ -1660,8 +1659,6 @@ class Feeds extends Handler_Protected { if ($feed == Feeds::FEED_FRESH) $first_id_query_strategy_part = "true"; - $sanity_interval_qpart = Db::past_comparison_qpart('date_entered', '>=', 1, 'hour') . ' AND '; - $distinct_columns = str_replace("desc", "", strtolower($order_by)); $distinct_qpart = "DISTINCT ON (id, $distinct_columns)"; @@ -1695,7 +1692,7 @@ class Feeds extends Handler_Protected { $search_query_part $start_ts_query_part $since_id_part - $sanity_interval_qpart + date_entered >= NOW() - INTERVAL '1 hour' AND $first_id_query_strategy_part ORDER BY $order_by LIMIT 1"; if (!empty($_REQUEST["debug"])) { |