From 2fa54cc627cd9a370004a48e1b6430a8a9990846 Mon Sep 17 00:00:00 2001 From: wn_ Date: Sun, 18 May 2025 14:26:05 +0000 Subject: [PATCH] Deprecate and remove use of the 'SUBSTRING_FOR_DATE' constant. With MySQL support removed (b154bc7a10e46dc9fa0406996507c4fd410366da) this constant is unnecessary. --- classes/API.php | 6 +++--- classes/Counters.php | 4 ++-- classes/Digest.php | 2 +- classes/Feeds.php | 6 +++--- classes/Pref_Feeds.php | 6 +++--- classes/Pref_Users.php | 4 ++-- classes/RSSUtils.php | 2 +- include/functions.php | 3 ++- plugins/share/init.php | 2 +- 9 files changed, 18 insertions(+), 17 deletions(-) diff --git a/classes/API.php b/classes/API.php index 2a554e888..e1d4de214 100644 --- a/classes/API.php +++ b/classes/API.php @@ -310,7 +310,7 @@ class API extends Handler { ->select_many('e.id', 'e.guid', 'e.title', 'e.link', 'e.author', 'e.content', 'e.lang', 'e.comments', 'ue.feed_id', 'ue.int_id', 'ue.marked', 'ue.unread', 'ue.published', 'ue.score', 'ue.note') ->select_many_expr([ - 'updated' => SUBSTRING_FOR_DATE.'(updated,1,16)', + 'updated' => 'SUBSTRING_FOR_DATE(updated,1,16)', 'feed_title' => '(SELECT title FROM ttrss_feeds WHERE id = ue.feed_id)', 'site_url' => '(SELECT site_url FROM ttrss_feeds WHERE id = ue.feed_id)', 'hide_images' => '(SELECT hide_images FROM ttrss_feeds WHERE id = feed_id)', @@ -619,7 +619,7 @@ class API extends Handler { /* API only: -3 (Feeds::CATEGORY_ALL_EXCEPT_VIRTUAL) All feeds, excluding virtual feeds (e.g. Labels and such) */ $feeds_obj = ORM::for_table('ttrss_feeds') ->select_many('id', 'feed_url', 'cat_id', 'title', 'order_id', 'last_error', 'update_interval') - ->select_expr(SUBSTRING_FOR_DATE.'(last_updated,1,19)', 'last_updated') + ->select_expr('SUBSTRING_FOR_DATE(last_updated,1,19)', 'last_updated') ->where('owner_uid', $_SESSION['uid']) ->order_by_asc('order_id') ->order_by_asc('title'); @@ -670,7 +670,7 @@ class API extends Handler { $feed = ORM::for_table('ttrss_feeds') ->select_many('id', 'cache_images') - ->select_expr(SUBSTRING_FOR_DATE.'(last_updated,1,19)', 'last_updated') + ->select_expr('SUBSTRING_FOR_DATE(last_updated,1,19)', 'last_updated') ->find_one($feed_id); if ($feed) { diff --git a/classes/Counters.php b/classes/Counters.php index e20657947..4f23a7a41 100644 --- a/classes/Counters.php +++ b/classes/Counters.php @@ -157,7 +157,7 @@ class Counters { $sth = $pdo->prepare("SELECT f.id, f.title, - ".SUBSTRING_FOR_DATE."(f.last_updated,1,19) AS last_updated, + SUBSTRING_FOR_DATE(f.last_updated,1,19) AS last_updated, f.last_error, SUM(CASE WHEN unread THEN 1 ELSE 0 END) AS count, SUM(CASE WHEN marked THEN 1 ELSE 0 END) AS count_marked @@ -169,7 +169,7 @@ class Counters { } else { $sth = $pdo->prepare("SELECT f.id, f.title, - ".SUBSTRING_FOR_DATE."(f.last_updated,1,19) AS last_updated, + SUBSTRING_FOR_DATE(f.last_updated,1,19) AS last_updated, f.last_error, SUM(CASE WHEN unread THEN 1 ELSE 0 END) AS count, SUM(CASE WHEN marked THEN 1 ELSE 0 END) AS count_marked diff --git a/classes/Digest.php b/classes/Digest.php index f0ffafcbf..36389b09f 100644 --- a/classes/Digest.php +++ b/classes/Digest.php @@ -110,7 +110,7 @@ class Digest link, score, content, - ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated + SUBSTRING_FOR_DATE(last_updated,1,19) AS last_updated FROM ttrss_user_entries,ttrss_entries,ttrss_feeds LEFT JOIN diff --git a/classes/Feeds.php b/classes/Feeds.php index 7640185c1..7b0fc60cc 100644 --- a/classes/Feeds.php +++ b/classes/Feeds.php @@ -400,8 +400,8 @@ class Feeds extends Handler_Protected { $reply['content'] .= "

"; - $sth = $this->pdo->prepare("SELECT " . SUBSTRING_FOR_DATE . "(MAX(last_updated), 1, 19) AS last_updated FROM ttrss_feeds - WHERE owner_uid = ?"); + $sth = $this->pdo->prepare("SELECT SUBSTRING_FOR_DATE(MAX(last_updated), 1, 19) AS last_updated + FROM ttrss_feeds WHERE owner_uid = ?"); $sth->execute([$_SESSION['uid']]); $row = $sth->fetch(); @@ -2239,7 +2239,7 @@ class Feeds extends Handler_Protected { $orig_ts = strtotime(substr($k, 1)); $k = date("Y-m-d", TimeHelper::convert_timestamp($orig_ts, $user_tz_string, 'UTC')); - array_push($query_keywords, "(".SUBSTRING_FOR_DATE."(updated,1,LENGTH(".$pdo->quote($k).")) $not = ".$pdo->quote($k).")"); + array_push($query_keywords, "(SUBSTRING_FOR_DATE(updated,1,LENGTH(".$pdo->quote($k).")) $not = ".$pdo->quote($k).")"); } else { // treat as leftover text diff --git a/classes/Pref_Feeds.php b/classes/Pref_Feeds.php index 75ae053bd..d27b7d750 100644 --- a/classes/Pref_Feeds.php +++ b/classes/Pref_Feeds.php @@ -74,7 +74,7 @@ class Pref_Feeds extends Handler_Protected { $feeds_obj = ORM::for_table('ttrss_feeds') ->table_alias('f') ->select_many('id', 'title', 'last_error', 'update_interval') - ->select_expr(SUBSTRING_FOR_DATE.'(last_updated,1,19)', 'last_updated') + ->select_expr('SUBSTRING_FOR_DATE(last_updated,1,19)', 'last_updated') ->left_outer_join('ttrss_user_entries', [ 'ue.feed_id', '=', 'f.id'], 'ue') ->select_expr('COUNT(ue.int_id) AS num_articles') ->where(['cat_id' => $cat_id, 'owner_uid' => $_SESSION['uid']]) @@ -261,7 +261,7 @@ class Pref_Feeds extends Handler_Protected { $feeds_obj = ORM::for_table('ttrss_feeds') ->table_alias('f') ->select_many('id', 'title', 'last_error', 'update_interval') - ->select_expr(SUBSTRING_FOR_DATE.'(last_updated,1,19)', 'last_updated') + ->select_expr('SUBSTRING_FOR_DATE(last_updated,1,19)', 'last_updated') ->left_outer_join('ttrss_user_entries', [ 'ue.feed_id', '=', 'f.id'], 'ue') ->select_expr('COUNT(ue.int_id) AS num_articles') ->where('owner_uid', $_SESSION['uid']) @@ -305,7 +305,7 @@ class Pref_Feeds extends Handler_Protected { $feeds_obj = ORM::for_table('ttrss_feeds') ->table_alias('f') ->select_many('id', 'title', 'last_error', 'update_interval') - ->select_expr(SUBSTRING_FOR_DATE.'(last_updated,1,19)', 'last_updated') + ->select_expr('SUBSTRING_FOR_DATE(last_updated,1,19)', 'last_updated') ->left_outer_join('ttrss_user_entries', [ 'ue.feed_id', '=', 'f.id'], 'ue') ->select_expr('COUNT(ue.int_id) AS num_articles') ->where('owner_uid', $_SESSION['uid']) diff --git a/classes/Pref_Users.php b/classes/Pref_Users.php index ef44dad30..8c54010ee 100644 --- a/classes/Pref_Users.php +++ b/classes/Pref_Users.php @@ -24,11 +24,11 @@ class Pref_Users extends Handler_Administrative { $id = (int) clean($_REQUEST["id"]); $sth = $this->pdo->prepare("SELECT login, - ".SUBSTRING_FOR_DATE."(last_login,1,16) AS last_login, + SUBSTRING_FOR_DATE(last_login,1,16) AS last_login, access_level, (SELECT COUNT(int_id) FROM ttrss_user_entries WHERE owner_uid = id) AS stored_articles, - ".SUBSTRING_FOR_DATE."(created,1,16) AS created + SUBSTRING_FOR_DATE(created,1,16) AS created FROM ttrss_users WHERE id = ?"); $sth->execute([$id]); diff --git a/classes/RSSUtils.php b/classes/RSSUtils.php index 9403cebdd..017deaf8b 100644 --- a/classes/RSSUtils.php +++ b/classes/RSSUtils.php @@ -345,7 +345,7 @@ class RSSUtils { $feed_obj = ORM::for_table('ttrss_feeds') ->select_expr("ttrss_feeds.*, - ".SUBSTRING_FOR_DATE."(last_unconditional, 1, 19) AS last_unconditional, + SUBSTRING_FOR_DATE(last_unconditional, 1, 19) AS last_unconditional, (favicon_is_custom IS NOT TRUE AND (favicon_last_checked IS NULL OR favicon_last_checked < NOW() - INTERVAL '12 hour')) AS favicon_needs_check") ->find_one($feed); diff --git a/include/functions.php b/include/functions.php index fc79d2fca..f100e3046 100644 --- a/include/functions.php +++ b/include/functions.php @@ -23,7 +23,8 @@ require_once "autoload.php"; - define('SUBSTRING_FOR_DATE', 'SUBSTRING_FOR_DATE'); + /** @deprecated use the 'SUBSTRING_FOR_DATE' string directly */ + const SUBSTRING_FOR_DATE = 'SUBSTRING_FOR_DATE'; /** * @deprecated by Prefs::get() diff --git a/plugins/share/init.php b/plugins/share/init.php index 8e25dc677..0a2e60dcf 100644 --- a/plugins/share/init.php +++ b/plugins/share/init.php @@ -123,7 +123,7 @@ class Share extends Plugin { $pdo = Db::pdo(); $sth = $pdo->prepare("SELECT id,title,link,content,feed_id,comments,int_id,lang, - ".SUBSTRING_FOR_DATE."(updated,1,16) as updated, + SUBSTRING_FOR_DATE(updated,1,16) as updated, (SELECT site_url FROM ttrss_feeds WHERE id = feed_id) as site_url, (SELECT title FROM ttrss_feeds WHERE id = feed_id) as feed_title, (SELECT hide_images FROM ttrss_feeds WHERE id = feed_id) as hide_images,