| Current Path : /home/rtorresani/www/vendor/magento/module-cms/Block/Adminhtml/Wysiwyg/Images/Content/ |
| Current File : //home/rtorresani/www/vendor/magento/module-cms/Block/Adminhtml/Wysiwyg/Images/Content/Uploader.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Cms\Block\Adminhtml\Wysiwyg\Images\Content;
/**
* Uploader block for Wysiwyg Images
*
* @api
* @since 100.0.2
*/
class Uploader extends \Magento\Backend\Block\Media\Uploader
{
/**
* @var \Magento\Cms\Model\Wysiwyg\Images\Storage
*/
protected $_imagesStorage;
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\File\Size $fileSize
* @param \Magento\Cms\Model\Wysiwyg\Images\Storage $imagesStorage
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Framework\File\Size $fileSize,
\Magento\Cms\Model\Wysiwyg\Images\Storage $imagesStorage,
array $data = []
) {
$this->_imagesStorage = $imagesStorage;
parent::__construct($context, $fileSize, $data);
}
/**
* Constructor
*
* @return void
*/
protected function _construct()
{
parent::_construct();
$type = $this->_getMediaType();
$allowed = $this->_imagesStorage->getAllowedExtensions($type);
$labels = [];
$files = [];
foreach ($allowed as $ext) {
$labels[] = '.' . $ext;
$files[] = '*.' . $ext;
}
$this->getConfig()->setUrl(
$this->_urlBuilder->getUrl('cms/*/upload', ['type' => $type])
)->setFileField(
'image'
)->setFilters(
['images' => ['label' => __('Images (%1)', implode(', ', $labels)), 'files' => $files]]
);
}
/**
* Return current media type based on request or data
*
* @return string
*/
protected function _getMediaType()
{
if ($this->hasData('media_type')) {
return $this->_getData('media_type');
}
return $this->getRequest()->getParam('type');
}
}