From 4d5461bd0885caa2d76e2163858ca9e8135f2956 Mon Sep 17 00:00:00 2001 From: Benjamin Perche Date: Tue, 15 Jul 2014 10:13:16 +0200 Subject: [PATCH] =?UTF-8?q?Refactor=20images=20and=20document=20export=20i?= =?UTF-8?q?nterfaces,=20and=20implement=20it=20=09modifi=C3=A9:=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20core/lib/Thelia/Controller/Admin/ImportExport?= =?UTF-8?q?Controller.php=20=09renomm=C3=A9:=20=20=20=20=20=20=20=20=20cor?= =?UTF-8?q?e/lib/Thelia/ImportExport/DocumentsAwareInterface.php=20->=20co?= =?UTF-8?q?re/lib/Thelia/ImportExport/DocumentsExportInterface.php=20=09re?= =?UTF-8?q?nomm=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Thelia/ImportExp?= =?UTF-8?q?ort/ImagesAwareInterface.php=20->=20core/lib/Thelia/ImportExpor?= =?UTF-8?q?t/ImagesExportInterface.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/ImportExportController.php | 19 +++++++++++-------- ...rface.php => DocumentsExportInterface.php} | 6 ++++-- ...nterface.php => ImagesExportInterface.php} | 6 ++++-- 3 files changed, 19 insertions(+), 12 deletions(-) rename core/lib/Thelia/ImportExport/{DocumentsAwareInterface.php => DocumentsExportInterface.php} (90%) rename core/lib/Thelia/ImportExport/{ImagesAwareInterface.php => ImagesExportInterface.php} (91%) diff --git a/core/lib/Thelia/Controller/Admin/ImportExportController.php b/core/lib/Thelia/Controller/Admin/ImportExportController.php index c44e9e762..b45013dca 100644 --- a/core/lib/Thelia/Controller/Admin/ImportExportController.php +++ b/core/lib/Thelia/Controller/Admin/ImportExportController.php @@ -17,8 +17,8 @@ use Thelia\Core\Template\Loop\Export as ExportLoop; use Thelia\Core\Template\Loop\Import as ImportLoop; use Thelia\Form\Exception\FormValidationException; use Thelia\Form\ExportForm; -use Thelia\ImportExport\DocumentsAwareInterface; -use Thelia\ImportExport\ImagesAwareInterface; +use Thelia\ImportExport\DocumentsExportInterface; +use Thelia\ImportExport\ImagesExportInterface; use Thelia\Model\ExportQuery; use Thelia\Model\ImportQuery; @@ -118,24 +118,27 @@ class ImportExportController extends BaseAdminController $formattedContent = $formatter->encode($data); if (!$boundForm->get("do_compress")->getData()) { + $filename = $formatter::FILENAME . "." . $formatter->getExtension(); + return new Response( $formattedContent, 200, [ "Content-Type" => $formatter->getMimeType(), "Content-Disposition" => - "attachment; filename=\"".$formatter::FILENAME . - "." . $formatter->getExtension() ."\"", + "attachment; filename=\"" . $filename . "\"", ] ); } else { - /** @var \Thelia\Core\FileFormat\Archive\AbstractArchiveBuilder $archiveBuilder */ - $archiveBuilder = $this->archiveBuilderManager->get($boundForm->get("archive_builder")->getData()); + /** @var \Thelia\Core\FileFormat\Archive\ArchiveBuilderInterface $archiveBuilder */ + $archiveBuilder = $this->archiveBuilderManager->get( + $boundForm->get("archive_builder")->getData() + ); /** * Put the images in the archive */ - if ($boundForm->get("images")->getData() && $handler instanceof ImagesAwareInterface) { + if ($boundForm->get("images")->getData() && $handler instanceof ImagesExportInterface) { foreach ($handler->getImagesPaths() as $image) { $archiveBuilder->addFile($image, "images"); } @@ -144,7 +147,7 @@ class ImportExportController extends BaseAdminController /** * Then the documents */ - if ($boundForm->get("documents")->getData() && $handler instanceof DocumentsAwareInterface) { + if ($boundForm->get("documents")->getData() && $handler instanceof DocumentsExportInterface) { foreach ($handler->getDocumentsPaths() as $document) { $archiveBuilder->addFile($document, "documents"); } diff --git a/core/lib/Thelia/ImportExport/DocumentsAwareInterface.php b/core/lib/Thelia/ImportExport/DocumentsExportInterface.php similarity index 90% rename from core/lib/Thelia/ImportExport/DocumentsAwareInterface.php rename to core/lib/Thelia/ImportExport/DocumentsExportInterface.php index 0c6691450..ee5b68299 100644 --- a/core/lib/Thelia/ImportExport/DocumentsAwareInterface.php +++ b/core/lib/Thelia/ImportExport/DocumentsExportInterface.php @@ -12,12 +12,14 @@ namespace Thelia\ImportExport; /** - * Interface DocumentsAwareInterface + * Interface DocumentsExportInterface * @package Thelia\ImportExport * @author Benjamin Perche */ -interface DocumentsAwareInterface +interface DocumentsExportInterface { + const DOCUMENTS_DIRECTORY = "documents"; + /** * @return array * diff --git a/core/lib/Thelia/ImportExport/ImagesAwareInterface.php b/core/lib/Thelia/ImportExport/ImagesExportInterface.php similarity index 91% rename from core/lib/Thelia/ImportExport/ImagesAwareInterface.php rename to core/lib/Thelia/ImportExport/ImagesExportInterface.php index 9386a2a69..bb97e68cc 100644 --- a/core/lib/Thelia/ImportExport/ImagesAwareInterface.php +++ b/core/lib/Thelia/ImportExport/ImagesExportInterface.php @@ -13,12 +13,14 @@ namespace Thelia\ImportExport; /** - * interface ImagesAwareInterface + * interface ImagesExportInterface * @package Thelia\ImportExport * @author Benjamin Perche */ -interface ImagesAwareInterface +interface ImagesExportInterface { + const IMAGES_DIRECTORY = "images"; + /** * @return array *