mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-10-22 03:04:31 -04:00
There were two checkboxes with labels set on the left: it was looking weird and inconsistent with the rest of the application. Also, since the Websub checkbox cannot be checked by the user (i.e. it is entirely managed by the backend), I just hide the line when Websub is disabled. It would be better to never show the checkbox and adapt the label to say something like "Websub is enabled for this feed", but I prefer to avoid changing all the locales. Last point: an input should always have one and only one label. Websub checkbox had two labels, which can be hardly supported by assistive technologies. Reference: https://developer.mozilla.org/en-US/docs/Learn/Forms/How_to_structure_a_web_form#Multiple_labels
384 lines
19 KiB
PHTML
384 lines
19 KiB
PHTML
<div class="post">
|
|
<h1><?= $this->feed->name() ?></h1>
|
|
|
|
<div>
|
|
<a href="<?= _url('index', 'index', 'get', 'f_' . $this->feed->id()) ?>"><?= _i('link') ?> <?= _t('gen.action.filter') ?></a>
|
|
<?= _t('gen.short.or') ?>
|
|
<a href="<?= _url('stats', 'repartition', 'id', $this->feed->id()) ?>"><?= _i('stats') ?> <?= _t('sub.feed.stats') ?></a>
|
|
</div>
|
|
|
|
<p><?= $this->feed->description() ?></p>
|
|
|
|
<?php $nbEntries = $this->feed->nbEntries(); ?>
|
|
|
|
<?php if ($this->feed->inError()) { ?>
|
|
<p class="alert alert-error"><span class="alert-head"><?= _t('gen.short.damn') ?></span> <?= _t('sub.feed.error') ?></p>
|
|
<?php } elseif ($nbEntries === 0) { ?>
|
|
<p class="alert alert-warn"><?= _t('sub.feed.empty') ?></p>
|
|
<?php } ?>
|
|
|
|
<form method="post" action="<?= _url('subscription', 'feed', 'id', $this->feed->id()) ?>" autocomplete="off">
|
|
<input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
|
|
<legend><?= _t('sub.feed.information') ?></legend>
|
|
<div class="form-group">
|
|
<label class="group-name" for="name"><?= _t('sub.feed.title') ?></label>
|
|
<div class="group-controls">
|
|
<input type="text" name="name" id="name" class="extend" value="<?= $this->feed->name() ?>" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="group-name" for="description"><?= _t('sub.feed.description') ?></label>
|
|
<div class="group-controls">
|
|
<textarea name="description" id="description"><?= htmlspecialchars($this->feed->description(), ENT_NOQUOTES, 'UTF-8') ?></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="group-name" for="website"><?= _t('sub.feed.website') ?></label>
|
|
<div class="group-controls">
|
|
<div class="stick">
|
|
<input type="text" name="website" id="website" class="extend" value="<?= $this->feed->website() ?>" />
|
|
<a class="btn" target="_blank" rel="noreferrer" href="<?= $this->feed->website() ?>"><?= _i('link') ?></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="group-name" for="url"><?= _t('sub.feed.url') ?></label>
|
|
<div class="group-controls">
|
|
<div class="stick">
|
|
<input type="text" name="url" id="url" class="extend" value="<?= $this->feed->url() ?>" />
|
|
<a class="btn" target="_blank" rel="noreferrer" href="<?= $this->feed->url() ?>"><?= _i('link') ?></a>
|
|
</div>
|
|
|
|
<a class="btn" target="_blank" rel="noreferrer" href="https://validator.w3.org/feed/check.cgi?url=<?= rawurlencode(htmlspecialchars_decode($this->feed->url(), ENT_QUOTES)) ?>"><?= _t('sub.feed.validator') ?></a>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="group-name" for="category"><?= _t('sub.category') ?></label>
|
|
<div class="group-controls">
|
|
<select name="category" id="category">
|
|
<?php foreach ($this->categories as $cat) { ?>
|
|
<option value="<?= $cat->id() ?>"<?= $cat->id()== $this->feed->category() ? ' selected="selected"' : '' ?>>
|
|
<?= $cat->name() ?>
|
|
</option>
|
|
<?php } ?>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="group-name" for="priority"><?= _t('sub.feed.priority') ?></label>
|
|
<div class="group-controls">
|
|
<select name="priority" id="priority">
|
|
<option value='<?= FreshRSS_Feed::PRIORITY_MAIN_STREAM ?>' <?php if (FreshRSS_Feed::PRIORITY_MAIN_STREAM === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.main_stream') ?></option>
|
|
<option value='<?= FreshRSS_Feed::PRIORITY_NORMAL ?>' <?php if (FreshRSS_Feed::PRIORITY_NORMAL === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.normal') ?></option>
|
|
<option value='<?= FreshRSS_Feed::PRIORITY_ARCHIVED ?>' <?php if (FreshRSS_Feed::PRIORITY_ARCHIVED === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.archived') ?></option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group form-actions">
|
|
<div class="group-controls">
|
|
<button class="btn btn-important"><?= _t('gen.action.submit') ?></button>
|
|
<button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
|
|
<button class="btn btn-attention confirm"
|
|
data-str-confirm="<?= _t('gen.js.confirm_action_feed_cat') ?>"
|
|
formaction="<?= _url('feed', 'delete', 'id', $this->feed->id()) ?>"
|
|
formmethod="post"><?= _t('gen.action.remove') ?></button>
|
|
</div>
|
|
</div>
|
|
|
|
<legend><?= _t('sub.feed.archiving') ?></legend>
|
|
|
|
<div class="form-group">
|
|
<div class="group-controls">
|
|
<div class="stick">
|
|
<input type="text" value="<?= _t('sub.feed.number_entries', $nbEntries) ?>" disabled="disabled" />
|
|
<a class="btn" href="<?= _url('feed', 'actualize', 'id', $this->feed->id()) ?>">
|
|
<?= _i('refresh') ?> <?= _t('gen.action.actualize') ?>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
$archiving = $this->feed->attributes('archiving');
|
|
if (empty($archiving)) {
|
|
$archiving = [ 'default' => true ];
|
|
} else {
|
|
$archiving['default'] = false;
|
|
}
|
|
$volatile = [
|
|
'enable_keep_period' => false,
|
|
'keep_period_count' => '3',
|
|
'keep_period_unit' => 'P1M',
|
|
];
|
|
if (!empty($archiving['keep_period'])) {
|
|
if (preg_match('/^PT?(?P<count>\d+)[YMWDH]$/', $archiving['keep_period'], $matches)) {
|
|
$volatile['enable_keep_period'] = true;
|
|
$volatile['keep_period_count'] = $matches['count'];
|
|
$volatile['keep_period_unit'] = str_replace($matches['count'], '1', $archiving['keep_period']);
|
|
}
|
|
}
|
|
//Defaults
|
|
if (!isset($archiving['keep_max'])) {
|
|
$archiving['keep_max'] = false;
|
|
}
|
|
if (!isset($archiving['keep_min'])) {
|
|
$archiving['keep_min'] = 50;
|
|
}
|
|
if (!isset($archiving['keep_favourites'])) {
|
|
$archiving['keep_favourites'] = true;
|
|
}
|
|
if (!isset($archiving['keep_labels'])) {
|
|
$archiving['keep_labels'] = true;
|
|
}
|
|
if (!isset($archiving['keep_unreads'])) {
|
|
$archiving['keep_unreads'] = false;
|
|
}
|
|
?>
|
|
|
|
<p class="alert alert-warn">
|
|
<?= _t('conf.archiving.policy_warning') ?>
|
|
</p>
|
|
|
|
<div class="form-group">
|
|
<label class="group-name"><?= _t('conf.archiving.policy') ?></label>
|
|
<div class="group-controls">
|
|
<label class="checkbox">
|
|
<input type="checkbox" name="use_default_purge_options" id="use_default_purge_options" value="1"<?= $archiving['default'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['default'] ? 1 : 0 ?>" />
|
|
<?= _t('gen.short.by_default') ?>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
|
|
<div class="group-controls">
|
|
<label class="checkbox" for="enable_keep_max">
|
|
<input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty($archiving['keep_max']) ? '' : ' checked="checked"' ?> data-leave-validation="<?= empty($archiving['keep_max']) ? 0 : 1 ?>"/>
|
|
<?= _t('conf.archiving.keep_max') ?>
|
|
<input type="number" id="keep_max" name="keep_max" min="0" value="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>" data-leave-validation="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"/>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
|
|
<div class="group-controls">
|
|
<label class="checkbox" for="enable_keep_period">
|
|
<input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= $volatile['enable_keep_period'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $volatile['enable_keep_period'] ? 1 : 0 ?>"/>
|
|
<?= _t('conf.archiving.keep_period') ?>
|
|
<input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= $volatile['keep_period_count'] ?>" data-leave-validation="<?= $volatile['keep_period_count'] ?>"/>
|
|
<select class="number" name="keep_period_unit" id="keep_period_unit" data-leave-validation="<?= $volatile['keep_period_unit'] ?>">
|
|
<option></option>
|
|
<option value="P1Y" <?= 'P1Y' === $volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.years') ?></option>
|
|
<option value="P1M" <?= 'P1M' === $volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.months') ?></option>
|
|
<option value="P1W" <?= 'P1W' === $volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.weeks') ?></option>
|
|
<option value="P1D" <?= 'P1D' === $volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.days') ?></option>
|
|
<option value="PT1H" <?= 'PT1H' === $volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.hours') ?></option>
|
|
</select>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
|
|
<label class="group-name"><?= _t('conf.archiving.exception') ?></label>
|
|
<div class="group-controls">
|
|
<label class="checkbox" for="keep_favourites">
|
|
<input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= $archiving['keep_favourites'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_favourites'] ? 1 : 0 ?>"/>
|
|
<?= _t('conf.archiving.keep_favourites') ?>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
|
|
<div class="group-controls">
|
|
<label class="checkbox" for="keep_labels">
|
|
<input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= $archiving['keep_labels'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_labels'] ? 1 : 0 ?>"/>
|
|
<?= _t('conf.archiving.keep_labels') ?>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
|
|
<div class="group-controls">
|
|
<label class="checkbox" for="keep_unreads">
|
|
<input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= $archiving['keep_unreads'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_unreads'] ?>"/>
|
|
<?= _t('conf.archiving.keep_unreads') ?>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
|
|
<div class="group-controls">
|
|
<label for="keep_min"><?= _t('sub.feed.keep_min') ?>
|
|
<input type="number" id="keep_min" name="keep_min" min="0" value="<?= $archiving['keep_min'] ?>" data-leave-validation="<?= $archiving['keep_min'] ?>">
|
|
</label>
|
|
</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 />
|
|
<?= _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>
|
|
<button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
|
|
<button class="btn btn-attention confirm" formmethod="post" formaction="<?= _url('feed', 'truncate', 'id', $this->feed->id()) ?>"><?= _t('gen.action.truncate') ?></button>
|
|
</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>
|
|
<div class="group-controls">
|
|
<div class="stick">
|
|
<input type="text" name="path_entries" id="path_entries" class="extend" value="<?= $this->feed->pathEntries() ?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>" />
|
|
<a id="popup-preview-selector" class="btn" href="<?= _url('feed', 'contentSelectorPreview', 'id', $this->feed->id(), 'selector', 'selector-token') ?>"><?= _i('look') ?></a>
|
|
</div>
|
|
<p class="help"><?= _i('help') ?> <?= _t('sub.feed.css_help') ?></p>
|
|
</div>
|
|
</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>
|
|
|
|
<?php if (FreshRSS_Auth::hasAccess('admin')) { ?>
|
|
<div class="form-group">
|
|
<label class="group-name" for="timeout"><?= _t('sub.feed.timeout') ?></label>
|
|
<div class="group-controls">
|
|
<input type="number" name="timeout" id="timeout" min="3" max="120" value="<?= $this->feed->attributes('timeout') ?>" placeholder="<?= _t('gen.short.by_default') ?>" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="group-name" for="ssl_verify"><?= _t('sub.feed.ssl_verify') ?></label>
|
|
<div class="group-controls">
|
|
<label class="checkbox" for="ssl_verify">
|
|
<select name="ssl_verify" id="ssl_verify">
|
|
<option value=""<?= $this->feed->attributes('ssl_verify') === null ? ' selected="selected"' : '' ?>><?= _t('gen.short.by_default') ?></option>
|
|
<option value="0"<?= $this->feed->attributes('ssl_verify') === false ? ' selected="selected"' : '' ?>><?= _t('gen.short.no') ?></option>
|
|
<option value="1"<?= $this->feed->attributes('ssl_verify') === true ? ' selected="selected"' : '' ?>><?= _t('gen.short.yes') ?></option>
|
|
</select>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<?php } ?>
|
|
|
|
<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 htmlspecialchars($filterRead->getRawInput(), ENT_NOQUOTES, 'UTF-8'), 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.maintenance.title') ?></legend>
|
|
<div class="form-group">
|
|
<div class="group-controls">
|
|
<a class="btn btn-important" href="<?= _url('feed', 'clearCache', 'id', $this->feed->id()) ?>">
|
|
<?= _t('sub.feed.maintenance.clear_cache') ?>
|
|
</a>
|
|
<p class="help"><?= _i('help') ?> <?= _t('sub.feed.maintenance.clear_cache_help') ?></p>
|
|
</div>
|
|
<div class="group-controls">
|
|
<a class="btn btn-important" href="<?= _url('feed', 'reload', 'id', $this->feed->id()) ?>">
|
|
<?= _t('sub.feed.maintenance.reload_articles') ?>
|
|
</a>
|
|
<p class="help"><?= _i('help') ?> <?= _t('sub.feed.maintenance.reload_articles_help') ?></p>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|