/** * @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()); }
/** * 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 }