get('wallabag_core.helper.entries_export') ->setEntries($entry) ->updateTitle('entry') ->exportAs($format); } catch (\InvalidArgumentException $e) { throw new NotFoundHttpException($e->getMessage()); } } /** * Export all entries for current user. * * @param string $format * @param string $category * * @Route("/export/{category}.{format}", name="export_entries", requirements={ * "format": "epub|mobi|pdf|json|xml|txt|csv", * "category": "all|unread|starred|archive|tag_entries|untagged|search" * }) * * @return \Symfony\Component\HttpFoundation\Response */ public function downloadEntriesAction(Request $request, $format, $category) { $method = ucfirst($category); $methodBuilder = 'getBuilderFor'.$method.'ByUser'; if ($category == 'tag_entries') { $tag = $this->getDoctrine()->getRepository('WallabagCoreBundle:Tag')->findOneBySlug($request->query->get('tag')); $entries = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') ->findAllByTagId($this->getUser()->getId(), $tag->getId()); } else { $entries = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') ->$methodBuilder($this->getUser()->getId()) ->getQuery() ->getResult(); } try { return $this->get('wallabag_core.helper.entries_export') ->setEntries($entries) ->updateTitle($method) ->exportAs($format); } catch (\InvalidArgumentException $e) { throw new NotFoundHttpException($e->getMessage()); } } }