nbUnreadsPerFeed.phtml 943 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. declare(strict_types=1);
  3. /** @var FreshRSS_ViewJavascript $this */
  4. $result = [
  5. 'feeds' => [],
  6. 'tags' => [],
  7. ];
  8. $nbUnreadFeeds = 0;
  9. foreach ($this->categories as $cat) {
  10. foreach ($cat->feeds() as $feed) {
  11. if ($feed->priority() > FreshRSS_Feed::PRIORITY_HIDDEN) {
  12. $feedUnread = $feed->nbNotRead();
  13. $result['feeds'][$feed->id()] = $feedUnread;
  14. $nbUnreadFeeds += $feedUnread;
  15. }
  16. }
  17. }
  18. foreach ($this->tags as $tag) {
  19. $result['tags'][$tag->id()] = $tag->nbUnread();
  20. }
  21. $nbUnreadBefore = max(0, Minz_Request::paramInt('previous_unread') ?: 0);
  22. $nbNew = max(0, $nbUnreadFeeds - $nbUnreadBefore);
  23. $result['notifBody'] = trim(
  24. (Minz_Translate::plural('gen.js.feedback.body_new_articles', $nbNew) ?? _t('gen.js.feedback.body_new_articles', $nbNew)) . ' ' .
  25. (Minz_Translate::plural('gen.js.feedback.body_unread_articles', $nbUnreadFeeds) ?? _t('gen.js.feedback.body_unread_articles', $nbUnreadFeeds))
  26. );
  27. echo json_encode($result);