mirror of
https://github.com/a2nt/silverstripe-elemental-basics.git
synced 2024-09-20 22:55:55 +02:00
IMPR: Add video files
This commit is contained in:
parent
c3c268488e
commit
e2c9f0a376
@ -9,6 +9,7 @@
|
|||||||
namespace A2nt\ElementalBasics\Extensions;
|
namespace A2nt\ElementalBasics\Extensions;
|
||||||
|
|
||||||
use A2nt\ElementalBasics\Elements\SliderElement;
|
use A2nt\ElementalBasics\Elements\SliderElement;
|
||||||
|
use SilverStripe\AssetAdmin\Forms\UploadField;
|
||||||
use SilverStripe\Assets\File;
|
use SilverStripe\Assets\File;
|
||||||
use SilverStripe\Forms\CheckboxField;
|
use SilverStripe\Forms\CheckboxField;
|
||||||
use SilverStripe\Forms\DatetimeField;
|
use SilverStripe\Forms\DatetimeField;
|
||||||
@ -37,6 +38,10 @@ class SlideImageEx extends DataExtension
|
|||||||
'VideoFile' => File::class,
|
'VideoFile' => File::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
private static $owns = [
|
||||||
|
'VideoFile',
|
||||||
|
];
|
||||||
|
|
||||||
private $_cache = [
|
private $_cache = [
|
||||||
'element' => [],
|
'element' => [],
|
||||||
];
|
];
|
||||||
@ -87,6 +92,14 @@ class SlideImageEx extends DataExtension
|
|||||||
return $element->getSlideHeight();
|
return $element->getSlideHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function formatBytes($size, $precision = 2)
|
||||||
|
{
|
||||||
|
$base = log($size, 1024);
|
||||||
|
$suffixes = array('', 'K', 'M', 'G', 'T');
|
||||||
|
|
||||||
|
return round(pow(1024, $base - floor($base)), $precision) .' '. $suffixes[floor($base)];
|
||||||
|
}
|
||||||
|
|
||||||
public function updateCMSFields(FieldList $fields)
|
public function updateCMSFields(FieldList $fields)
|
||||||
{
|
{
|
||||||
parent::updateCMSFields($fields);
|
parent::updateCMSFields($fields);
|
||||||
@ -98,6 +111,17 @@ class SlideImageEx extends DataExtension
|
|||||||
'DateOff',
|
'DateOff',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$videoUpload = UploadField::create('VideoFile')
|
||||||
|
->setAllowedExtensions(['mp4'])
|
||||||
|
->setFolderName('Uploads/SlideVideos');
|
||||||
|
|
||||||
|
$videoUpload->setTitle(
|
||||||
|
'Video File (max size: '
|
||||||
|
.self::formatBytes($videoUpload->getValidator()->getAllowedMaxFileSize('mp4'))
|
||||||
|
.')'
|
||||||
|
);
|
||||||
|
|
||||||
|
$fields->insertAfter('Headline', $videoUpload);
|
||||||
|
|
||||||
$fields->dataFieldByName('Image')
|
$fields->dataFieldByName('Image')
|
||||||
->setTitle('Image ('.$this->getSlideWidth().' x '.$this->getSlideHeight().' px)');
|
->setTitle('Image ('.$this->getSlideWidth().' x '.$this->getSlideHeight().' px)');
|
||||||
|
Loading…
Reference in New Issue
Block a user