Skip to content

Commit b955e01

Browse files
author
Serhii Balko
committed
MC-41471: Images Upload Configuration - Enable Frontend Resize is not working for WYSIWYG uploader
1 parent a4071d4 commit b955e01

File tree

1 file changed

+10
-147
lines changed
  • app/code/Magento/Cms/view/adminhtml/templates/browser/content

1 file changed

+10
-147
lines changed

app/code/Magento/Cms/view/adminhtml/templates/browser/content/uploader.phtml

Lines changed: 10 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,20 @@
55
*/
66

77
/** @var $block \Magento\Cms\Block\Adminhtml\Wysiwyg\Images\Content\Uploader */
8-
/** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */
98

10-
$filters = $block->getConfig()->getFilters() ?? [];
11-
$allowedExtensions = [];
129
$blockHtmlId = $block->getHtmlId();
13-
14-
$listExtensions = [];
15-
foreach ($filters as $media_type) {
16-
$listExtensions[] = array_map(function ($fileExt) {
17-
return ltrim($fileExt, '.*');
18-
}, $media_type['files']);
19-
}
20-
21-
$allowedExtensions = array_merge([], ...$listExtensions);
22-
23-
$resizeConfig = $block->getImageUploadConfigData()->getIsResizeEnabled()
24-
? "{action: 'resize', maxWidth: "
25-
. $block->escapeHtml($block->getImageUploadMaxWidth())
26-
. ", maxHeight: "
27-
. $block->escapeHtml($block->getImageUploadMaxHeight())
28-
. "}"
29-
: "{action: 'resize'}";
3010
?>
3111

32-
<div id="<?= /* @noEscape */ $blockHtmlId ?>" class="uploader">
12+
<div id="<?= /* @noEscape */ $blockHtmlId ?>" class="uploader"
13+
data-mage-init='{
14+
"Magento_Backend/js/media-uploader" : {
15+
"maxFileSize": <?= /* @noEscape */ $block->getFileSizeService()->getMaxFileSize() ?>,
16+
"maxWidth": <?= /* @noEscape */ $block->getImageUploadMaxWidth() ?>,
17+
"maxHeight": <?= /* @noEscape */ $block->getImageUploadMaxHeight() ?>,
18+
"isResizeEnabled": <?= /* @noEscape */ $block->getImageUploadConfigData()->getIsResizeEnabled() ?>
19+
}
20+
}'
21+
>
3322
<span class="fileinput-button form-buttons">
3423
<span><?= $block->escapeHtml(__('Upload Images')) ?></span>
3524
<input class="fileupload" type="file"
@@ -46,130 +35,4 @@ $resizeConfig = $block->getImageUploadConfigData()->getIsResizeEnabled()
4635
<div class="clear"></div>
4736
</div>
4837
</script>
49-
<?php $intMaxSize = $block->getFileSizeService()->getMaxFileSize();
50-
$resizeConfig = /* @noEscape */ $resizeConfig;
51-
$blockHtmlId = /* @noEscape */ $blockHtmlId;
52-
$scriptString = <<<script
53-
54-
require([
55-
'jquery',
56-
'mage/template',
57-
'Magento_Ui/js/lib/validation/validator',
58-
'Magento_Ui/js/modal/alert',
59-
'jquery/file-uploader',
60-
'domReady!',
61-
'mage/translate'
62-
], function ($, mageTemplate, validator, uiAlert) {
63-
var maxFileSize = {$block->escapeJs($block->getFileSizeService()->getMaxFileSize())},
64-
allowedExtensions = '{$block->escapeJs(implode(' ', $allowedExtensions))}';
65-
66-
$('#{$blockHtmlId} .fileupload').fileupload({
67-
dataType: 'json',
68-
formData: {
69-
isAjax: 'true',
70-
form_key: FORM_KEY
71-
},
72-
sequentialUploads: true,
73-
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
74-
allowedExtensions: allowedExtensions,
75-
maxFileSize: maxFileSize,
76-
dropZone: $('#{$blockHtmlId}').closest('[role="dialog"]'),
77-
add: function (e, data) {
78-
var progressTmpl = mageTemplate('#{$blockHtmlId}-template'),
79-
fileSize,
80-
tmpl,
81-
validationResult;
82-
83-
data.files = data.files.filter(function (file) {
84-
fileSize = typeof file.size == "undefined" ?
85-
$.mage.__('We could not detect a size.') :
86-
byteConvert(file.size);
87-
88-
if (maxFileSize) {
89-
validationResult = validator('validate-max-size', file.size, maxFileSize);
90-
91-
if (!validationResult.passed) {
92-
uiAlert({
93-
content: validationResult.message
94-
});
95-
96-
return false;
97-
}
98-
}
99-
100-
if (allowedExtensions) {
101-
validationResult = validator('validate-file-type', file.name, allowedExtensions);
102-
103-
if (!validationResult.passed) {
104-
uiAlert({
105-
content: validationResult.message
106-
});
107-
108-
return false;
109-
}
110-
}
111-
112-
data.fileId = Math.random().toString(36).substr(2, 9);
113-
114-
tmpl = progressTmpl({
115-
data: {
116-
name: file.name,
117-
size: fileSize,
118-
id: data.fileId
119-
}
120-
});
121-
122-
$(tmpl).data('image', data).appendTo('#{$blockHtmlId}');
123-
124-
return true;
125-
});
126-
127-
if (data.files.length) {
128-
$(this).fileupload('process', data).done(function () {
129-
data.submit();
130-
});
131-
}
132-
},
133-
done: function (e, data) {
134-
var progressSelector = '#' + data.fileId + ' .progressbar-container .progressbar';
135-
var tempErrorMessage = document.createElement("div");
136-
$(progressSelector).css('width', '100%');
137-
$('[data-action="show-error"]').children(".message").remove();
138-
if (data.result && !data.result.hasOwnProperty('errorcode')) {
139-
$(progressSelector).removeClass('upload-progress').addClass('upload-success');
140-
} else {
141-
tempErrorMessage.className = "message message-warning warning";
142-
tempErrorMessage.innerHTML = data.result.error;
143-
144-
$('[data-action="show-error"]').append(tempErrorMessage);
145-
$(progressSelector).removeClass('upload-progress').addClass('upload-failure');
146-
}
147-
},
148-
progress: function (e, data) {
149-
var progress = parseInt(data.loaded / data.total * 100, 10);
150-
var progressSelector = '#' + data.fileId + ' .progressbar-container .progressbar';
151-
$(progressSelector).css('width', progress + '%');
152-
},
153-
fail: function (e, data) {
154-
var progressSelector = '#' + data.fileId + ' .progressbar-container .progressbar';
155-
$(progressSelector).removeClass('upload-progress').addClass('upload-failure');
156-
}
157-
});
158-
159-
$('#{$blockHtmlId} .fileupload').fileupload('option', {
160-
process: [{
161-
action: 'load',
162-
fileTypes: /^image\/(gif|jpeg|png)$/,
163-
maxFileSize: {$intMaxSize} * 10
164-
},
165-
{$resizeConfig},
166-
{
167-
action: 'save'
168-
}]
169-
});
170-
});
171-
172-
script;
173-
?>
174-
<?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>
17538
</div>

0 commit comments

Comments
 (0)