Fix attributeBoolean (#6543)

Regression from https://github.com/FreshRSS/FreshRSS/pull/5946
fix https://github.com/FreshRSS/FreshRSS/issues/6521
This commit is contained in:
Alexandre Alapetite
2024-06-05 14:26:12 +02:00
committed by GitHub
parent 84e961dc48
commit 7d110c23a9
4 changed files with 8 additions and 4 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -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');
}

View File

@@ -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>