diff options
Diffstat (limited to 'classes')
| -rw-r--r-- | classes/Feeds.php | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/classes/Feeds.php b/classes/Feeds.php index 16f71ff4c..c4922e0fa 100644 --- a/classes/Feeds.php +++ b/classes/Feeds.php @@ -1178,8 +1178,10 @@ class Feeds extends Handler_Protected { } } - static function _get_title(int|string $id, bool $cat = false): string { - $pdo = Db::pdo(); + static function _get_title(int|string $id, bool $cat = false, ?int $owner_uid = null): string { + // We can't rely on the session existing here due to syndicated feeds + if (!$owner_uid) + $owner_uid = $_SESSION['uid']; if ($cat) { return self::_get_cat_title($id); @@ -1201,7 +1203,7 @@ class Feeds extends Handler_Protected { $label = ORM::for_table('ttrss_labels2') ->select('caption') - ->where('owner_uid', $_SESSION['uid']) + ->where('owner_uid', $owner_uid) ->find_one($label_id); return $label ? $label->caption : "Unknown label ($label_id)"; @@ -1210,7 +1212,7 @@ class Feeds extends Handler_Protected { $feed = ORM::for_table('ttrss_feeds') ->select('title') - ->where('owner_uid', $_SESSION['uid']) + ->where('owner_uid', $owner_uid) ->find_one($id); return $feed ? $feed->title : "Unknown feed ($id)"; @@ -1345,7 +1347,11 @@ class Feeds extends Handler_Protected { return $row["count"] ?? 0; } - static function _get_cat_title(int $cat_id): string { + static function _get_cat_title(int $cat_id, ?int $owner_uid = null): string { + // We can't rely on the session existing here due to syndicated feeds + if (!$owner_uid) + $owner_uid = $_SESSION['uid']; + switch ($cat_id) { case Feeds::CATEGORY_UNCATEGORIZED: return __("Uncategorized"); @@ -1355,7 +1361,7 @@ class Feeds extends Handler_Protected { return __("Labels"); default: $cat = ORM::for_table('ttrss_feed_categories') - ->where('owner_uid', $_SESSION['uid']) + ->where('owner_uid', $owner_uid) ->find_one($cat_id); if ($cat) { @@ -1627,7 +1633,7 @@ class Feeds extends Handler_Protected { $feed_title = T_sprintf("Search results: %s", $search); } else { if ($cat_view) { - $feed_title = self::_get_cat_title($feed); + $feed_title = self::_get_cat_title($feed, $owner_uid); } else { if (is_numeric($feed) && $feed > 0) { $ssth = $pdo->prepare("SELECT title,site_url,last_error,last_updated @@ -1640,7 +1646,7 @@ class Feeds extends Handler_Protected { $last_error = $row["last_error"]; $last_updated = $row["last_updated"]; } else { - $feed_title = self::_get_title($feed); + $feed_title = self::_get_title($feed, $owner_uid); } } } |