From 6c08fb68b8e7883df7f6c1a2ba7c56ced4c1153b Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Mon, 25 Jan 2016 17:31:45 +0100 Subject: add txt export --- src/Wallabag/CoreBundle/Helper/EntriesExport.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/Wallabag/CoreBundle/Helper') diff --git a/src/Wallabag/CoreBundle/Helper/EntriesExport.php b/src/Wallabag/CoreBundle/Helper/EntriesExport.php index 965a40b6..79fe6eaa 100644 --- a/src/Wallabag/CoreBundle/Helper/EntriesExport.php +++ b/src/Wallabag/CoreBundle/Helper/EntriesExport.php @@ -6,6 +6,7 @@ use JMS\Serializer; use JMS\Serializer\SerializationContext; use JMS\Serializer\SerializerBuilder; use PHPePub\Core\EPub; +use Html2Text\Html2Text; use PHPePub\Core\Structure\OPF\DublinCore; use Symfony\Component\HttpFoundation\Response; use Craue\ConfigBundle\Util\Config; @@ -99,6 +100,8 @@ class EntriesExport case 'xml': return $this->produceXML(); + case 'txt': + return $this->produceTXT(); } throw new \InvalidArgumentException(sprintf('The format "%s" is not yet supported.', $format)); @@ -359,6 +362,25 @@ class EntriesExport )->send(); } + private function produceTXT() + { + $content = ''; + foreach ($this->entries as $entry) { + $content .= $entry->getTitle(); + $content .= strip_tags($entry->getContent()); + } + return Response::create( + $content, + 200, + array( + 'Content-type' => 'text/plain', + 'Content-Disposition' => 'attachment; filename="'.$this->title.'.txt"', + 'Content-Transfer-Encoding' => 'UTF-8', + ) + )->send(); + } + + /** * Return a Serializer object for producing processes that need it (JSON & XML). * -- cgit v1.2.3