aside_feed.phtml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <?php
  2. $actual_view = Minz_Request::actionName();
  3. $class = '';
  4. if (FreshRSS_Context::$user_conf->hide_read_feeds &&
  5. FreshRSS_Context::isStateEnabled(FreshRSS_Entry::STATE_NOT_READ) &&
  6. !FreshRSS_Context::isStateEnabled(FreshRSS_Entry::STATE_READ)) {
  7. $class = ' state_unread';
  8. }
  9. ?>
  10. <div class="aside aside_feed<?= $class ?>" id="aside_feed">
  11. <a class="toggle_aside" href="#close"><?= _i('close') ?></a>
  12. <?php if (FreshRSS_Auth::hasAccess()) { ?>
  13. <div class="stick configure-feeds no-mobile">
  14. <a id="btn-subscription" class="btn btn-important" href="<?= _url('subscription', 'index') ?>"><?= _t('index.menu.subscription') ?></a>
  15. <a id="btn-importExport" class="btn btn-important" href="<?= _url('importExport', 'index') ?>"><?= _i('import') ?></a>
  16. </div>
  17. <?php } elseif (FreshRSS_Auth::accessNeedsLogin()) { ?>
  18. <a href="<?= _url('index', 'about') ?>"><?= _t('index.menu.about') ?></a>
  19. <?php } ?>
  20. <form id="mark-read-aside" method="post">
  21. <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
  22. <ul id="sidebar" class="tree">
  23. <li class="tree-folder category all<?= FreshRSS_Context::isCurrentGet('a') ? ' active' : '' ?>">
  24. <div class="tree-folder-title">
  25. <?= _i('all') ?> <a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_unread) ?>" href="<?= _url('index', $actual_view) ?>"><?= _t('index.menu.main_stream') ?></a>
  26. </div>
  27. </li>
  28. <li class="tree-folder category favorites<?= FreshRSS_Context::isCurrentGet('s') ? ' active' : '' ?>">
  29. <div class="tree-folder-title">
  30. <?= _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>
  31. </div>
  32. </li>
  33. <?php
  34. $t_active = FreshRSS_Context::isCurrentGet('T');
  35. $t_show = $t_active || FreshRSS_Context::$user_conf->display_categories;
  36. ?>
  37. <li class="tree-folder category tags<?= $t_active ? ' active' : '' ?>">
  38. <div class="tree-folder-title">
  39. <a class="dropdown-toggle" href="#"><?= _i($t_active ? 'up' : 'down') ?></a>
  40. <a class="title" data-unread="<?= format_number($this->nbUnreadTags) ?>" href="<?= _url('index', $actual_view, 'get', 'T') ?>"><?= _t('index.menu.tags') ?></a>
  41. </div>
  42. <ul class="tree-folder-items<?= $t_show ? ' active' : '' ?>">
  43. <?php
  44. foreach ($this->tags as $tag):
  45. ?>
  46. <li id="t_<?= $tag->id() ?>" class="item feed<?= FreshRSS_Context::isCurrentGet('t_' . $tag->id()) ? ' active' : '' ?>" data-unread="<?= $tag->nbUnread() ?>">
  47. <div class="dropdown no-mobile">
  48. <div class="dropdown-target"></div>
  49. <a class="dropdown-toggle"><?= _i('configure') ?></a>
  50. <?php /* tag_config_template */ ?>
  51. </div>
  52. <?= 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>
  53. </li>
  54. <?php endforeach; ?>
  55. </ul>
  56. </li>
  57. <?php
  58. foreach ($this->categories as $cat) {
  59. $feeds = $cat->feeds();
  60. $position = $cat->attributes('position');
  61. if (!empty($feeds)) {
  62. $c_active = FreshRSS_Context::isCurrentGet('c_' . $cat->id());
  63. $c_show = $c_active || FreshRSS_Context::$user_conf->display_categories;
  64. ?>
  65. <li class="tree-folder category<?= $c_active ? ' active' : '' ?>"<?= null === $position ? '' : "data-position='$position'" ?> data-unread="<?= $cat->nbNotRead() ?>">
  66. <div class="tree-folder-title">
  67. <a class="dropdown-toggle" href="#"><?= _i($c_show ? 'up' : 'down') ?></a>
  68. <a class="title<?= $cat->hasFeedsWithError() ? ' error' : '' ?>" data-unread="<?= format_number($cat->nbNotRead()) ?>" href="<?= _url('index', $actual_view, 'get', 'c_' . $cat->id()) ?>"><?= $cat->name() ?></a>
  69. </div>
  70. <ul class="tree-folder-items<?= $c_show ? ' active' : '' ?>">
  71. <?php
  72. foreach ($feeds as $feed) {
  73. $f_active = FreshRSS_Context::isCurrentGet('f_' . $feed->id());
  74. ?>
  75. <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() ?>">
  76. <div class="dropdown no-mobile">
  77. <div class="dropdown-target"></div>
  78. <a class="dropdown-toggle" data-fweb="<?= $feed->website() ?>"><?= _i('configure') ?></a>
  79. <?php /* feed_config_template */ ?>
  80. </div>
  81. <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>
  82. </li>
  83. <?php } ?>
  84. </ul>
  85. </li>
  86. <?php
  87. }
  88. }
  89. ?>
  90. <li class="tree-bottom"></li>
  91. </ul>
  92. </form>
  93. </div>
  94. <script id="tag_config_template" type="text/html">
  95. <ul class="dropdown-menu">
  96. <li class="dropdown-close"><a href="#close">❌</a></li>
  97. <li class="item">
  98. <button class="as-link confirm" disabled="disabled"
  99. form="mark-read-aside" formaction="<?= _url('tag', 'delete', 'id_tag', '------') ?>"
  100. type="submit"><?= _t('gen.action.remove') ?></button>
  101. </li>
  102. </ul>
  103. </script>
  104. <script id="feed_config_template" type="text/html">
  105. <ul class="dropdown-menu">
  106. <li class="dropdown-close"><a href="#close">❌</a></li>
  107. <li class="item"><a href="<?= _url('index', $actual_view, 'get', 'f_------') ?>"><?= _t('gen.action.filter') ?></a></li>
  108. <?php if (FreshRSS_Auth::hasAccess()) { ?>
  109. <li class="item"><a href="<?= _url('stats', 'repartition', 'id', '------') ?>"><?= _t('index.menu.stats') ?></a></li>
  110. <?php } ?>
  111. <li class="item"><a target="_blank" rel="noreferrer" href="http://example.net/"><?= _t('gen.action.see_website') ?></a></li>
  112. <?php if (FreshRSS_Auth::hasAccess()) { ?>
  113. <li class="separator"></li>
  114. <li class="item"><a href="<?= _url('subscription', 'index', 'id', '------') ?>"><?= _t('gen.action.manage') ?></a></li>
  115. <li class="item"><a href="<?= _url('feed', 'actualize', 'id', '------') ?>"><?= _t('gen.action.actualize') ?></a></li>
  116. <li class="item">
  117. <?php $confirm = FreshRSS_Context::$user_conf->reading_confirm ? 'confirm" disabled="disabled' : ''; ?>
  118. <button class="read_all as-link <?= $confirm ?>"
  119. form="mark-read-aside"
  120. formaction="<?= _url('entry', 'read', 'get', 'f_------') ?>"
  121. type="submit"><?= _t('gen.action.mark_read') ?></button>
  122. </li>
  123. <?php } ?>
  124. </ul>
  125. </script>