From dd77d27892af4e5604fdbc2a5626a4608960ac16 Mon Sep 17 00:00:00 2001 From: Benjamin Perche Date: Fri, 4 Jul 2014 13:44:28 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20cs=20and=20add=20get=20method=20in=20mana?= =?UTF-8?q?gers=20=09modifi=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Thel?= =?UTF-8?q?ia/Core/FileFormat/Archive/ArchiveBuilderManager.php=20=09modif?= =?UTF-8?q?i=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Thelia/Core/FileFor?= =?UTF-8?q?mat/Formatter/FormatterData.php=20=09modifi=C3=A9:=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20core/lib/Thelia/Core/FileFormat/Formatter/Format?= =?UTF-8?q?terManager.php=20=09modifi=C3=A9:=20=20=20=20=20=20=20=20=20cor?= =?UTF-8?q?e/lib/Thelia/Tools/FileDownload/FileDownloader.php=20=09modifi?= =?UTF-8?q?=C3=A9:=20=20=20=20=20=20=20=20=20core/lib/Thelia/Tools/FileDow?= =?UTF-8?q?nload/FileDownloaderAwareTrait.php=20=09modifi=C3=A9:=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20core/lib/Thelia/Tools/FileDownload/FileDownlo?= =?UTF-8?q?aderInterface.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Archive/ArchiveBuilderManager.php | 40 +++++++++++++------ .../FileFormat/Formatter/FormatterData.php | 25 ++++++++++++ .../FileFormat/Formatter/FormatterManager.php | 34 ++++++++++++---- .../Tools/FileDownload/FileDownloader.php | 8 ++-- .../FileDownload/FileDownloaderAwareTrait.php | 4 +- .../FileDownload/FileDownloaderInterface.php | 7 ++-- 6 files changed, 87 insertions(+), 31 deletions(-) diff --git a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php index 21e0fe338..220de27bd 100644 --- a/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php +++ b/core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php @@ -20,7 +20,7 @@ use Thelia\Core\Translation\Translator; */ class ArchiveBuilderManager { - protected $archiveCreators = array(); + protected $archiveBuilders = array(); protected $environment; @@ -37,7 +37,7 @@ class ArchiveBuilderManager if (null !== $archiveCreator) { $archiveCreator->setEnvironment($this->environment); - $this->archiveCreators[$archiveCreator->getName()] = $archiveCreator; + $this->archiveBuilders[$archiveCreator->getName()] = $archiveCreator; } return $this; @@ -50,18 +50,11 @@ class ArchiveBuilderManager */ public function delete($name) { - if (!array_key_exists($name, $this->archiveCreators)) { - throw new \OutOfBoundsException( - Translator::getInstance()->trans( - "The archive creator %name doesn't exist", - [ - "%name" => $name - ] - ) - ); + if (!array_key_exists($name, $this->archiveBuilders)) { + $this->throwOutOfBounds($name); } - unset($this->archiveCreators[$name]); + unset($this->archiveBuilders[$name]); return $this; } @@ -71,6 +64,27 @@ class ArchiveBuilderManager */ public function getAll() { - return $this->archiveCreators; + return $this->archiveBuilders; + } + + public function get($name) + { + if (!array_key_exists($name, $this->archiveBuilders)) { + $this->throwOutOfBounds($name); + } + + return $this->archiveBuilders[$name]; + } + + protected function throwOutOfBounds($name) + { + throw new \OutOfBoundsException( + Translator::getInstance()->trans( + "The archive creator %name doesn't exist", + [ + "%name" => $name + ] + ) + ); } } diff --git a/core/lib/Thelia/Core/FileFormat/Formatter/FormatterData.php b/core/lib/Thelia/Core/FileFormat/Formatter/FormatterData.php index 689ad0ba6..a74ecef90 100644 --- a/core/lib/Thelia/Core/FileFormat/Formatter/FormatterData.php +++ b/core/lib/Thelia/Core/FileFormat/Formatter/FormatterData.php @@ -11,6 +11,8 @@ /*************************************************************************************/ namespace Thelia\Core\FileFormat\Formatter; +use Propel\Runtime\ActiveQuery\ModelCriteria; +use Thelia\Core\Translation\Translator; /** * Class FormatterData @@ -19,5 +21,28 @@ namespace Thelia\Core\FileFormat\Formatter; */ class FormatterData { + /** @var array */ + protected $data; + /** @var Translator */ + protected $translator; + + public function __construct() + { + $this->translator = Translator::getInstance(); + } + + public function loadModelCriteria(ModelCriteria $criteria) + { + + $propelData = + $criteria + ->find() + ; + + if (empty($propelData)) { + return null; + } + + } } diff --git a/core/lib/Thelia/Core/FileFormat/Formatter/FormatterManager.php b/core/lib/Thelia/Core/FileFormat/Formatter/FormatterManager.php index b8e5d5d66..4035927ae 100644 --- a/core/lib/Thelia/Core/FileFormat/Formatter/FormatterManager.php +++ b/core/lib/Thelia/Core/FileFormat/Formatter/FormatterManager.php @@ -44,14 +44,7 @@ class FormatterManager public function delete($name) { if (!array_key_exists($name, $this->formatters)) { - throw new \OutOfBoundsException( - Translator::getInstance()->trans( - "The formatter %name doesn't exist", - [ - "%name" => $name - ] - ) - ); + $this->throwOutOfBounds($name); } unset($this->formatters[$name]); @@ -59,6 +52,15 @@ class FormatterManager return $this; } + public function get($name) + { + if (!array_key_exists($name, $this->formatters)) { + $this->throwOutOfBounds($name); + } + + return $this->formatters[$name]; + } + /** * @return array[AbstractFormatter] */ @@ -66,4 +68,20 @@ class FormatterManager { return $this->formatters; } + + /** + * @param $name + * @throws \OutOfBoundsException + */ + protected function throwOutOfBounds($name) + { + throw new \OutOfBoundsException( + Translator::getInstance()->trans( + "The formatter %name doesn't exist", + [ + "%name" => $name + ] + ) + ); + } } diff --git a/core/lib/Thelia/Tools/FileDownload/FileDownloader.php b/core/lib/Thelia/Tools/FileDownload/FileDownloader.php index be8b8f53a..2f77226cf 100644 --- a/core/lib/Thelia/Tools/FileDownload/FileDownloader.php +++ b/core/lib/Thelia/Tools/FileDownload/FileDownloader.php @@ -45,8 +45,8 @@ class FileDownloader implements FileDownloaderInterface } /** - * @param string $url - * @param string $pathToStore + * @param string $url + * @param string $pathToStore * @throws \Thelia\Exception\FileNotFoundException * @throws \ErrorException * @throws \HttpUrlException @@ -125,7 +125,7 @@ class FileDownloader implements FileDownloaderInterface */ $file = @fopen($pathToStore, "w"); - if($file === false) { + if ($file === false) { $translatedErrorMessage = $this->translator->trans( "Failed to open a writing stream on the file: %file", [ @@ -140,4 +140,4 @@ class FileDownloader implements FileDownloaderInterface fputs($file, $response); fclose($file); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tools/FileDownload/FileDownloaderAwareTrait.php b/core/lib/Thelia/Tools/FileDownload/FileDownloaderAwareTrait.php index e9b99d73d..78347bdd9 100644 --- a/core/lib/Thelia/Tools/FileDownload/FileDownloaderAwareTrait.php +++ b/core/lib/Thelia/Tools/FileDownload/FileDownloaderAwareTrait.php @@ -35,7 +35,7 @@ trait FileDownloaderAwareTrait } /** - * @param FileDownloaderInterface $fileDownloader + * @param FileDownloaderInterface $fileDownloader * @return $this */ public function setFileDownloader(FileDownloaderInterface $fileDownloader) @@ -44,4 +44,4 @@ trait FileDownloaderAwareTrait return $this; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tools/FileDownload/FileDownloaderInterface.php b/core/lib/Thelia/Tools/FileDownload/FileDownloaderInterface.php index bdfebb5f9..4c29daf29 100644 --- a/core/lib/Thelia/Tools/FileDownload/FileDownloaderInterface.php +++ b/core/lib/Thelia/Tools/FileDownload/FileDownloaderInterface.php @@ -14,7 +14,6 @@ namespace Thelia\Tools\FileDownload; use Psr\Log\LoggerInterface; use Symfony\Component\Translation\Translator; - /** * Class FileDownloader * @package Thelia\Tools\FileDownload @@ -23,8 +22,8 @@ use Symfony\Component\Translation\Translator; interface FileDownloaderInterface { /** - * @param string $url - * @param string $pathToStore + * @param string $url + * @param string $pathToStore * @throws \Thelia\Exception\FileNotFoundException * @throws \ErrorException * @throws \HttpUrlException @@ -41,4 +40,4 @@ interface FileDownloaderInterface * Returns an hydrated instance */ public static function getInstance(); -} \ No newline at end of file +}