Category autoread by guid (#8673)

* Add configuration to mark same GUID as read in category.

Implement suggestion mentioned in #8641

Changes proposed in this pull request:

- Add a configuration to the categories to automatically mark entries as read if the same GUID is present in recent entries.  

How to test the feature manually:

1. Create a category. Check the option "Mark an article as read… if an identical GUID already exists [...]"  
2. Enable debug logs, or add an extension which registers to the hook `Minz_HookType::EntryAutoRead`.  
3. Add feeds which might have the same GUID.  
  For example: https://www.reddit.com/r/technology/hot.rss, https://www.reddit.com/r/technology/rising.rss, https://www.reddit.com/r/technology/best.rss, and https://www.reddit.com/r/technology/new.rss
4. See the logs "Mark GUID as read[...]", or the effect of the extension.  

* Implement behavior to mark same GUID as read in category.

* Update documentation

* Update i18n

* Fix PHP CS report

* Fix missing argument

* Fixes

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
This commit is contained in:
pe1uca
2026-04-05 13:41:37 -04:00
committed by GitHub
parent d5f3126d6c
commit c44cd2b08f
34 changed files with 88 additions and 5 deletions

View File

@@ -109,6 +109,11 @@ class FreshRSS_category_Controller extends FreshRSS_ActionController {
} else {
$category->_attribute('read_when_same_title_in_category', null);
}
if (Minz_Request::paramBoolean('enable_read_when_same_guid_in_category')) {
$category->_attribute('read_when_same_guid_in_category', Minz_Request::paramInt('read_when_same_guid_in_category'));
} else {
$category->_attribute('read_when_same_guid_in_category', null);
}
$category->_filtersAction('read', Minz_Request::paramTextToArray('filteractions_read', plaintext: true));