From 68957d9a76dd4975c5c67a9b12fccaac37135bec Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Tue, 11 Jun 2019 14:48:21 +0200 Subject: [PATCH] #2810 --- src/app/Magic/Fields/Field.php | 1 + src/app/Magic/Fields/Files.php | 16 +++++++++++++++- src/app/Magic/Fields/Images.php | 6 +----- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/app/Magic/Fields/Field.php b/src/app/Magic/Fields/Field.php index 03232e3..25eead7 100644 --- a/src/app/Magic/Fields/Field.php +++ b/src/app/Magic/Fields/Field.php @@ -54,6 +54,7 @@ class Field return $this->_databaseType; } + protected static function _getClass($type) { $type = Str::studly($type); diff --git a/src/app/Magic/Fields/Files.php b/src/app/Magic/Fields/Files.php index e3006dc..85466a1 100644 --- a/src/app/Magic/Fields/Files.php +++ b/src/app/Magic/Fields/Files.php @@ -7,10 +7,24 @@ namespace Cubist\Backpack\app\Magic\Fields; class Files extends Field { protected $_mimeTypes = null; + protected $_multiple = false; + protected $_adminType = 'upload'; + protected $_databaseType = 'text'; public function getDefaultAttributes() { - return array_merge(parent::getDefaultAttributes(), ['mime_types' => $this->_mimeTypes]); + return array_merge(parent::getDefaultAttributes(), ['mime_types' => $this->_mimeTypes, 'multiple' => $this->_multiple]); + } + + protected function _postSetAttributes() + { + if ($this->_multiple) { + $this->setAttribute('type', 'upload_multiple'); + } else { + $this->setAttribute('type', 'upload'); + } + + return parent::_postSetAttributes(); } } diff --git a/src/app/Magic/Fields/Images.php b/src/app/Magic/Fields/Images.php index 2ded192..580386b 100644 --- a/src/app/Magic/Fields/Images.php +++ b/src/app/Magic/Fields/Images.php @@ -6,9 +6,5 @@ namespace Cubist\Backpack\app\Magic\Fields; class Images extends Files { - protected $_adminType = 'upload'; - protected $_databaseType = 'text'; - - protected $_mimeTypes = ['image/png', 'image/jpeg', 'image/svg+xml','image/webp','image/gif']; - + protected $_mimeTypes = ['image/png', 'image/jpeg', 'image/svg+xml', 'image/webp', 'image/gif']; } -- 2.39.5