idle.phtml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. declare(strict_types=1);
  3. /** @var FreshRSS_ViewStats $this */
  4. $this->partial('aside_subscription');
  5. ?>
  6. <main class="post">
  7. <div class="link-back-wrapper">
  8. <a class="link-back" href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a>
  9. </div>
  10. <h1><?= _t('admin.stats.idle') ?></h1>
  11. <?php
  12. $current_url = Minz_Url::display(
  13. array('c' => 'stats', 'a' => 'idle'),
  14. 'php', true
  15. );
  16. $nothing = true;
  17. foreach ($this->idleFeeds as $period => $feedsInPeriod) {
  18. if (!empty($feedsInPeriod)) {
  19. $nothing = false;
  20. ?>
  21. <div class="box">
  22. <div class="box-title"><h2><?= _t('gen.date.' . $period) ?></h2></div>
  23. <ul class="box-content scrollbar-thin">
  24. <?php
  25. foreach ($feedsInPeriod as $feedInPeriod) {
  26. $feed = $this->feeds[$feedInPeriod['id']] ?? null;
  27. $error_class = '';
  28. $error_title = '';
  29. if ($feed === null || $feed->inError()) {
  30. $error_class = ' error';
  31. $error_title = _t('sub.feed.error');
  32. }
  33. $empty_class = '';
  34. $empty_title = '';
  35. if ($feed !== null && $feed->nbEntries() == 0) {
  36. $empty_class = ' empty';
  37. $empty_title = _t('sub.feed.empty');
  38. }
  39. $mute_class = ($feed !== null && $feed->mute()) ? ' mute' : '';
  40. ?>
  41. <li class="item feed<?= $error_class, $empty_class, $mute_class ?>" title="<?= $error_title, $empty_title ?>">
  42. <a class="configure open-slider" href="<?= _url('stats', 'feed', 'id', $feedInPeriod['id'], 'sub', 'idle') ?>" title="<?= _t('gen.action.manage') ?>"><?= _i('configure') ?></a>
  43. <?php if (FreshRSS_Context::userConf()->show_favicons): ?><img class="favicon" src="<?= $feedInPeriod['favicon'] ?>" alt="✇" loading="lazy" /><?php endif; ?>
  44. <span title="<?= timestamptodate((int)($feedInPeriod['last_date']), false) ?>"><?= $feedInPeriod['name'] ?>
  45. (<?= _t('admin.stats.number_entries', $feedInPeriod['nb_articles']) ?>)</span>
  46. </li>
  47. <?php } ?>
  48. </ul>
  49. </div>
  50. <?php
  51. }
  52. }
  53. if ($nothing) {
  54. ?>
  55. <p class="alert alert-warn">
  56. <span class="alert-head"><?= _t('admin.stats.no_idle') ?></span>
  57. </p>
  58. <?php } ?>
  59. </main>
  60. <?php $class = isset($this->feed) ? ' active' : ''; ?>
  61. <aside id="slider" class="<?= $class ?>">
  62. <a class="toggle_aside" href="#close"><img class="icon" src="../themes/icons/close.svg" loading="lazy" alt="❌"></a>
  63. <div id="slider-content">
  64. <?php
  65. if (isset($this->feed)) {
  66. $this->renderHelper('feed/update');
  67. }
  68. ?>
  69. </div>
  70. </aside>
  71. <a href="#" id="close-slider" class="<?= $class ?>">
  72. <?= _i('close') ?>
  73. </a>