3 namespace Wallabag\CoreBundle\Controller
;
5 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route
;
6 use Symfony\Bundle\FrameworkBundle\Controller\Controller
;
7 use Symfony\Component\HttpKernel\Exception\NotFoundHttpException
;
8 use Wallabag\CoreBundle\Entity\Entry
;
10 class ExportController
extends Controller
13 * Gets one entry content.
17 * @Route("/export/{id}.{format}", requirements={"id" = "\d+"}, name="export_entry")
19 public function downloadEntryAction(Entry
$entry, $format)
22 return $this->get('wallabag_core.helper.entries_export')
24 ->updateTitle('entry')
26 } catch (\InvalidArgumentException
$e) {
27 throw new NotFoundHttpException($e->getMessage());
32 * Export all entries for current user.
34 * @Route("/export/{category}.{format}", name="export_entries", requirements={
35 * "_format": "epub|mobi|pdf|json|xml|txt|csv",
36 * "category": "all|unread|starred|archive"
39 public function downloadEntriesAction($format, $category)
41 $method = ucfirst($category);
42 $methodBuilder = 'getBuilderFor'.$method.'ByUser';
43 $entries = $this->getDoctrine()
44 ->getRepository('WallabagCoreBundle:Entry')
45 ->$methodBuilder($this->getUser()->getId())
50 return $this->get('wallabag_core.helper.entries_export')
51 ->setEntries($entries)
52 ->updateTitle($method)
54 } catch (\InvalidArgumentException
$e) {
55 throw new NotFoundHttpException($e->getMessage());