diff options
| author | 2025-09-30 10:05:17 +0200 | |
|---|---|---|
| committer | 2025-09-30 10:05:17 +0200 | |
| commit | 34532c0dd49f825ca4f265db9dec446ec0ecd34f (patch) | |
| tree | 365e6776b93c3e2d91b814e8db6fe0d4fcbdcf22 /p | |
| parent | 11e6e0394c9e617a56ac29afc7a341f19ac6662d (diff) | |
Add new visibility priority *Show in its feed* (#7972)
* Add new visibility priority *Show in its feed*
fix https://github.com/FreshRSS/FreshRSS/pull/7970#issuecomment-3293917428 (you can't directly filter a hidden feed, it just shows a 404 page)
And add a new visibility *Show in its feed* to show the feed in the list but not its articles.
Ensure that visibility *hidden* is not shown to API.
* TODO for later
* Update app/i18n/pl/sub.php
Co-authored-by: Inverle <inverle@proton.me>
Diffstat (limited to 'p')
| -rw-r--r-- | p/api/fever.php | 14 | ||||
| -rw-r--r-- | p/api/greader.php | 8 |
2 files changed, 20 insertions, 2 deletions
diff --git a/p/api/fever.php b/p/api/fever.php index 01e6d7b61..420a17f64 100644 --- a/p/api/fever.php +++ b/p/api/fever.php @@ -317,6 +317,9 @@ final class FeverAPI /** @var FreshRSS_Feed $feed */ foreach ($myFeeds as $feed) { + if ($feed->priority() <= FreshRSS_Feed::PRIORITY_HIDDEN) { + continue; + } $feeds[] = [ 'id' => $feed->id(), 'favicon_id' => $feed->id(), @@ -362,6 +365,9 @@ final class FeverAPI $myFeeds = $this->feedDAO->listFeeds(); foreach ($myFeeds as $feed) { + if ($feed->priority() <= FreshRSS_Feed::PRIORITY_HIDDEN) { + continue; + } $id = $feed->hashFavicon(); $filename = DATA_PATH . '/favicons/' . $id . '.ico'; if (!file_exists($filename)) { @@ -390,6 +396,9 @@ final class FeverAPI $myFeeds = $this->feedDAO->listFeeds(); foreach ($myFeeds as $feed) { + if ($feed->priority() <= FreshRSS_Feed::PRIORITY_HIDDEN) { + continue; + } $ids[$feed->categoryId()][] = $feed->id(); } @@ -471,10 +480,13 @@ final class FeverAPI $feeds = []; foreach ($group_ids as $id) { $category = $categoryDAO->searchById((int)$id); //TODO: Transform to SQL query without loop! Consider FreshRSS_CategoryDAO::listCategories(true) - if ($category == null) { + if ($category === null) { continue; } foreach ($category->feeds() as $feed) { + if ($feed->priority() <= FreshRSS_Feed::PRIORITY_HIDDEN) { + continue; + } $feeds[] = $feed->id(); } } diff --git a/p/api/greader.php b/p/api/greader.php index b983bfa90..6b67a7451 100644 --- a/p/api/greader.php +++ b/p/api/greader.php @@ -340,6 +340,9 @@ final class GReaderAPI { $categoryDAO = FreshRSS_Factory::createCategoryDao(); foreach ($categoryDAO->listCategories(prePopulateFeeds: true, details: true) as $cat) { foreach ($cat->feeds() as $feed) { + if ($feed->priority() <= FreshRSS_Feed::PRIORITY_HIDDEN) { + continue; + } $subscriptions[] = [ 'id' => 'feed/' . $feed->id(), 'title' => escapeToUnicodeAlternative($feed->name(), true), @@ -502,6 +505,9 @@ final class GReaderAPI { foreach ($categoryDAO->listCategories(prePopulateFeeds: true, details: true) as $cat) { $catLastUpdate = 0; foreach ($cat->feeds() as $feed) { + if ($feed->priority() <= FreshRSS_Feed::PRIORITY_HIDDEN) { + continue; + } $lastUpdate = $feedsNewestItemUsec['f_' . $feed->id()] ?? 0; $unreadcounts[] = [ 'id' => 'feed/' . $feed->id(), @@ -662,7 +668,7 @@ final class GReaderAPI { 'starred' => 's', 'feed' => 'f', 'label' => 'c', - 'reading-list' => 'A', + 'reading-list' => 'A', // All except PRIORITY_HIDDEN default => 'A', }; |
