Skip to content

Commit f9ed85c

Browse files
authored
Merge branch '2.4-develop' into community-features-252
2 parents 8f43c63 + 6a33719 commit f9ed85c

File tree

3,072 files changed

+46784
-14274
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,072 files changed

+46784
-14274
lines changed

CHANGELOG.md

Lines changed: 814 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
<p align="center">
2-
<a href="https://magento.com">
3-
<img src="https://static.magento.com/sites/all/themes/magento/logo.svg" width="300px" alt="Magento" />
4-
</a>
5-
</p>
6-
<p align="center">
7-
<br /><br />
2+
<a href="https://magento.com">
3+
<img src="https://static.magento.com/sites/all/themes/magento/logo.svg" width="300px" alt="Magento Commerce" />
4+
</a>
5+
<br />
6+
<br />
87
<a href="https://www.codetriage.com/magento/magento2">
98
<img src="https://www.codetriage.com/magento/magento2/badges/users.svg" alt="Open Source Helpers" />
109
</a>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<csp_whitelist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Csp:etc/csp_whitelist.xsd">
10+
<policies>
11+
<policy id="script-src">
12+
<values>
13+
<value id="adobedtm" type="host">assets.adobedtm.com</value>
14+
</values>
15+
</policy>
16+
</policies>
17+
</csp_whitelist>

app/code/Magento/AdminAnalytics/view/adminhtml/templates/notification.phtml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,21 @@
44
* Copyright © Magento, Inc. All rights reserved.
55
* See COPYING.txt for license details.
66
*/
7+
8+
/** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */
79
?>
810

9-
<script>
11+
<?php
12+
$isAnaliticsVisible = $block->getNotification()->isAnalyticsVisible() ? 1 : 0;
13+
$isReleaseVisible = $block->getNotification()->isReleaseVisible() ? 1 : 0;
14+
$scriptString = <<<script
1015
define('analyticsPopupConfig', function () {
1116
return {
12-
analyticsVisible: <?= $block->getNotification()->isAnalyticsVisible() ? 1 : 0; ?>,
13-
releaseVisible: <?= $block->getNotification()->isReleaseVisible() ? 1 : 0; ?>,
17+
analyticsVisible: {$isAnaliticsVisible},
18+
releaseVisible: {$isReleaseVisible},
1419
}
1520
});
16-
</script>
21+
script;
22+
?>
23+
24+
<?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false); ?>

app/code/Magento/AdminAnalytics/view/adminhtml/templates/tracking.phtml

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,28 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
7+
/**
8+
* @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer
9+
*/
610
?>
711

8-
<script src="<?= $block->escapeUrl($block->getTrackingUrl()) ?>" async></script>
9-
<script>
12+
<?= /* @noEscape */ $secureRenderer->renderTag(
13+
'script',
14+
[
15+
'src' => '"' . $block->escapeJs($block->getTrackingUrl()) .'"',
16+
'async' => true,
17+
],
18+
'&nbsp;',
19+
false
20+
) ?>
21+
22+
<?php $scriptString = '
1023
var adminAnalyticsMetadata = {
11-
"version": "<?= $block->escapeJs($block->getMetadata()->getMagentoVersion()) ?>",
12-
"user": "<?= $block->escapeJs($block->getMetadata()->getCurrentUser()) ?>",
13-
"mode": "<?= $block->escapeJs($block->getMetadata()->getMode()) ?>"
24+
"version": "' . $block->escapeJs($block->getMetadata()->getMagentoVersion()) . '",
25+
"user": "' . $block->escapeJs($block->getMetadata()->getCurrentUser()) . '",
26+
"mode": "' . $block->escapeJs($block->getMetadata()->getMode()) . '"
1427
};
15-
</script>
28+
';
29+
?>
30+
<?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false); ?>

app/code/Magento/AdminNotification/Block/System/Messages.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class Messages extends Template
2626

2727
/**
2828
* @var JsonDataHelper
29-
* @deprecated
29+
* @deprecated 100.3.0
3030
*/
3131
protected $jsonHelper;
3232

