X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FHelper%2FEntriesExport.php;h=d0680c3fc529c9d91ef61c8c740e5199806eded8;hb=77b9db87b84e20a6042444e3b18665bc66d4f1f2;hp=6ecdf019672a65ac003f28ab320f145c7ddf7e13;hpb=565c8efb4fa2e1073f8428f80ff39da2b3e7cec7;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Helper/EntriesExport.php b/src/Wallabag/CoreBundle/Helper/EntriesExport.php index 6ecdf019..d0680c3f 100644 --- a/src/Wallabag/CoreBundle/Helper/EntriesExport.php +++ b/src/Wallabag/CoreBundle/Helper/EntriesExport.php @@ -81,27 +81,9 @@ class EntriesExport */ public function exportAs($format) { - switch ($format) { - case 'epub': - return $this->produceEpub(); - - case 'mobi': - return $this->produceMobi(); - - case 'pdf': - return $this->producePDF(); - - case 'csv': - return $this->produceCSV(); - - case 'json': - return $this->produceJSON(); - - case 'xml': - return $this->produceXML(); - - case 'txt': - return $this->produceTXT(); + $functionName = 'produce'.ucfirst($format); + if (method_exists($this, $functionName)) { + return $this->$functionName(); } throw new \InvalidArgumentException(sprintf('The format "%s" is not yet supported.', $format)); @@ -242,7 +224,7 @@ class EntriesExport /** * Use TCPDF to dump a .pdf file. */ - private function producePDF() + private function producePdf() { $pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); @@ -296,7 +278,7 @@ class EntriesExport /** * Inspired from CsvFileDumper. */ - private function produceCSV() + private function produceCsv() { $delimiter = ';'; $enclosure = '"'; @@ -336,7 +318,7 @@ class EntriesExport ); } - private function produceJSON() + private function produceJson() { return Response::create( $this->prepareSerializingContent('json'), @@ -349,7 +331,7 @@ class EntriesExport ); } - private function produceXML() + private function produceXml() { return Response::create( $this->prepareSerializingContent('xml'), @@ -362,7 +344,7 @@ class EntriesExport ); } - private function produceTXT() + private function produceTxt() { $content = ''; $bar = str_repeat('=', 100); @@ -385,6 +367,8 @@ class EntriesExport /** * Return a Serializer object for producing processes that need it (JSON & XML). * + * @param string $format + * * @return Serializer */ private function prepareSerializingContent($format)