From 03690d138792dde6405e3d2eb3c53f6572eb3c43 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 15 Oct 2015 20:06:59 +0200 Subject: Start work on export For now: - ebook - mobi - pdf - csv --- .../CoreBundle/Controller/ExportController.php | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/Wallabag/CoreBundle/Controller/ExportController.php (limited to 'src/Wallabag/CoreBundle/Controller') diff --git a/src/Wallabag/CoreBundle/Controller/ExportController.php b/src/Wallabag/CoreBundle/Controller/ExportController.php new file mode 100644 index 00000000..123e491a --- /dev/null +++ b/src/Wallabag/CoreBundle/Controller/ExportController.php @@ -0,0 +1,65 @@ +getDoctrine()->getRepository('WallabagCoreBundle:Entry'); + switch ($category) { + case 'all': + $method = 'All'; + break; + + case 'unread': + $method = 'Unread'; + break; + + case 'starred': + $method = 'Starred'; + break; + + case 'archive': + $method = 'Archive'; + break; + + default: + break; + } + + $methodBuilder = 'getBuilderFor'.$method.'ByUser'; + $qb = $repository->$methodBuilder($this->getUser()->getId()); + $entries = $qb->getQuery()->getResult(); + + $export = new EntriesExport($entries); + $export->setMethod($method); + $export->exportAs($format); + } + + /** + * Gets one entry content. + * + * @param Entry $entry + * + * @Route("/export/id/{id}.{format}", requirements={"id" = "\d+"}, name="ebook_entry") + */ + public function getEntryAction(Entry $entry, $format) + { + $export = new EntriesExport(array($entry)); + $export->setMethod('entry'); + $export->exportAs($format); + } +} -- cgit v1.2.3