File tree Expand file tree Collapse file tree 7 files changed +71
-6
lines changed
app/code/Magento/PageBuilder
Model/Config/ContentType/AdditionalData/Provider/Uploader
view/adminhtml/pagebuilder/content_type Expand file tree Collapse file tree 7 files changed +71
-6
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+ /**
3
+ * Copyright © Magento, Inc. All rights reserved.
4
+ * See COPYING.txt for license details.
5
+ */
6
+
7
+ declare (strict_types=1 );
8
+
9
+ namespace Magento \PageBuilder \Model \Config \ContentType \AdditionalData \Provider \Uploader ;
10
+
11
+ use Magento \PageBuilder \Model \Config \ContentType \AdditionalData \ProviderInterface ;
12
+ use Magento \Framework \File \Size ;
13
+
14
+ /**
15
+ * Provides maximum file size for uploader
16
+ *
17
+ * Will provide the lower of the following two values:
18
+ * - upload_max_filesize from php.ini config
19
+ * - staticFileSize argument passed to constructor
20
+ */
21
+ class MaxFileSize implements ProviderInterface
22
+ {
23
+ /**
24
+ * @var Size
25
+ */
26
+ private $ fileSize ;
27
+
28
+ /**
29
+ * @var int
30
+ */
31
+ private $ staticFileSize ;
32
+
33
+ /**
34
+ * @param Size $fileSize
35
+ * @param int $staticFileSize
36
+ */
37
+ public function __construct (
38
+ Size $ fileSize ,
39
+ $ staticFileSize = null
40
+ ) {
41
+ $ this ->fileSize = $ fileSize ;
42
+ $ this ->staticFileSize = $ staticFileSize ;
43
+ }
44
+
45
+ /**
46
+ * @inheritdoc
47
+ */
48
+ public function getData (string $ itemName ) : array
49
+ {
50
+ // dynamically set max file size based on the lower of php ini config and static value (if present)
51
+ $ maxFileSize = min (array_filter ([
52
+ $ this ->staticFileSize ?? 0 ,
53
+ $ this ->fileSize ->getMaxFileSize ()
54
+ ]));
55
+
56
+ return [
57
+ $ itemName => $ maxFileSize
58
+ ];
59
+ }
60
+ }
Original file line number Diff line number Diff line change 537
537
</argument >
538
538
</arguments >
539
539
</virtualType >
540
+ <virtualType name =" ImageMaxFileSizeDesktop" type =" Magento\PageBuilder\Model\Config\ContentType\AdditionalData\Provider\Uploader\MaxFileSize" >
541
+ <arguments >
542
+ <argument name =" staticFileSize" xsi : type =" number" >4194304</argument >
543
+ </arguments >
544
+ </virtualType >
540
545
</config >
Original file line number Diff line number Diff line change 284
284
<item name =" uploaderConfig" xsi : type =" array" >
285
285
<item name =" isShowImageUploadInstructions" xsi : type =" boolean" >false</item >
286
286
<item name =" isShowImageUploadOptions" xsi : type =" boolean" >true</item >
287
- <item name =" maxFileSize" xsi : type =" string " >4194304 </item >
287
+ <item name =" maxFileSize" xsi : type =" object " >ImageMaxFileSizeDesktop </item >
288
288
<item name =" allowedExtensions" xsi : type =" string" >jpg jpeg gif png</item >
289
289
<item name =" component" xsi : type =" string" >Magento_PageBuilder/js/form/element/image-uploader</item >
290
290
<item name =" componentType" xsi : type =" string" >imageUploader</item >
Original file line number Diff line number Diff line change 78
78
</appearances >
79
79
<additional_data >
80
80
<item name =" uploaderConfig" xsi : type =" array" >
81
- <item name =" maxFileSize" xsi : type =" string " >4194304 </item >
81
+ <item name =" maxFileSize" xsi : type =" object " >ImageMaxFileSizeDesktop </item >
82
82
<item name =" allowedExtensions" xsi : type =" string" >jpg jpeg gif png</item >
83
83
<item name =" component" xsi : type =" string" >Magento_PageBuilder/js/form/element/image-uploader</item >
84
84
<item name =" componentType" xsi : type =" string" >imageUploader</item >
Original file line number Diff line number Diff line change 284
284
<item name =" uploaderConfig" xsi : type =" array" >
285
285
<item name =" isShowImageUploadInstructions" xsi : type =" boolean" >false</item >
286
286
<item name =" isShowImageUploadOptions" xsi : type =" boolean" >true</item >
287
- <item name =" maxFileSize" xsi : type =" string " >4194304 </item >
287
+ <item name =" maxFileSize" xsi : type =" object " >ImageMaxFileSizeDesktop </item >
288
288
<item name =" allowedExtensions" xsi : type =" string" >jpg jpeg gif png</item >
289
289
<item name =" component" xsi : type =" string" >Magento_PageBuilder/js/form/element/image-uploader</item >
290
290
<item name =" componentType" xsi : type =" string" >imageUploader</item >
Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ Use `additional_data` in your `Vendor/ModuleName/view/adminhtml/pagebuilder/cont
25
25
``` xml
26
26
<additional_data >
27
27
<item name =" uploaderConfig" xsi : type =" array" >
28
- <item name =" maxFileSize" xsi : type =" string " >4194304 </item >
28
+ <item name =" maxFileSize" xsi : type =" object " >ImageMaxFileSizeDesktop </item >
29
29
<item name =" allowedExtensions" xsi : type =" string" >jpg jpeg gif png</item >
30
30
<item name =" component" xsi : type =" string" >Magento_PageBuilder/js/form/element/image-uploader</item >
31
31
<item name =" componentType" xsi : type =" string" >imageUploader</item >
@@ -112,4 +112,4 @@ this.uploader = new Uploader(
112
112
);
113
113
```
114
114
115
- <!-- {% endraw %} -->
115
+ <!-- {% endraw %} -->
Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ Use `additional_data` in your `<YourModule>/view/base/pagebuilder/content_type/<
23
23
<item name =" uploaderConfig" xsi : type =" array" >
24
24
<item name =" isShowImageUploadInstructions" xsi : type =" boolean" >false</item >
25
25
<item name =" isShowImageUploadOptions" xsi : type =" boolean" >true</item >
26
- <item name =" maxFileSize" xsi : type =" string " >4194304 </item >
26
+ <item name =" maxFileSize" xsi : type =" object " >ImageMaxFileSizeDesktop </item >
27
27
<item name =" allowedExtensions" xsi : type =" string" >jpg jpeg gif png</item >
28
28
<item name =" component" xsi : type =" string" >Magento_PageBuilder/js/form/element/image-uploader</item >
29
29
<item name =" componentType" xsi : type =" string" >imageUploader</item >
You can’t perform that action at this time.
0 commit comments