mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-01-28 23:21:04 -05:00
* Add category order Each category has a new 'priority' attribute. It is used to sort categories in views. Categories with the same priority are sorted alphabetically. Categories with no priority are displayed after those with one. For example, if we have the following categories: - A (priority: 2) - B (no priority) - C (priority: 1) - D (priority: 2) - E (no priority) - F (priority: 1) They will be displayed in the following order: - C - F - A - D - B - E See #190 * Shorten help text It took too much room and will not be so necessary once we have drag & drop
135 lines
6.5 KiB
PHTML
135 lines
6.5 KiB
PHTML
<?php
|
|
$actual_view = Minz_Request::actionName();
|
|
$class = '';
|
|
if (FreshRSS_Context::$user_conf->hide_read_feeds &&
|
|
FreshRSS_Context::isStateEnabled(FreshRSS_Entry::STATE_NOT_READ) &&
|
|
!FreshRSS_Context::isStateEnabled(FreshRSS_Entry::STATE_READ)) {
|
|
$class = ' state_unread';
|
|
}
|
|
?>
|
|
|
|
<div class="aside aside_feed<?= $class ?>" id="aside_feed">
|
|
<a class="toggle_aside" href="#close"><?= _i('close') ?></a>
|
|
|
|
<?php if (FreshRSS_Auth::hasAccess()) { ?>
|
|
<div class="stick configure-feeds no-mobile">
|
|
<a id="btn-subscription" class="btn btn-important" href="<?= _url('subscription', 'index') ?>"><?= _t('index.menu.subscription') ?></a>
|
|
<a id="btn-importExport" class="btn btn-important" href="<?= _url('importExport', 'index') ?>"><?= _i('import') ?></a>
|
|
</div>
|
|
<?php } elseif (FreshRSS_Auth::accessNeedsLogin()) { ?>
|
|
<a href="<?= _url('index', 'about') ?>"><?= _t('index.menu.about') ?></a>
|
|
<?php } ?>
|
|
|
|
<form id="mark-read-aside" method="post">
|
|
<input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
|
|
<ul id="sidebar" class="tree">
|
|
<li class="tree-folder category all<?= FreshRSS_Context::isCurrentGet('a') ? ' active' : '' ?>">
|
|
<div class="tree-folder-title">
|
|
<?= _i('all') ?> <a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_unread) ?>" href="<?= _url('index', $actual_view) ?>"><?= _t('index.menu.main_stream') ?></a>
|
|
</div>
|
|
</li>
|
|
|
|
<li class="tree-folder category favorites<?= FreshRSS_Context::isCurrentGet('s') ? ' active' : '' ?>">
|
|
<div class="tree-folder-title">
|
|
<?= _i('bookmark') ?> <a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_starred['unread']) ?>" href="<?= _url('index', $actual_view, 'get', 's') ?>"><?= _t('index.menu.favorites', format_number(FreshRSS_Context::$total_starred['all'])) ?></a>
|
|
</div>
|
|
</li>
|
|
|
|
<?php
|
|
$t_active = FreshRSS_Context::isCurrentGet('T');
|
|
$t_show = $t_active || FreshRSS_Context::$user_conf->display_categories;
|
|
?>
|
|
<li class="tree-folder category tags<?= $t_active ? ' active' : '' ?>">
|
|
<div class="tree-folder-title">
|
|
<a class="dropdown-toggle" href="#"><?= _i($t_active ? 'up' : 'down') ?></a>
|
|
<a class="title" data-unread="<?= format_number($this->nbUnreadTags) ?>" href="<?= _url('index', $actual_view, 'get', 'T') ?>"><?= _t('index.menu.tags') ?></a>
|
|
</div>
|
|
<ul class="tree-folder-items<?= $t_show ? ' active' : '' ?>">
|
|
<?php
|
|
foreach ($this->tags as $tag):
|
|
?>
|
|
<li id="t_<?= $tag->id() ?>" class="item feed<?= FreshRSS_Context::isCurrentGet('t_' . $tag->id()) ? ' active' : '' ?>" data-unread="<?= $tag->nbUnread() ?>">
|
|
<div class="dropdown no-mobile">
|
|
<div class="dropdown-target"></div>
|
|
<a class="dropdown-toggle"><?= _i('configure') ?></a>
|
|
<?php /* tag_config_template */ ?>
|
|
</div>
|
|
<?= FreshRSS_Themes::alt('label') ?> <a class="item-title" data-unread="<?= format_number($tag->nbUnread()) ?>" href="<?= _url('index', $actual_view, 'get', 't_' . $tag->id()) ?>"><?= $tag->name() ?></a>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
</li>
|
|
|
|
<?php
|
|
foreach ($this->categories as $cat) {
|
|
$feeds = $cat->feeds();
|
|
$position = $cat->attributes('position');
|
|
if (!empty($feeds)) {
|
|
$c_active = FreshRSS_Context::isCurrentGet('c_' . $cat->id());
|
|
$c_show = $c_active || FreshRSS_Context::$user_conf->display_categories;
|
|
?>
|
|
<li class="tree-folder category<?= $c_active ? ' active' : '' ?>"<?= null === $position ? '' : "data-position='$position'" ?> data-unread="<?= $cat->nbNotRead() ?>">
|
|
<div class="tree-folder-title">
|
|
<a class="dropdown-toggle" href="#"><?= _i($c_show ? 'up' : 'down') ?></a>
|
|
<a class="title<?= $cat->hasFeedsWithError() ? ' error' : '' ?>" data-unread="<?= format_number($cat->nbNotRead()) ?>" href="<?= _url('index', $actual_view, 'get', 'c_' . $cat->id()) ?>"><?= $cat->name() ?></a>
|
|
</div>
|
|
|
|
<ul class="tree-folder-items<?= $c_show ? ' active' : '' ?>">
|
|
<?php
|
|
foreach ($feeds as $feed) {
|
|
$f_active = FreshRSS_Context::isCurrentGet('f_' . $feed->id());
|
|
?>
|
|
<li id="f_<?= $feed->id() ?>" class="item feed<?= $f_active ? ' active' : '', $feed->mute() ? ' mute' : '' ?><?= $feed->inError() ? ' error' : '' ?><?= $feed->nbEntries() <= 0 ? ' empty' : '' ?>" data-unread="<?= $feed->nbNotRead() ?>" data-priority="<?= $feed->priority() ?>">
|
|
<div class="dropdown no-mobile">
|
|
<div class="dropdown-target"></div>
|
|
<a class="dropdown-toggle" data-fweb="<?= $feed->website() ?>"><?= _i('configure') ?></a>
|
|
<?php /* feed_config_template */ ?>
|
|
</div>
|
|
<img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" /> <a class="item-title" data-unread="<?= format_number($feed->nbNotRead()) ?>" href="<?= _url('index', $actual_view, 'get', 'f_' . $feed->id()) ?>"><?= $feed->name() ?></a>
|
|
</li>
|
|
<?php } ?>
|
|
</ul>
|
|
</li>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
<li class="tree-bottom"></li>
|
|
</ul>
|
|
</form>
|
|
</div>
|
|
|
|
<script id="tag_config_template" type="text/html">
|
|
<ul class="dropdown-menu">
|
|
<li class="dropdown-close"><a href="#close">❌</a></li>
|
|
<li class="item">
|
|
<button class="as-link confirm" disabled="disabled"
|
|
form="mark-read-aside" formaction="<?= _url('tag', 'delete', 'id_tag', '------') ?>"
|
|
type="submit"><?= _t('gen.action.remove') ?></button>
|
|
</li>
|
|
</ul>
|
|
</script>
|
|
|
|
<script id="feed_config_template" type="text/html">
|
|
<ul class="dropdown-menu">
|
|
<li class="dropdown-close"><a href="#close">❌</a></li>
|
|
<li class="item"><a href="<?= _url('index', $actual_view, 'get', 'f_------') ?>"><?= _t('gen.action.filter') ?></a></li>
|
|
<?php if (FreshRSS_Auth::hasAccess()) { ?>
|
|
<li class="item"><a href="<?= _url('stats', 'repartition', 'id', '------') ?>"><?= _t('index.menu.stats') ?></a></li>
|
|
<?php } ?>
|
|
<li class="item"><a target="_blank" rel="noreferrer" href="http://example.net/"><?= _t('gen.action.see_website') ?></a></li>
|
|
<?php if (FreshRSS_Auth::hasAccess()) { ?>
|
|
<li class="separator"></li>
|
|
<li class="item"><a href="<?= _url('subscription', 'index', 'id', '------') ?>"><?= _t('gen.action.manage') ?></a></li>
|
|
<li class="item"><a href="<?= _url('feed', 'actualize', 'id', '------') ?>"><?= _t('gen.action.actualize') ?></a></li>
|
|
<li class="item">
|
|
<?php $confirm = FreshRSS_Context::$user_conf->reading_confirm ? 'confirm" disabled="disabled' : ''; ?>
|
|
<button class="read_all as-link <?= $confirm ?>"
|
|
form="mark-read-aside"
|
|
formaction="<?= _url('entry', 'read', 'get', 'f_------') ?>"
|
|
type="submit"><?= _t('gen.action.mark_read') ?></button>
|
|
</li>
|
|
<?php } ?>
|
|
</ul>
|
|
</script>
|