index.phtml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. /** @var FreshRSS_View $this */
  3. $this->partial('aside_subscription');
  4. ?>
  5. <main class="post drop-section">
  6. <div class="link-back-wrapper">
  7. <a class="link-back" href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a>
  8. </div>
  9. <h1><?= _t('sub.title') ?></h1>
  10. <?php if ($this->onlyFeedsWithError): ?>
  11. <div class="link-showAllFeeds-wrapper">
  12. <a href="<?= _url('subscription', 'index') ?>">← <?= _t('sub.feed.show.all') ?></a>
  13. </div>
  14. <p class="alert alert-warn">
  15. <?= _t('sub.feed.showing.error') ?>
  16. </p>
  17. <?php endif; ?>
  18. <?php if (!$this->onlyFeedsWithError && $this->signalError){ ?>
  19. <div>
  20. <a class="btn" href="<?= _url('subscription', 'index', 'error', '1') ?>"><?= _i('look') ?> <?= _t('sub.feed.show.error') ?></a>
  21. </div>
  22. <?php } ?>
  23. <form id="controller-category" method="post" aria-hidden="true">
  24. <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
  25. </form>
  26. <?php
  27. $signalError = false;
  28. foreach ($this->categories as $cat) {
  29. $feeds = $cat->feeds();
  30. ?>
  31. <div class="box">
  32. <div class="box-title">
  33. <a class="configure open-slider" href="<?= _url('subscription', 'category', 'id', $cat->id()) ?>"><?= _i('configure') ?></a>
  34. <?= $cat->name() ?>
  35. </div>
  36. <ul class="box-content" data-cat-id="<?= $cat->id() ?>">
  37. <?php if (!empty($feeds)) { ?>
  38. <?php
  39. foreach ($feeds as $feed) {
  40. if ($this->onlyFeedsWithError && !$feed->inError()) {
  41. continue;
  42. }
  43. $error = $feed->inError() ? ' error' : '';
  44. $empty = $feed->nbEntries() == 0 ? ' empty' : '';
  45. ?>
  46. <li class="item feed<?= $error, $empty, $feed->mute() ? ' mute' : '' ?>"
  47. draggable="true"
  48. data-feed-id="<?= $feed->id() ?>"
  49. dropzone="move">
  50. <a class="configure open-slider" href="<?= _url('subscription', 'feed', 'id', $feed->id()) ?>"><?= _i('configure') ?></a>
  51. <?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?>
  52. <?= $feed->name() ?>
  53. </li>
  54. <?php }
  55. } else {
  56. ?>
  57. <li class="item feed disabled" dropzone="move"><div class="alert-warn"><?= _t('sub.category.empty') ?></div></li>
  58. <?php } ?>
  59. <li class="item feed">✚ <a href="<?= _url('subscription', 'add') ?>"><?= _t('sub.feed.add') ?></a></li>
  60. </ul>
  61. </div>
  62. <?php } ?>
  63. <div class="box visible-semi">
  64. <div class="box-title">
  65. ✚ <a href="<?= _url('subscription', 'add') ?>"><?= _t('sub.category.add') ?></a>
  66. </div>
  67. <ul class="box-content">
  68. </ul>
  69. </div>
  70. <?php $class = $this->displaySlider ? ' class="active"' : ''; ?>
  71. <a href="#" id="close-slider"<?= $class ?>>
  72. <?= _i('close') ?>
  73. </a>
  74. <div id="slider"<?= $class ?>>
  75. <?php
  76. if (isset($this->feed)) {
  77. $this->renderHelper('feed/update');
  78. } elseif (isset($this->category)) {
  79. $this->renderHelper('category/update');
  80. }
  81. ?>
  82. </div>
  83. </main>