app/code/Magento/AdminNotification/Controller/Adminhtml/System/Message/ListAction.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class ListAction extends \Magento\Backend\App\AbstractAction
1717

1818
/**
1919
* @var \Magento\Framework\Json\Helper\Data
20-
* @deprecated
20+
* @deprecated 100.3.0
2121
*/
2222
protected $jsonHelper;
2323

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<csp_whitelist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Csp:etc/csp_whitelist.xsd">
10+
<policies>
11+
<policy id="img-src">
12+
<values>
13+
<value id="commerce_widgets" type="host">widgets.magentocommerce.com</value>
14+
</values>
15+
</policy>
16+
</policies>
17+
</csp_whitelist>
18+

app/code/Magento/AdminNotification/view/adminhtml/templates/notification/window.phtml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66

77
/**
88
* @see \Magento\AdminNotification\Block\Window
9+
* @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer
910
*/
1011
?>
1112
<ul class="message-system-list"
12-
style="display: none;"
1313
data-mage-init='{
1414
"Magento_Ui/js/modal/modal": {
1515
"autoOpen": true,
@@ -25,3 +25,4 @@
2525
</a>
2626
</li>
2727
</ul>
28+
<?= /* @noEscape */ $secureRenderer->renderStyleAsTag('display:none', '.message-system-list'); ?>

app/code/Magento/AdminNotification/view/adminhtml/templates/system/messages/popup.phtml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,20 @@
55
*/
66

77
/** @var $block \Magento\AdminNotification\Block\System\Messages\UnreadMessagePopup */
8+
/** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */
89
?>
910

10-
<div style="display:none" id="system_messages_list" data-role="system_messages_list"
11+
<div id="system_messages_list" data-role="system_messages_list"
1112
title="<?= $block->escapeHtmlAttr($block->getPopupTitle()) ?>">
1213
<ul class="message-system-list messages">
13-
<?php foreach ($block->getUnreadMessages() as $message) : ?>
14+
<?php foreach ($block->getUnreadMessages() as $message): ?>
1415
<li class="message message-warning <?= $block->escapeHtmlAttr($block->getItemClass($message)) ?>">
1516
<?= $block->escapeHtml($message->getText()) ?>
1617
</li>
1718
<?php endforeach;?>
1819
</ul>
1920
</div>
21+
<?= /* @noEscape */ $secureRenderer->renderStyleAsTag('display:none', '#system_messages_list'); ?>
2022

2123
<script type="text/x-magento-init">
2224
{

app/code/Magento/AdvancedPricingImportExport/Model/Export/AdvancedPricing.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ private function prepareExportData(
381381
* @param array $exportData
382382
* @return array
383383
* @SuppressWarnings(PHPMD.UnusedLocalVariable)
384-
* @deprecated
384+
* @deprecated 100.3.0
385385
* @see prepareExportData
386386
*/
387387
protected function correctExportData($exportData)
@@ -510,7 +510,7 @@ private function fetchTierPrices(array $productIds): array
510510
* @return array|bool
511511
* @SuppressWarnings(PHPMD.NPathComplexity)
512512
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
513-
* @deprecated
513+
* @deprecated 100.3.0
514514
* @see fetchTierPrices
515515
*/
516516
protected function getTierPrices(array $listSku, $table)

app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/TierPrice.php

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,25 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
7+
declare(strict_types=1);
8+
69
namespace Magento\AdvancedPricingImportExport\Model\Import\AdvancedPricing\Validator;
710

811
use Magento\AdvancedPricingImportExport\Model\Import\AdvancedPricing;
12+
use Magento\CatalogImportExport\Model\Import\Product;
913
use Magento\CatalogImportExport\Model\Import\Product\RowValidatorInterface;
14+
use Magento\CatalogImportExport\Model\Import\Product\StoreResolver;
15+
use Magento\CatalogImportExport\Model\Import\Product\Validator\AbstractImportValidator;
16+
use Magento\CatalogImportExport\Model\Import\Product\Validator\AbstractPrice;
17+
use Magento\Customer\Api\GroupRepositoryInterface;
18+
use Magento\Framework\Api\SearchCriteriaBuilder;
19+
use Magento\Framework\Exception\LocalizedException;
1020

11-
class TierPrice extends \Magento\CatalogImportExport\Model\Import\Product\Validator\AbstractPrice
21+
class TierPrice extends AbstractPrice
1222
{
1323
/**
14-
* @var \Magento\CatalogImportExport\Model\Import\Product\StoreResolver
24+
* @var StoreResolver
1525
*/
1626
protected $storeResolver;
1727

@@ -27,21 +37,26 @@ class TierPrice extends \Magento\CatalogImportExport\Model\Import\Product\Valida
2737
];
2838

2939
/**
30-
* @param \Magento\Customer\Api\GroupRepositoryInterface $groupRepository
31-
* @param \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder
32-
* @param \Magento\CatalogImportExport\Model\Import\Product\StoreResolver $storeResolver
40+
* @param GroupRepositoryInterface $groupRepository
41+
* @param SearchCriteriaBuilder $searchCriteriaBuilder
42+
* @param StoreResolver $storeResolver
3343
*/
3444
public function __construct(
35-
\Magento\Customer\Api\GroupRepositoryInterface $groupRepository,
36-
\Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder,
37-
\Magento\CatalogImportExport\Model\Import\Product\StoreResolver $storeResolver
45+
GroupRepositoryInterface $groupRepository,
46+
SearchCriteriaBuilder $searchCriteriaBuilder,
47+
StoreResolver $storeResolver
3848
) {
3949
$this->storeResolver = $storeResolver;
4050
parent::__construct($groupRepository, $searchCriteriaBuilder);
4151
}
4252

4353
/**
44-
* {@inheritdoc}
54+
* Initialize method
55+
*
56+
* @param Product $context
57+
*
58+
* @return RowValidatorInterface|AbstractImportValidator|void
59+
* @throws LocalizedException
4560
*/
4661
public function init($context)
4762
{
@@ -52,7 +67,10 @@ public function init($context)
5267
}
5368

5469
/**
70+
* Add decimal error
71+
*
5572
* @param string $attribute
73+
*
5674
* @return void
5775
*/
5876
protected function addDecimalError($attribute)
@@ -83,12 +101,12 @@ public function getCustomerGroups()
83101
}
84102

85103
/**
86-
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
87104
* Validation
88105
*
89106
* @param mixed $value
90107
* @return bool
91108
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
109+
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
92110
*/
93111
public function isValid($value)
94112
{
@@ -133,6 +151,7 @@ public function isValid($value)
133151
* Check if at list one value and length are valid
134152
*
135153
* @param array $value
154+
*
136155
* @return bool
137156
*/
138157
protected function isValidValueAndLength(array $value)
@@ -150,6 +169,7 @@ protected function isValidValueAndLength(array $value)
150169
* Check if value has empty columns
151170
*
152171
* @param array $value
172+
*
153173
* @return bool
154174
*/
155175
protected function hasEmptyColumns(array $value)

app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/TierPriceType.php

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,24 @@
44
* See COPYING.txt for license details.
55
*/
66

7+
declare(strict_types=1);
8+
79
namespace Magento\AdvancedPricingImportExport\Model\Import\AdvancedPricing\Validator;
810

911
use Magento\AdvancedPricingImportExport\Model\Import\AdvancedPricing;
1012
use Magento\CatalogImportExport\Model\Import\Product\RowValidatorInterface;
13+
use Magento\CatalogImportExport\Model\Import\Product\Validator\AbstractImportValidator;
1114

1215
/**
1316
* Class TierPriceType validates tier price type.
1417
*/
15-
class TierPriceType extends \Magento\CatalogImportExport\Model\Import\Product\Validator\AbstractImportValidator
18+
class TierPriceType extends AbstractImportValidator
1619
{
17-
/**
18-
* {@inheritdoc}
19-
*/
20-
public function init($context)
21-
{
22-
return parent::init($context);
23-
}
24-
2520
/**
2621
* Validate tier price type.
2722
*
2823
* @param array $value
24+
*
2925
* @return bool
3026
*/
3127
public function isValid($value)

0 commit comments

Comments
 (0)