From 7d110c23a9366feef5e152cc6563c8ed058d6376 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Wed, 5 Jun 2024 14:26:12 +0200 Subject: Fix attributeBoolean (#6543) Regression from https://github.com/FreshRSS/FreshRSS/pull/5946 fix https://github.com/FreshRSS/FreshRSS/issues/6521 --- app/Controllers/feedController.php | 2 +- app/Models/AttributesTrait.php | 5 +++++ app/Models/Entry.php | 3 +-- app/views/helpers/feed/update.phtml | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php index d96842612..231be0cba 100644 --- a/app/Controllers/feedController.php +++ b/app/Controllers/feedController.php @@ -540,7 +540,7 @@ class FreshRSS_feed_Controller extends FreshRSS_ActionController { $nbMarkedUnread = 0; if (count($newGuids) > 0) { - if ($feed->attributeBoolean('read_when_same_title_in_feed') === null) { + if (!$feed->hasAttribute('read_when_same_title_in_feed')) { $readWhenSameTitleInFeed = (int)FreshRSS_Context::userConf()->mark_when['same_title_in_feed']; } elseif ($feed->attributeBoolean('read_when_same_title_in_feed') === false) { $readWhenSameTitleInFeed = 0; diff --git a/app/Models/AttributesTrait.php b/app/Models/AttributesTrait.php index e94a973d9..8795d81d9 100644 --- a/app/Models/AttributesTrait.php +++ b/app/Models/AttributesTrait.php @@ -15,6 +15,11 @@ trait FreshRSS_AttributesTrait { return $this->attributes; } + /** @param non-empty-string $key */ + public function hasAttribute(string $key): bool { + return isset($this->attributes[$key]); + } + /** * @param non-empty-string $key * @return array|null diff --git a/app/Models/Entry.php b/app/Models/Entry.php index ad480f3e6..3caa1ddb9 100644 --- a/app/Models/Entry.php +++ b/app/Models/Entry.php @@ -672,8 +672,7 @@ HTML; return; } if (!$this->isRead()) { - if ($feed->attributeBoolean('read_upon_reception') || - ($feed->attributeBoolean('read_upon_reception') === null && FreshRSS_Context::userConf()->mark_when['reception'])) { + if ($feed->attributeBoolean('read_upon_reception') ?? FreshRSS_Context::userConf()->mark_when['reception']) { $this->_isRead(true); Minz_ExtensionManager::callHook('entry_auto_read', $this, 'upon_reception'); } diff --git a/app/views/helpers/feed/update.phtml b/app/views/helpers/feed/update.phtml index 43ed78b44..0d9252910 100644 --- a/app/views/helpers/feed/update.phtml +++ b/app/views/helpers/feed/update.phtml @@ -200,7 +200,7 @@