From 370bf94f40d1ac5224ede1a9171e24e3791b7771 Mon Sep 17 00:00:00 2001 From: Benjamin Perche Date: Tue, 5 Aug 2014 14:34:27 +0200 Subject: [PATCH 1/6] =?UTF-8?q?Add=20don't=20use=20phar=20based=20archive?= =?UTF-8?q?=20builders=20if=20modules=20not=20enabled=20=09modifi=C3=A9:?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20core/lib/Thelia/Core/FileFormat/Arch?= =?UTF-8?q?ive/ArchiveBuilder/TarArchiveBuilder.php=20=09modifi=C3=A9:=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20core/lib/Thelia/Core/FileFormat/Archive?= =?UTF-8?q?/ArchiveBuilder/TarBz2ArchiveBuilder.php=20=09modifi=C3=A9:=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20core/lib/Thelia/Core/FileFormat/Archive?= =?UTF-8?q?/ArchiveBuilder/TarGzArchiveBuilder.php=20=09modifi=C3=A9:=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20core/lib/Thelia/Core/FileFormat/Archive?= =?UTF-8?q?/ArchiveBuilderManager.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Archive/ArchiveBuilder/TarArchiveBuilder.php | 10 ++++++++++ .../Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php | 10 ++++++++++ .../Archive/ArchiveBuilder/TarGzArchiveBuilder.php | 11 +++++++++++ .../Core/FileFormat/Archive/ArchiveBuilderManager.php | 2 +- 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php index 00e4fe838..7c7bdac61 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php @@ -47,6 +47,16 @@ class TarArchiveBuilder extends AbstractArchiveBuilder /** @var \Thelia\Log\Tlog */ protected $logger; + public function __construct() + { + if (false !== (bool)ini_get("phar.readonly") || !class_exists("\\PharData")) { + return null; + } + + parent::__construct(); + } + + public function __destruct() { if ($this->tar instanceof \PharData) { diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php index eb6790711..08079178e 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php @@ -19,6 +19,16 @@ namespace Thelia\Core\FileFormat\Archive\ArchiveBuilder; */ class TarBz2ArchiveBuilder extends TarArchiveBuilder { + public function __construct() + { + if (!extension_loaded("bzip2")) { + return null; + } + + parent::__construct(); + } + + public function getName() { return "tar.bz2"; diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php index 581e4a3b2..ddc54611e 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php @@ -11,6 +11,7 @@ /*************************************************************************************/ namespace Thelia\Core\FileFormat\Archive\ArchiveBuilder; +use Thelia\Core\FileFormat\Archive\AbstractArchiveBuilder; /** * Class TarGzArchiveBuilder @@ -19,6 +20,16 @@ namespace Thelia\Core\FileFormat\Archive\ArchiveBuilder; */ class TarGzArchiveBuilder extends TarArchiveBuilder { + public function __construct() + { + if (!extension_loaded("zlib")) { + return null; + } + + parent::__construct(); + } + + public function getName() { return "tar.gz"; diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php index 176531670..9e41432a1 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php @@ -33,7 +33,7 @@ class ArchiveBuilderManager * @param AbstractArchiveBuilder $archiveBuilder * @return $this */ - public function add(AbstractArchiveBuilder $archiveBuilder) + public function add(AbstractArchiveBuilder $archiveBuilder = null) { if (null !== $archiveBuilder) { $archiveBuilder->setEnvironment($this->environment); From b5dbf08bb78db84412fffe6917c8944238266f01 Mon Sep 17 00:00:00 2001 From: Benjamin Perche Date: Tue, 5 Aug 2014 14:36:37 +0200 Subject: [PATCH 2/6] =?UTF-8?q?Fix=20cs=20=09modifi=C3=A9:=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuil?= =?UTF-8?q?der/TarArchiveBuilder.php=20=09modifi=C3=A9:=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder?= =?UTF-8?q?/TarBz2ArchiveBuilder.php=20=09modifi=C3=A9:=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder?= =?UTF-8?q?/TarGzArchiveBuilder.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php | 3 +-- .../FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php | 1 - .../FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php index 7c7bdac61..a8157ee8e 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php @@ -49,14 +49,13 @@ class TarArchiveBuilder extends AbstractArchiveBuilder public function __construct() { - if (false !== (bool)ini_get("phar.readonly") || !class_exists("\\PharData")) { + if (false !== (bool) ini_get("phar.readonly") || !class_exists("\\PharData")) { return null; } parent::__construct(); } - public function __destruct() { if ($this->tar instanceof \PharData) { diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php index 08079178e..0f20e0fb4 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php @@ -28,7 +28,6 @@ class TarBz2ArchiveBuilder extends TarArchiveBuilder parent::__construct(); } - public function getName() { return "tar.bz2"; diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php index ddc54611e..eef21efbe 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php @@ -11,7 +11,6 @@ /*************************************************************************************/ namespace Thelia\Core\FileFormat\Archive\ArchiveBuilder; -use Thelia\Core\FileFormat\Archive\AbstractArchiveBuilder; /** * Class TarGzArchiveBuilder @@ -29,7 +28,6 @@ class TarGzArchiveBuilder extends TarArchiveBuilder parent::__construct(); } - public function getName() { return "tar.gz"; From d1a07b883b25ade802e5ff6c0a6655f34cc426a3 Mon Sep 17 00:00:00 2001 From: Benjamin Perche Date: Tue, 5 Aug 2014 15:10:19 +0200 Subject: [PATCH 3/6] =?UTF-8?q?Add=20checks=20for=20archive=20building=20l?= =?UTF-8?q?ibraries=20=09modifi=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/?= =?UTF-8?q?Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder?= =?UTF-8?q?.php=20=09modifi=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Thel?= =?UTF-8?q?ia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.?= =?UTF-8?q?php=20=09modifi=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Theli?= =?UTF-8?q?a/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.ph?= =?UTF-8?q?p=20=09modifi=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Thelia/?= =?UTF-8?q?Core/FileFormat/Archive/ArchiveBuilder/ZipArchiveBuilder.php=20?= =?UTF-8?q?=09modifi=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Thelia/Core?= =?UTF-8?q?/FileFormat/Archive/ArchiveBuilderInterface.php=20=09modifi?= =?UTF-8?q?=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Thelia/Core/FileForm?= =?UTF-8?q?at/Archive/ArchiveBuilderManager.php=20=09modifi=C3=A9:=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20templates/backOffice/default/ajax/export-m?= =?UTF-8?q?odal.html=20=09modifi=C3=A9:=20=20=20=20=20=20=20=20=20template?= =?UTF-8?q?s/backOffice/default/export-page.html?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ArchiveBuilder/TarArchiveBuilder.php | 14 +-- .../ArchiveBuilder/TarBz2ArchiveBuilder.php | 14 +-- .../ArchiveBuilder/TarGzArchiveBuilder.php | 13 +-- .../ArchiveBuilder/ZipArchiveBuilder.php | 10 ++ .../Archive/ArchiveBuilderInterface.php | 6 + .../Archive/ArchiveBuilderManager.php | 4 +- .../backOffice/default/ajax/export-modal.html | 100 +++++++++-------- templates/backOffice/default/export-page.html | 106 +++++++++--------- 8 files changed, 137 insertions(+), 130 deletions(-) diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php index a8157ee8e..22652904c 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarArchiveBuilder.php @@ -47,15 +47,6 @@ class TarArchiveBuilder extends AbstractArchiveBuilder /** @var \Thelia\Log\Tlog */ protected $logger; - public function __construct() - { - if (false !== (bool) ini_get("phar.readonly") || !class_exists("\\PharData")) { - return null; - } - - parent::__construct(); - } - public function __destruct() { if ($this->tar instanceof \PharData) { @@ -512,4 +503,9 @@ class TarArchiveBuilder extends AbstractArchiveBuilder { return $this->compression; } + + public function isAvailable() + { + return false === (bool) ini_get("phar.readonly") && class_exists("\\PharData"); + } } diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php index 0f20e0fb4..d30ea33cd 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php @@ -19,15 +19,6 @@ namespace Thelia\Core\FileFormat\Archive\ArchiveBuilder; */ class TarBz2ArchiveBuilder extends TarArchiveBuilder { - public function __construct() - { - if (!extension_loaded("bzip2")) { - return null; - } - - parent::__construct(); - } - public function getName() { return "tar.bz2"; @@ -53,4 +44,9 @@ class TarBz2ArchiveBuilder extends TarArchiveBuilder return $this; } + + public function isAvailable() + { + return parent::isAvailable() && extension_loaded("bzip2"); + } } diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php index eef21efbe..ef188d0b6 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarGzArchiveBuilder.php @@ -19,15 +19,6 @@ namespace Thelia\Core\FileFormat\Archive\ArchiveBuilder; */ class TarGzArchiveBuilder extends TarArchiveBuilder { - public function __construct() - { - if (!extension_loaded("zlib")) { - return null; - } - - parent::__construct(); - } - public function getName() { return "tar.gz"; @@ -54,4 +45,8 @@ class TarGzArchiveBuilder extends TarArchiveBuilder return $this; } + public function isAvailable() + { + return parent::isAvailable() && extension_loaded("zlib"); + } } diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/ZipArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/ZipArchiveBuilder.php index dcaac183e..034bad869 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/ZipArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/ZipArchiveBuilder.php @@ -610,4 +610,14 @@ class ZipArchiveBuilder extends AbstractArchiveBuilder { return $this->zip; } + + /** + * @return bool + * + * Returns conditions for archive builder to be available ( loaded libraries ) + */ + public function isAvailable() + { + return class_exists('\\ZipArchive'); + } } diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderInterface.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderInterface.php index 0ff882ae5..c3fc30621 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderInterface.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderInterface.php @@ -112,4 +112,10 @@ interface ArchiveBuilderInterface */ public function hasDirectory($directory); + /** + * @return bool + * + * Returns conditions for archive builder to be available ( loaded libraries ) + */ + public function isAvailable(); } diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php index 9e41432a1..701f985f7 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php @@ -33,9 +33,9 @@ class ArchiveBuilderManager * @param AbstractArchiveBuilder $archiveBuilder * @return $this */ - public function add(AbstractArchiveBuilder $archiveBuilder = null) + public function add(AbstractArchiveBuilder $archiveBuilder) { - if (null !== $archiveBuilder) { + if ($archiveBuilder->isAvailable()) { $archiveBuilder->setEnvironment($this->environment); $this->archiveBuilders[$archiveBuilder->getName()] = $archiveBuilder; diff --git a/templates/backOffice/default/ajax/export-modal.html b/templates/backOffice/default/ajax/export-modal.html index efd0931e0..a5946a1ea 100644 --- a/templates/backOffice/default/ajax/export-modal.html +++ b/templates/backOffice/default/ajax/export-modal.html @@ -48,59 +48,61 @@ {/form_field} -
-
- {form_field form=$form field="do_compress"} - -
- + {ifloop rel="export-archive-builder"} +
+
+ {form_field form=$form field="do_compress"} + +
+ +
+ {/form_field}
- {/form_field}
-
-
-
- {form_field form=$form field="archive_builder"} - - - {/form_field} -
- {if $HAS_IMAGES} -
- {form_field form=$form field="images"} - +
+
+ {form_field form=$form field="archive_builder"} + + + {/form_field} +
+ {if $HAS_IMAGES} +
+ {form_field form=$form field="images"} + -
- -
- {/form_field} -
- {/if} - {if $HAS_DOCUMENTS} -
- {form_field form=$form field="documents"} - +
+ +
+ {/form_field} +
+ {/if} + {if $HAS_DOCUMENTS} +
+ {form_field form=$form field="documents"} + -
- -
- {/form_field} -
- {/if} +
+ +
+ {/form_field} +
+ {/if} + {/ifloop}
{/ifloop} {elseloop rel="export-formatters"} diff --git a/templates/backOffice/default/export-page.html b/templates/backOffice/default/export-page.html index 69417131a..9d215fb82 100644 --- a/templates/backOffice/default/export-page.html +++ b/templates/backOffice/default/export-page.html @@ -86,64 +86,66 @@ {/form_field}
-
- {form_field form=$form field="do_compress"} - -
- -
- {/form_field} -
- -
-
- {form_field form=$form field="archive_builder"} -
+ {ifloop rel="export-archive-builder"} +
+ {form_field form=$form field="do_compress"} - - - {if $error} -
{$message}
- {/if} -
- {/form_field} +
+ +
+ {/form_field} +
- {if $HAS_IMAGES} -
- {form_field form=$form field="images"} - +
+
+ {form_field form=$form field="archive_builder"} +
+ + -
- -
- {/form_field} -
- {/if} - {if $HAS_DOCUMENTS} -
- {form_field form=$form field="documents"} - + {if $error} +
{$message}
+ {/if} +
+ {/form_field} +
+ {if $HAS_IMAGES} +
+ {form_field form=$form field="images"} + -
- -
- {/form_field} -
- {/if} +
+ +
+ {/form_field} +
+ {/if} + {if $HAS_DOCUMENTS} +
+ {form_field form=$form field="documents"} + + +
+ +
+ {/form_field} +
+ {/if} + {/ifloop}
{/ifloop} {elseloop rel="export-formatters"} From 45aaedc81f03bb41b5dbe29a68f834615bcebac7 Mon Sep 17 00:00:00 2001 From: Benjamin Perche Date: Tue, 5 Aug 2014 15:14:31 +0200 Subject: [PATCH 4/6] =?UTF-8?q?Fix=20bz2=20extension=20name=20=09modifi?= =?UTF-8?q?=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Thelia/Core/FileForm?= =?UTF-8?q?at/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php index d30ea33cd..bd8975312 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilder/TarBz2ArchiveBuilder.php @@ -47,6 +47,6 @@ class TarBz2ArchiveBuilder extends TarArchiveBuilder public function isAvailable() { - return parent::isAvailable() && extension_loaded("bzip2"); + return parent::isAvailable() && extension_loaded("bz2"); } } From 606ad49316c54199024d31b80eb6b73cc7661640 Mon Sep 17 00:00:00 2001 From: Benjamin Perche Date: Tue, 5 Aug 2014 15:32:51 +0200 Subject: [PATCH 5/6] =?UTF-8?q?Fix=20tests=20=09modifi=C3=A9:=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20core/lib/Thelia/Tests/FileFormat/Archive/Archive?= =?UTF-8?q?BuilderManagerTest.php=20=09modifi=C3=A9:=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20core/lib/Thelia/Tests/ImportExport/Export/ProductPricesEx?= =?UTF-8?q?portTest.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Archive/ArchiveBuilderManagerTest.php | 58 ++++++++++++++++++- .../Export/ProductPricesExportTest.php | 4 +- 2 files changed, 59 insertions(+), 3 deletions(-) diff --git a/core/lib/Thelia/Tests/FileFormat/Archive/ArchiveBuilderManagerTest.php b/core/lib/Thelia/Tests/FileFormat/Archive/ArchiveBuilderManagerTest.php index 69fdfdb9a..3cdb600d5 100644 --- a/core/lib/Thelia/Tests/FileFormat/Archive/ArchiveBuilderManagerTest.php +++ b/core/lib/Thelia/Tests/FileFormat/Archive/ArchiveBuilderManagerTest.php @@ -39,7 +39,34 @@ class ArchiveBuilderManagerTest extends \PHPUnit_Framework_TestCase public function testAddArchiveBuilder() { /** @var AbstractArchiveBuilder $instance */ - $instance = $this->getMock("Thelia\\Core\\FileFormat\\Archive\\AbstractArchiveBuilder"); + $instance = $this->getMock( + "Thelia\\Core\\FileFormat\\Archive\\AbstractArchiveBuilder", + [ + "isAvailable", + "getName", + "getExtension", + "getMimeType", + "addFile", + "addFileFromString", + "getFileContent", + "deleteFile", + "addDirectory", + "buildArchiveResponse", + "loadArchive", + "hasFile", + "hasDirectory", + ] + ); + + $instance->expects($this->any()) + ->method("isAvailable") + ->willReturn(true) + ; + + $instance->expects($this->any()) + ->method("getName") + ->willReturn("foo") + ; $this->manager->add($instance); @@ -53,7 +80,34 @@ class ArchiveBuilderManagerTest extends \PHPUnit_Framework_TestCase public function testDeleteArchiveBuilder() { /** @var AbstractArchiveBuilder $instance */ - $instance = $this->getMock("Thelia\\Core\\FileFormat\\Archive\\AbstractArchiveBuilder"); + $instance = $this->getMock( + "Thelia\\Core\\FileFormat\\Archive\\AbstractArchiveBuilder", + [ + "isAvailable", + "getName", + "getExtension", + "getMimeType", + "addFile", + "addFileFromString", + "getFileContent", + "deleteFile", + "addDirectory", + "buildArchiveResponse", + "loadArchive", + "hasFile", + "hasDirectory", + ] + ); + + $instance->expects($this->any()) + ->method("isAvailable") + ->willReturn(true) + ; + + $instance->expects($this->any()) + ->method("getName") + ->willReturn("foo") + ; $this->manager->add($instance); diff --git a/core/lib/Thelia/Tests/ImportExport/Export/ProductPricesExportTest.php b/core/lib/Thelia/Tests/ImportExport/Export/ProductPricesExportTest.php index 689dbcee8..1fa104a75 100644 --- a/core/lib/Thelia/Tests/ImportExport/Export/ProductPricesExportTest.php +++ b/core/lib/Thelia/Tests/ImportExport/Export/ProductPricesExportTest.php @@ -74,7 +74,9 @@ class ProductPricesExportTest extends \PHPUnit_Framework_TestCase $attributes = []; foreach ($attributeCombinations as $attributeCombination) { - $attributes[] = $attributeCombination->getAttributeAv()->getTitle(); + if (!in_array($attributeCombination->getAttributeAv()->getTitle(), $attributes)) { + $attributes[] = $attributeCombination->getAttributeAv()->getTitle(); + } } $rowAttributes = explode(",", $row["attributes"]); From 8de8939b2ffdabb643062653374cfcc97c9d9dbd Mon Sep 17 00:00:00 2001 From: Benjamin Perche Date: Tue, 5 Aug 2014 15:51:44 +0200 Subject: [PATCH 6/6] =?UTF-8?q?Fix=20cs=20=09modifi=C3=A9:=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20core/lib/Thelia/Action/Export.php=20=09modifi=C3=A9?= =?UTF-8?q?:=20=20=20=20=20=20=20=20=20core/lib/Thelia/Action/Import.php?= =?UTF-8?q?=20=09modifi=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Thelia/C?= =?UTF-8?q?onfig/Resources/config.xml=20=09modifi=C3=A9:=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20core/lib/Thelia/Controller/Admin/FileController.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/lib/Thelia/Action/Export.php | 1 - core/lib/Thelia/Action/Import.php | 1 - core/lib/Thelia/Config/Resources/config.xml | 2 +- core/lib/Thelia/Controller/Admin/FileController.php | 3 +-- 4 files changed, 2 insertions(+), 5 deletions(-) diff --git a/core/lib/Thelia/Action/Export.php b/core/lib/Thelia/Action/Export.php index bdea9f360..de5ee5008 100644 --- a/core/lib/Thelia/Action/Export.php +++ b/core/lib/Thelia/Action/Export.php @@ -11,7 +11,6 @@ /*************************************************************************************/ namespace Thelia\Action; -use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Thelia\Core\Event\Cache\CacheEvent; diff --git a/core/lib/Thelia/Action/Import.php b/core/lib/Thelia/Action/Import.php index e0aef97b5..b0a8c4354 100644 --- a/core/lib/Thelia/Action/Import.php +++ b/core/lib/Thelia/Action/Import.php @@ -11,7 +11,6 @@ /*************************************************************************************/ namespace Thelia\Action; -use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Thelia\Core\Event\Cache\CacheEvent; diff --git a/core/lib/Thelia/Config/Resources/config.xml b/core/lib/Thelia/Config/Resources/config.xml index f25ef42b7..6e001e18a 100644 --- a/core/lib/Thelia/Config/Resources/config.xml +++ b/core/lib/Thelia/Config/Resources/config.xml @@ -137,7 +137,7 @@ - + diff --git a/core/lib/Thelia/Controller/Admin/FileController.php b/core/lib/Thelia/Controller/Admin/FileController.php index 4c7ae3751..bcd02fe9b 100644 --- a/core/lib/Thelia/Controller/Admin/FileController.php +++ b/core/lib/Thelia/Controller/Admin/FileController.php @@ -26,7 +26,6 @@ use Thelia\Files\FileModelInterface; use Thelia\Form\Exception\FormValidationException; use Thelia\Log\Tlog; use Thelia\Model\Lang; -use Thelia\Tools\MimeTypeTools; use Thelia\Tools\Rest\ResponseRest; use Thelia\Tools\URL; @@ -61,7 +60,7 @@ class FileController extends BaseAdminController * @param string $parentType Parent Type owning files being saved (product, category, content, etc.) * @param string $objectType Object type, e.g. image or document * @param array $validMimeTypes an array of valid mime types. If empty, any mime type is allowed. - * @param array $extBlackList an array of blacklisted extensions. + * @param array $extBlackList an array of blacklisted extensions. * @return Response */ public function saveFileAjaxAction(