/**
  * @FLOW3\SkipCsrfProtection
  */
 public function indexAction()
 {
     $items = $this->itemRepository->findByFilter(NULL);
     $recentItems = $items->getQuery()->setLimit(5)->execute();
     $this->view->assign('itemCount', $this->itemRepository->countAll());
     $this->view->assign('recentItems', $recentItems);
     $this->view->assign('channelCount', $this->channelRepository->countAll());
     $this->view->assign('topChannels', $this->channelRepository->findTopChannels());
 }
Пример #2
0
 /**
  * Index action
  *
  * @param \Planetflow3\Domain\Dto\ItemFilter $filter
  * @FLOW3\SkipCsrfProtection
  */
 public function indexAction($filter = NULL)
 {
     if ($filter === NULL) {
         $filter = new \Planetflow3\Domain\Dto\ItemFilter();
     }
     $items = $this->itemRepository->findByFilter($filter);
     $this->view->assign('items', $items);
     $this->view->assign('filter', $filter);
     $channels = $this->channelRepository->findAll();
     $categories = $this->categoryRepository->findAll();
     $this->view->assign('channels', $channels->toArray());
     $this->view->assign('categories', $categories->toArray());
 }
 /**
  * Feed action
  *
  * Render an aggregated feed for a given language.
  *
  * @param string $language Filter by language, NULL for all languages
  */
 public function feedAction($language = NULL)
 {
     $filter = new \Planetflow3\Domain\Dto\ItemFilter();
     $filter->setLanguage($language);
     $filter->setDisabled(FALSE);
     $result = $this->itemRepository->findByFilter($filter);
     $query = $result->getQuery();
     $query->setLimit(20);
     $items = $query->execute();
     $this->view->assign('language', $language);
     $this->view->assign('items', $items);
     $this->response->setHeader('Content-Type', 'application/rss+xml; charset=UTF-8');
     // TODO Send correct cache control including last modified
 }