diff options
| author | 2024-06-05 14:26:12 +0200 | |
|---|---|---|
| committer | 2024-06-05 14:26:12 +0200 | |
| commit | 7d110c23a9366feef5e152cc6563c8ed058d6376 (patch) | |
| tree | fc499956c77a947491e2466ae8c3963ff1f356ba /app | |
| parent | 84e961dc48c2a242df9e1b92f4916a6a24c458d7 (diff) | |
Fix attributeBoolean (#6543)
Regression from https://github.com/FreshRSS/FreshRSS/pull/5946
fix https://github.com/FreshRSS/FreshRSS/issues/6521
Diffstat (limited to 'app')
| -rw-r--r-- | app/Controllers/feedController.php | 2 | ||||
| -rw-r--r-- | app/Models/AttributesTrait.php | 5 | ||||
| -rw-r--r-- | app/Models/Entry.php | 3 | ||||
| -rw-r--r-- | app/views/helpers/feed/update.phtml | 2 |
4 files changed, 8 insertions, 4 deletions
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<int|string,mixed>|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 @@ <label class="group-name" for="read_when_same_title_in_feed"><?= _t('conf.reading.read.when') ?></label> <div class="group-controls"> <select name="read_when_same_title_in_feed" id="read_when_same_title_in_feed" class="w50"> - <option value=""<?= $this->feed->attributeBoolean('read_when_same_title_in_feed') === null ? ' selected="selected"' : '' ?>><?= _t('gen.short.by_default') ?></option> + <option value=""<?= $this->feed->hasAttribute('read_when_same_title_in_feed') ? '' : ' selected="selected"' ?>><?= _t('gen.short.by_default') ?></option> <option value="0"<?= $this->feed->attributeBoolean('read_when_same_title_in_feed') === false ? ' selected="selected"' : '' ?>><?= _t('gen.short.no') ?></option> <option value="10"<?= $this->feed->attributeInt('read_when_same_title_in_feed') == 10 ? ' selected="selected"' : '' ?>>10</option> <option value="25"<?= $this->feed->attributeInt('read_when_same_title_in_feed') == 25 ? ' selected="selected"' : '' ?>>25</option> |
