aboutsummaryrefslogtreecommitdiff
path: root/app/views/helpers
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2021-09-19 10:56:38 +0200
committerGravatar GitHub <noreply@github.com> 2021-09-19 10:56:38 +0200
commita7aca6c0abfd905669004c1e4f7c8328060df27e (patch)
tree3edd507ce9ce0762f0faf3c24108f3b1d24988e7 /app/views/helpers
parentdfc89831d4e363f62dea9df71c6b4af21cc7d7c7 (diff)
Improved feed action filters (#3303)
* Re-order some feed options * Option to auto mark as read existing titles * Option to keep at max n unread articles per feed
Diffstat (limited to 'app/views/helpers')
-rw-r--r--app/views/helpers/feed/update.phtml247
1 files changed, 139 insertions, 108 deletions
diff --git a/app/views/helpers/feed/update.phtml b/app/views/helpers/feed/update.phtml
index 4bc9913c1..44e3c6c92 100644
--- a/app/views/helpers/feed/update.phtml
+++ b/app/views/helpers/feed/update.phtml
@@ -79,6 +79,43 @@
</div>
</div>
+ <div class="form-group">
+ <label class="group-name" for="ttl"><?= _t('sub.feed.ttl') ?></label>
+ <div class="group-controls">
+ <select class="number" name="ttl" id="ttl" required="required"><?php
+ $found = false;
+ foreach (array(FreshRSS_Feed::TTL_DEFAULT => _t('gen.short.by_default'), 900 => '15min', 1200 => '20min', 1500 => '25min', 1800 => '30min', 2700 => '45min',
+ 3600 => '1h', 5400 => '1.5h', 7200 => '2h', 10800 => '3h', 14400 => '4h', 18800 => '5h', 21600 => '6h', 25200 => '7h', 28800 => '8h',
+ 36000 => '10h', 43200 => '12h', 64800 => '18h',
+ 86400 => '1d', 129600 => '1.5d', 172800 => '2d', 259200 => '3d', 345600 => '4d', 432000 => '5d', 518400 => '6d',
+ 604800 => '1wk', 1209600 => '2wk', 1814400 => '3wk', 2419200 => '4wk', 2629744 => '1mo') as $v => $t) {
+ echo '<option value="' . $v . ($this->feed->ttl() === $v ? '" selected="selected' : '') . '">' . $t . '</option>';
+ if ($this->feed->ttl() == $v) {
+ $found = true;
+ }
+ }
+ if (!$found) {
+ echo '<option value="' . intval($this->feed->ttl()) . '" selected="selected">' . intval($this->feed->ttl()) . 's</option>';
+ }
+ ?></select>
+ <label for="mute">
+ <input type="checkbox" name="mute" id="mute" value="1"<?= $this->feed->mute() ? ' checked="checked"' : '' ?> />
+ <?= _t('sub.feed.mute') ?>
+ </label>
+ </div>
+ </div>
+
+ <?php if ($this->feed->pubSubHubbubEnabled()) { ?>
+ <div class="form-group">
+ <div class="group-controls">
+ <label class="checkbox" for="pubsubhubbub">
+ <input type="checkbox" name="pubsubhubbub" id="pubsubhubbub" disabled="disabled" value="1" checked="checked" />
+ <?= _t('sub.feed.websub') ?>
+ </label>
+ </div>
+ </div>
+ <?php } ?>
+
<div class="form-group form-actions">
<div class="group-controls">
<button class="btn btn-important"><?= _t('gen.action.submit') ?></button>
@@ -90,6 +127,101 @@
</div>
</div>
+ <legend><?= _t('sub.feed.auth.configuration') ?></legend>
+ <?php $auth = $this->feed->httpAuth(false); ?>
+ <div class="form-group">
+ <label class="group-name" for="http_user_feed<?= $this->feed->id() ?>"><?= _t('sub.feed.auth.username') ?></label>
+ <div class="group-controls">
+ <input type="text" name="http_user_feed<?= $this->feed->id() ?>" id="http_user_feed<?= $this->feed->id() ?>" class="extend" value="<?=
+ empty($auth['username']) ? ' ' : $auth['username'] ?>" autocomplete="off" />
+ <p class="help"><?= _i('help') ?> <?= _t('sub.feed.auth.help') ?></p>
+ </div>
+
+ <label class="group-name" for="http_pass_feed<?= $this->feed->id() ?>"><?= _t('sub.feed.auth.password') ?></label>
+ <div class="group-controls">
+ <input type="password" name="http_pass_feed<?= $this->feed->id() ?>" id="http_pass_feed<?= $this->feed->id() ?>" class="extend" value="<?=
+ $auth['password'] ?>" autocomplete="new-password" />
+ </div>
+ </div>
+
+ <div class="form-group form-actions">
+ <div class="group-controls">
+ <button type="submit" class="btn btn-important"><?= _t('gen.action.submit') ?></button>
+ <button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
+ </div>
+ </div>
+
+ <legend><?= _t('sub.feed.filteractions') ?></legend>
+ <div class="form-group">
+ <label class="group-name" for="mark_updated_article_unread"><?= _t('conf.reading.mark_updated_article_unread') ?></label>
+ <div class="group-controls">
+ <label class="checkbox" for="mark_updated_article_unread">
+ <select name="mark_updated_article_unread" id="mark_updated_article_unread">
+ <option value=""<?= $this->feed->attributes('mark_updated_article_unread') === null ? ' selected="selected"' : '' ?>><?= _t('gen.short.by_default') ?></option>
+ <option value="0"<?= $this->feed->attributes('mark_updated_article_unread') === false ? ' selected="selected"' : '' ?>><?= _t('gen.short.no') ?></option>
+ <option value="1"<?= $this->feed->attributes('mark_updated_article_unread') === true ? ' selected="selected"' : '' ?>><?= _t('gen.short.yes') ?></option>
+ </select>
+ </label>
+ </div>
+ </div>
+
+ <div class="form-group">
+ <label class="group-name" for="keep_max_n_unread"><?= _t('conf.reading.read.keep_max_n_unread') ?></label>
+ <div class="group-controls">
+ <input type="number" name="keep_max_n_unread" id="keep_max_n_unread" min="1" max="10000000" value="<?= $this->feed->attributes('keep_max_n_unread') ?>" placeholder="<?= _t('gen.short.by_default') ?>" />
+ </div>
+ </div>
+
+ <div class="form-group">
+ <label class="group-name" for="read_upon_reception"><?= _t('conf.reading.read.when') ?></label>
+ <div class="group-controls">
+ <label class="checkbox" for="read_upon_reception">
+ <select name="read_upon_reception" id="read_upon_reception">
+ <option value=""<?= $this->feed->attributes('read_upon_reception') === null ? ' selected="selected"' : '' ?>><?= _t('gen.short.by_default') ?></option>
+ <option value="0"<?= $this->feed->attributes('read_upon_reception') === false ? ' selected="selected"' : '' ?>><?= _t('gen.short.no') ?></option>
+ <option value="1"<?= $this->feed->attributes('read_upon_reception') === true ? ' selected="selected"' : '' ?>><?= _t('gen.short.yes') ?></option>
+ </select>
+ <?= _t('conf.reading.read.upon_reception') ?>
+ </label>
+ </div>
+ </div>
+
+ <div class="form-group">
+ <label class="group-name" for="read_when_same_title_in_feed"><?= _t('conf.reading.read.when') ?></label>
+ <div class="group-controls">
+ <label class="checkbox" for="read_when_same_title_in_feed">
+ <select name="read_when_same_title_in_feed" id="read_when_same_title_in_feed">
+ <option value=""<?= $this->feed->attributes('read_when_same_title_in_feed') === null ? ' selected="selected"' : '' ?>><?= _t('gen.short.by_default') ?></option>
+ <option value="0"<?= $this->feed->attributes('read_when_same_title_in_feed') === false ? ' selected="selected"' : '' ?>><?= _t('gen.short.no') ?></option>
+ <option value="10"<?= $this->feed->attributes('read_when_same_title_in_feed') == 10 ? ' selected="selected"' : '' ?>>10</option>
+ <option value="25"<?= $this->feed->attributes('read_when_same_title_in_feed') == 25 ? ' selected="selected"' : '' ?>>25</option>
+ <option value="100"<?= $this->feed->attributes('read_when_same_title_in_feed') == 100 ? ' selected="selected"' : '' ?>>100</option>
+ <option value="1000"<?= $this->feed->attributes('read_when_same_title_in_feed') == 1000 ? ' selected="selected"' : '' ?>>1 000</option>
+ </select>
+ <?= _t('conf.reading.read.when_same_title') ?>
+ </label>
+ </div>
+ </div>
+
+ <div class="form-group">
+ <label class="group-name" for="filteractions_read"><?= _t('conf.reading.read.when') ?></label>
+ <div class="group-controls">
+ <textarea name="filteractions_read" id="filteractions_read"><?php
+ foreach ($this->feed->filtersAction('read') as $filterRead) {
+ echo $filterRead->getRawInput(), PHP_EOL;
+ }
+ ?></textarea>
+ <p class="help"><?= _i('help') ?> <?= _t('sub.feed.filteractions.help') ?></p>
+ </div>
+ </div>
+
+ <div class="form-group form-actions">
+ <div class="group-controls">
+ <button type="submit" class="btn btn-important"><?= _t('gen.action.submit') ?></button>
+ <button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
+ </div>
+ </div>
+
<legend><?= _t('sub.feed.archiving') ?></legend>
<div class="form-group">
@@ -220,43 +352,6 @@
</div>
</div>
- <div class="form-group">
- <label class="group-name" for="ttl"><?= _t('sub.feed.ttl') ?></label>
- <div class="group-controls">
- <select class="number" name="ttl" id="ttl" required="required"><?php
- $found = false;
- foreach (array(FreshRSS_Feed::TTL_DEFAULT => _t('gen.short.by_default'), 900 => '15min', 1200 => '20min', 1500 => '25min', 1800 => '30min', 2700 => '45min',
- 3600 => '1h', 5400 => '1.5h', 7200 => '2h', 10800 => '3h', 14400 => '4h', 18800 => '5h', 21600 => '6h', 25200 => '7h', 28800 => '8h',
- 36000 => '10h', 43200 => '12h', 64800 => '18h',
- 86400 => '1d', 129600 => '1.5d', 172800 => '2d', 259200 => '3d', 345600 => '4d', 432000 => '5d', 518400 => '6d',
- 604800 => '1wk', 1209600 => '2wk', 1814400 => '3wk', 2419200 => '4wk', 2629744 => '1mo') as $v => $t) {
- echo '<option value="' . $v . ($this->feed->ttl() === $v ? '" selected="selected' : '') . '">' . $t . '</option>';
- if ($this->feed->ttl() == $v) {
- $found = true;
- }
- }
- if (!$found) {
- echo '<option value="' . intval($this->feed->ttl()) . '" selected="selected">' . intval($this->feed->ttl()) . 's</option>';
- }
- ?></select>
- <label for="mute">
- <input type="checkbox" name="mute" id="mute" value="1"<?= $this->feed->mute() ? ' checked="checked"' : '' ?> />
- <?= _t('sub.feed.mute') ?>
- </label>
- </div>
- </div>
-
- <?php if ($this->feed->pubSubHubbubEnabled()) { ?>
- <div class="form-group">
- <div class="group-controls">
- <label class="checkbox" for="pubsubhubbub">
- <input type="checkbox" name="pubsubhubbub" id="pubsubhubbub" disabled="disabled" value="1" checked="checked" />
- <?= _t('sub.feed.websub') ?>
- </label>
- </div>
- </div>
- <?php } ?>
-
<div class="form-group form-actions">
<div class="group-controls">
<button class="btn btn-important"><?= _t('gen.action.submit') ?></button>
@@ -265,30 +360,6 @@
</div>
</div>
- <legend><?= _t('sub.feed.auth.configuration') ?></legend>
- <?php $auth = $this->feed->httpAuth(false); ?>
- <div class="form-group">
- <label class="group-name" for="http_user_feed<?= $this->feed->id() ?>"><?= _t('sub.feed.auth.username') ?></label>
- <div class="group-controls">
- <input type="text" name="http_user_feed<?= $this->feed->id() ?>" id="http_user_feed<?= $this->feed->id() ?>" class="extend" value="<?=
- empty($auth['username']) ? ' ' : $auth['username'] ?>" autocomplete="off" />
- <p class="help"><?= _i('help') ?> <?= _t('sub.feed.auth.help') ?></p>
- </div>
-
- <label class="group-name" for="http_pass_feed<?= $this->feed->id() ?>"><?= _t('sub.feed.auth.password') ?></label>
- <div class="group-controls">
- <input type="password" name="http_pass_feed<?= $this->feed->id() ?>" id="http_pass_feed<?= $this->feed->id() ?>" class="extend" value="<?=
- $auth['password'] ?>" autocomplete="new-password" />
- </div>
- </div>
-
- <div class="form-group form-actions">
- <div class="group-controls">
- <button type="submit" class="btn btn-important"><?= _t('gen.action.submit') ?></button>
- <button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
- </div>
- </div>
-
<legend><?= _t('sub.feed.advanced') ?></legend>
<div class="form-group">
<label class="group-name" for="path_entries"><?= _t('sub.feed.css_path') ?></label>
@@ -328,43 +399,7 @@
</div>
<div class="form-group">
- <label class="group-name" for="mark_updated_article_unread"><?= _t('conf.reading.mark_updated_article_unread') ?></label>
- <div class="group-controls">
- <label class="checkbox" for="mark_updated_article_unread">
- <select name="mark_updated_article_unread" id="mark_updated_article_unread">
- <option value=""<?= $this->feed->attributes('mark_updated_article_unread') === null ? ' selected="selected"' : '' ?>><?= _t('gen.short.by_default') ?></option>
- <option value="0"<?= $this->feed->attributes('mark_updated_article_unread') === false ? ' selected="selected"' : '' ?>><?= _t('gen.short.no') ?></option>
- <option value="1"<?= $this->feed->attributes('mark_updated_article_unread') === true ? ' selected="selected"' : '' ?>><?= _t('gen.short.yes') ?></option>
- </select>
- </label>
- </div>
- </div>
-
- <div class="form-group">
- <label class="group-name" for="read_upon_reception"><?= _t('conf.reading.read.when') ?></label>
- <div class="group-controls">
- <label class="checkbox" for="read_upon_reception">
- <select name="read_upon_reception" id="read_upon_reception">
- <option value=""<?= $this->feed->attributes('read_upon_reception') === null ? ' selected="selected"' : '' ?>><?= _t('gen.short.by_default') ?></option>
- <option value="0"<?= $this->feed->attributes('read_upon_reception') === false ? ' selected="selected"' : '' ?>><?= _t('gen.short.no') ?></option>
- <option value="1"<?= $this->feed->attributes('read_upon_reception') === true ? ' selected="selected"' : '' ?>><?= _t('gen.short.yes') ?></option>
- </select>
- <?= _t('conf.reading.read.upon_reception') ?>
- </label>
- </div>
- </div>
-
- <div class="form-group">
- <div class="group-controls">
- <label class="checkbox" for="clear_cache">
- <input type="checkbox" name="clear_cache" id="clear_cache" value="1"<?= $this->feed->attributes('clear_cache') ? ' checked="checked"' : '' ?> />
- <?= _t('sub.feed.clear_cache') ?>
- </label>
- </div>
- </div>
-
- <div class="form-group">
- <label class="group-name" for="path_entries"><?= _t('sub.feed.useragent') ?></label>
+ <label class="group-name" for="curl_params_useragent"><?= _t('sub.feed.useragent') ?></label>
<div class="group-controls">
<div class="stick">
<input type="text" name="curl_params_useragent" id="curl_params_useragent" class="extend" value="<?=
@@ -377,7 +412,7 @@
</div>
<div class="form-group">
- <label class="group-name" for="path_entries"><?= _t('sub.feed.proxy') ?></label>
+ <label class="group-name" for="proxy_type"><?= _t('sub.feed.proxy') ?></label>
<div class="group-controls">
<select class="number" name="proxy_type" id="proxy_type"><?php
$type = '';
@@ -419,22 +454,18 @@
</div>
</div>
- <legend><?= _t('sub.feed.filteractions') ?></legend>
<div class="form-group">
- <label class="group-name" for="filteractions_read"><?= _t('conf.reading.read.when') ?></label>
<div class="group-controls">
- <textarea name="filteractions_read" id="filteractions_read"><?php
- foreach ($this->feed->filtersAction('read') as $filterRead) {
- echo $filterRead->getRawInput(), PHP_EOL;
- }
- ?></textarea>
- <p class="help"><?= _i('help') ?> <?= _t('sub.feed.filteractions.help') ?></p>
+ <label class="checkbox" for="clear_cache">
+ <input type="checkbox" name="clear_cache" id="clear_cache" value="1"<?= $this->feed->attributes('clear_cache') ? ' checked="checked"' : '' ?> />
+ <?= _t('sub.feed.clear_cache') ?>
+ </label>
</div>
</div>
<div class="form-group form-actions">
<div class="group-controls">
- <button type="submit" class="btn btn-important"><?= _t('gen.action.submit') ?></button>
+ <button class="btn btn-important"><?= _t('gen.action.submit') ?></button>
<button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
</div>
</div>