diff --git a/src/FileUploadControl.php b/src/FileUploadControl.php index 096b41c..ef819d9 100644 --- a/src/FileUploadControl.php +++ b/src/FileUploadControl.php @@ -190,12 +190,14 @@ public function getContainer() { public function getMaxFiles() { return $this->maxFiles; } - + /** * @param int $maxFiles + * @return $this */ public function setMaxFiles($maxFiles) { $this->maxFiles = $maxFiles; + return $this; } /** @@ -216,12 +218,14 @@ public function getUploadModel() { } } } - + /** * @param string $uploadModel + * @return $this */ public function setUploadModel($uploadModel) { $this->uploadModel = $uploadModel; + return $this; } /** @@ -231,12 +235,14 @@ public function setUploadModel($uploadModel) { public function getMaxFileSize() { return $this->maxFileSize; } - + /** * @param int $maxFileSize + * @return $this */ public function setMaxFileSize($maxFileSize) { $this->maxFileSize = $this->parseIniSize($maxFileSize); + return $this; } /** @@ -266,12 +272,13 @@ public function getFileFilter() { * Nastaví třídu pro filtrování nahrávaných souborů. * @param string $fileFilter */ - public static function setFileFilter($fileFilter) { + public function setFileFilter($fileFilter) { self::$fileFilter = $fileFilter; } - + /** * Vrátí název pro frontu s tokenem. + * @param string $token * @return string * @internal */ @@ -310,7 +317,7 @@ public function getControl() { $container->id = $this->getHtmlId() . "-container"; $token = \Nette\Utils\Html::el("input type='hidden' value='" . $this->token . "'"); - $token->name = $this->getHtmlName() ."-token"; + $token->setAttribute("name", $this->getHtmlName() ."-token"); $container->addHtml($token); $container->addHtml($this->controller->getJavaScriptTemplate()); diff --git a/src/Model/BaseUploadModel.php b/src/Model/BaseUploadModel.php index 39c6c1e..bd8c324 100644 --- a/src/Model/BaseUploadModel.php +++ b/src/Model/BaseUploadModel.php @@ -20,7 +20,7 @@ public function save(\Nette\Http\FileUpload $file) { /** * Zpracování požadavku o smazání souboru. - * @param $uploaded Hodnota navrácená funkcí save. + * @param mixed $uploaded Hodnota navrácená funkcí save. */ public function remove($uploaded) { # By Pass... @@ -28,8 +28,8 @@ public function remove($uploaded) { /** * Zpracování přejmenování souboru. - * @param $upload Hodnota navrácená funkcí save. - * @param $newName Nové jméno souboru. + * @param mixed $upload Hodnota navrácená funkcí save. + * @param string $newName Nové jméno souboru. * @return mixed Vlastní návratová hodnota. */ public function rename($upload, $newName) { diff --git a/src/Model/IUploadModel.php b/src/Model/IUploadModel.php index 419bd42..2a87699 100644 --- a/src/Model/IUploadModel.php +++ b/src/Model/IUploadModel.php @@ -18,15 +18,15 @@ public function save(\Nette\Http\FileUpload $file); /** * Zpracování přejmenování souboru. - * @param $upload Hodnota navrácená funkcí save. - * @param $newName Nové jméno souboru. + * @param mixed $upload Hodnota navrácená funkcí save. + * @param string $newName Nové jméno souboru. * @return mixed Vlastní návratová hodnota. */ public function rename($upload, $newName); /** * Zpracování požadavku o smazání souboru. - * @param $uploaded Hodnota navrácená funkcí save. + * @param mixed $uploaded Hodnota navrácená funkcí save. */ public function remove($uploaded); diff --git a/src/Model/UploadController.php b/src/Model/UploadController.php index 90afd84..ecc358c 100644 --- a/src/Model/UploadController.php +++ b/src/Model/UploadController.php @@ -1,7 +1,7 @@ @@ -29,6 +29,7 @@ class UploadController extends \Nette\Application\UI\Control { * @param \Zet\FileUpload\FileUploadControl $uploadControl */ public function __construct(\Zet\FileUpload\FileUploadControl $uploadControl) { + parent::__construct(); $this->uploadControl = $uploadControl; } @@ -40,18 +41,20 @@ public function setRequest($request) { } /** - * @return \Zet\FileUpload\Filter\IMimeTypeFilter + * @return \Zet\FileUpload\Filter\IMimeTypeFilter|NULL */ public function getFilter() { if(is_null($this->filter)) { $className = $this->uploadControl->getFileFilter(); - $filterClass = new $className; - if($filterClass instanceof \Zet\FileUpload\Filter\IMimeTypeFilter) { - $this->filter = $filterClass; - } else { - throw new \Nette\UnexpectedValueException( - "Třída pro filtrování souborů neimplementuje rozhraní \\Zet\\FileUpload\\Filter\\IMimeTypeFilter." - ); + if(!is_null($className)) { + $filterClass = new $className; + if($filterClass instanceof \Zet\FileUpload\Filter\IMimeTypeFilter) { + $this->filter = $filterClass; + } else { + throw new \Nette\UnexpectedValueException( + "Třída pro filtrování souborů neimplementuje rozhraní \\Zet\\FileUpload\\Filter\\IMimeTypeFilter." + ); + } } } @@ -98,13 +101,15 @@ public function getControlTemplate() { public function handleUpload() { $files = $this->request->getFiles(); $token = $this->request->getPost("token"); - + + /** @var \Nette\Http\FileUpload $file */ $file = $files[ $this->uploadControl->getHtmlName() ]; $model = $this->uploadControl->getUploadModel(); $cache = $this->uploadControl->getCache(); + $filter = $this->getFilter(); try { - if(!$this->getFilter()->checkType($file)) { + if(!is_null($filter) && !$filter->checkType($file)) { throw new \Zet\FileUpload\InvalidFileException($this->getFilter()->getAllowedTypes()); } diff --git a/src/Template/javascript.latte b/src/Template/javascript.latte index 936515f..2e36b5d 100644 --- a/src/Template/javascript.latte +++ b/src/Template/javascript.latte @@ -1,5 +1,5 @@