3 namespace Wallabag\CoreBundle\Controller
;
5 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route
;
6 use Symfony\Bundle\FrameworkBundle\Controller\Controller
;
7 use Wallabag\CoreBundle\Entity\Entry
;
8 use Wallabag\CoreBundle\Helper\EntriesExport
;
10 class ExportController
extends Controller
13 * Gets all entries for current user.
15 * @Route("/export/{category}.{format}", name="ebook", requirements={
16 * "_format": "epub|mobi|pdf|json|xml|txt|csv"
19 public function getEntriesAction($format, $category)
21 $repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry');
43 $methodBuilder = 'getBuilderFor'.$method.'ByUser';
44 $qb = $repository->$methodBuilder($this->getUser()->getId());
45 $entries = $qb->getQuery()->getResult();
47 $export = new EntriesExport($entries);
48 $export->setMethod($method);
49 $export->exportAs($format);
53 * Gets one entry content.
57 * @Route("/export/id/{id}.{format}", requirements={"id" = "\d+"}, name="ebook_entry")
59 public function getEntryAction(Entry
$entry, $format)
61 $export = new EntriesExport(array($entry));
62 $export->setMethod('entry');
63 $export->exportAs($format);