Skip to content

Commit d822129

Browse files
committed
Merge branch 'MC-5184' into cms-team-1-delivery
# Conflicts: # app/code/Magento/PageBuilder/view/adminhtml/web/js/form/element/validator-rules-mixin.js
2 parents eadcf15 + 7495808 commit d822129

File tree

7 files changed

+71
-6
lines changed

7 files changed

+71
-6
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
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+
}

app/code/Magento/PageBuilder/etc/adminhtml/di.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -537,4 +537,9 @@
537537
</argument>
538538
</arguments>
539539
</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>
540545
</config>

app/code/Magento/PageBuilder/view/adminhtml/pagebuilder/content_type/banner.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@
284284
<item name="uploaderConfig" xsi:type="array">
285285
<item name="isShowImageUploadInstructions" xsi:type="boolean">false</item>
286286
<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>
288288
<item name="allowedExtensions" xsi:type="string">jpg jpeg gif png</item>
289289
<item name="component" xsi:type="string">Magento_PageBuilder/js/form/element/image-uploader</item>
290290
<item name="componentType" xsi:type="string">imageUploader</item>

app/code/Magento/PageBuilder/view/adminhtml/pagebuilder/content_type/image.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
</appearances>
7979
<additional_data>
8080
<item name="uploaderConfig" xsi:type="array">
81-
<item name="maxFileSize" xsi:type="string">4194304</item>
81+
<item name="maxFileSize" xsi:type="object">ImageMaxFileSizeDesktop</item>
8282
<item name="allowedExtensions" xsi:type="string">jpg jpeg gif png</item>
8383
<item name="component" xsi:type="string">Magento_PageBuilder/js/form/element/image-uploader</item>
8484
<item name="componentType" xsi:type="string">imageUploader</item>

app/code/Magento/PageBuilder/view/adminhtml/pagebuilder/content_type/slide.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@
284284
<item name="uploaderConfig" xsi:type="array">
285285
<item name="isShowImageUploadInstructions" xsi:type="boolean">false</item>
286286
<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>
288288
<item name="allowedExtensions" xsi:type="string">jpg jpeg gif png</item>
289289
<item name="component" xsi:type="string">Magento_PageBuilder/js/form/element/image-uploader</item>
290290
<item name="componentType" xsi:type="string">imageUploader</item>

docs/configurations/additional-configurations.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Use `additional_data` in your `Vendor/ModuleName/view/adminhtml/pagebuilder/cont
2525
``` xml
2626
<additional_data>
2727
<item name="uploaderConfig" xsi:type="array">
28-
<item name="maxFileSize" xsi:type="string">4194304</item>
28+
<item name="maxFileSize" xsi:type="object">ImageMaxFileSizeDesktop</item>
2929
<item name="allowedExtensions" xsi:type="string">jpg jpeg gif png</item>
3030
<item name="component" xsi:type="string">Magento_PageBuilder/js/form/element/image-uploader</item>
3131
<item name="componentType" xsi:type="string">imageUploader</item>
@@ -112,4 +112,4 @@ this.uploader = new Uploader(
112112
);
113113
```
114114

115-
<!-- {% endraw %} -->
115+
<!-- {% endraw %} -->

docs/how-to/how-to-use-image-uploader.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Use `additional_data` in your `<YourModule>/view/base/pagebuilder/content_type/<
2323
<item name="uploaderConfig" xsi:type="array">
2424
<item name="isShowImageUploadInstructions" xsi:type="boolean">false</item>
2525
<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>
2727
<item name="allowedExtensions" xsi:type="string">jpg jpeg gif png</item>
2828
<item name="component" xsi:type="string">Magento_PageBuilder/js/form/element/image-uploader</item>
2929
<item name="componentType" xsi:type="string">imageUploader</item>

0 commit comments

Comments
 (0)