Skip to content

Commit 70ede03

Browse files
committed
MC-29420: Remove event handlers from CE
1 parent 896f0d6 commit 70ede03

File tree

87 files changed

+1882
-748
lines changed

Some content is hidden

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

87 files changed

+1882
-748
lines changed

app/code/Magento/Backend/Block/Widget/Form/Container.php

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
*/
66
namespace Magento\Backend\Block\Widget\Form;
77

8+
use Magento\Backend\Block\Widget\Context;
9+
use Magento\Framework\App\ObjectManager;
10+
use Magento\Framework\View\Helper\SecureHtmlRenderer;
11+
812
/**
913
* Backend form container block
1014
*
@@ -39,7 +43,7 @@ class Container extends \Magento\Backend\Block\Widget\Container
3943
* @var string
4044
*/
4145
protected $_blockGroup = 'Magento_Backend';
42-
46+
4347
/**
4448
* @var string
4549
*/
@@ -55,6 +59,25 @@ class Container extends \Magento\Backend\Block\Widget\Container
5559
*/
5660
protected $_template = 'Magento_Backend::widget/form/container.phtml';
5761

62+
/**
63+
* @var SecureHtmlRenderer
64+
*/
65+
private $secureRenderer;
66+
67+
/**
68+
* @param Context $context
69+
* @param array $data
70+
* @param SecureHtmlRenderer|null $secureRenderer
71+
*/
72+
public function __construct(
73+
Context $context,
74+
array $data = [],
75+
?SecureHtmlRenderer $secureRenderer = null
76+
) {
77+
$this->secureRenderer = $secureRenderer ?? ObjectManager::getInstance()->get(SecureHtmlRenderer::class);
78+
parent::__construct($context, $data);
79+
}
80+
5881
/**
5982
* Initialize form.
6083
*
@@ -205,8 +228,14 @@ public function getFormHtml()
205228
public function getFormInitScripts()
206229
{
207230
if (!empty($this->_formInitScripts) && is_array($this->_formInitScripts)) {
208-
return '<script>' . implode("\n", $this->_formInitScripts) . '</script>';
231+
return $this->secureRenderer->renderTag(
232+
'script',
233+
[],
234+
implode("\n", $this->_formInitScripts),
235+
false
236+
);
209237
}
238+
210239
return '';
211240
}
212241

@@ -218,8 +247,14 @@ public function getFormInitScripts()
218247
public function getFormScripts()
219248
{
220249
if (!empty($this->_formScripts) && is_array($this->_formScripts)) {
221-
return '<script>' . implode("\n", $this->_formScripts) . '</script>';
250+
return $this->secureRenderer->renderTag(
251+
'script',
252+
[],
253+
implode("\n", $this->_formScripts),
254+
false
255+
);
222256
}
257+
223258
return '';
224259
}
225260

app/code/Magento/Backend/view/adminhtml/templates/widget/form/container.phtml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
</div>
3030
<?php endif; ?>
3131
<?php $scriptString = <<<script
32+
3233
require([
3334
'jquery',
3435
'mage/backend/form',
@@ -51,6 +52,7 @@ require([
5152
});
5253
5354
});
55+
5456
script;
5557
?>
5658
<?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>

app/code/Magento/Backend/view/adminhtml/templates/widget/grid.phtml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
67
?>
78
<?php
89
/**
@@ -230,10 +231,10 @@ require(deps, function('. ($block->getDependencyJsObject() ? 'registry' : '') .'
230231

231232
if ($block->getChildBlock('grid.massaction') &&
232233
$block->getChildBlock('grid.massaction')->isAvailable()) {
233-
$scriptString .= /* @noEscape */ $block->getChildBlock('grid.massaction')->getJavaScript();
234+
$scriptString .= /* @noEscape */ $block->getChildBlock('grid.massaction')->getJavaScript() . PHP_EOL;
234235
}
235236

236-
$scriptString .= /* @noEscape */ $block->getAdditionalJavaScript();
237+
$scriptString .= /* @noEscape */ $block->getAdditionalJavaScript() . PHP_EOL;
237238

238239
if ($block->getDependencyJsObject()) {
239240
$scriptString .= '});' . PHP_EOL;

app/code/Magento/Backend/view/adminhtml/templates/widget/grid/extended.phtml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ $numColumns = count($block->getColumns());
150150
'onclick',
151151
/* @noEscape */ $block->getJsObjectName() . '.setPage(\'' .
152152
/* @noEscape */ ($_curPage + 1) . '\');return false;',
153-
'. admin__data-grid-pager button.action-next'
153+
'.admin__data-grid-pager button.action-next'
154154
) ?>
155155
<?php else: ?>
156156
<button type="button" class="action-next disabled">
@@ -290,16 +290,19 @@ $numColumns = count($block->getColumns());
290290
$jsonHelper = $block->getData('jsonHelper');
291291
if ($block->canDisplayContainer()):
292292
$scriptString = <<<script
293+
293294
var deps = [];
294295
script;
295296
if ($block->getDependencyJsObject()):
296297
$scriptString .= <<<script
298+
297299
deps.push('uiRegistry');
298300
script;
299301
endif;
300302

301303
if (strpos($block->getRowClickCallback(), 'order.') !== false):
302304
$scriptString .= <<<script
305+
303306
deps.push('Magento_Sales/order/create/form')
304307
script;
305308
endif;
@@ -310,6 +313,7 @@ script;
310313
if (is_array($block->getRequireJsDependencies())):
311314
foreach ($block->getRequireJsDependencies() as $dependency):
312315
$scriptString .= <<<script
316+
313317
deps.push('{$block->escapeJs($dependency)}');
314318
script;
315319
endforeach;

app/code/Magento/Msrp/view/frontend/templates/render/item/price_msrp_item.phtml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@
4949
"cartForm": "#wishlist-view-form"}}'>
5050
<?= $block->escapeHtml(__('Click for price')) ?>
5151
</a>
52+
<?= /* @noEscape */ $secureRenderer->renderEventListenerAsTag(
53+
'onclick',
54+
'e.preventDefault()',
55+
'a#' . /* @noEscape */ ($popupId)
56+
) ?>
5257
<?php else: ?>
5358
<span class="msrp-message">
5459
<?= $block->escapeHtml($_catalogHelper->getMsrpPriceMessage($_product)) ?>
@@ -61,4 +66,9 @@
6166
class="link tip">
6267
<?= $block->escapeHtml(__("What's this?")) ?>
6368
</a>
69+
<?= /* @noEscape */ $secureRenderer->renderEventListenerAsTag(
70+
'onclick',
71+
'e.preventDefault()',
72+
'a#' . /* @noEscape */ ($helpLinkId)
73+
) ?>
6474
</div>

app/code/Magento/Multishipping/view/frontend/templates/checkout/billing.phtml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
alt="<?= $block->escapeHtml(__('Loading...')); ?>">
1818
</div>
1919
</div>
20-
<?= /* @noEscape */ $secureRenderer->renderStyleAsTag('position: absolute;', 'div#checkout-loader .loader image') ?>
20+
<?= /* @noEscape */ $secureRenderer->renderStyleAsTag('position: absolute;', 'div#checkout-loader .loader img') ?>
2121
<?php $checkoutConfig = /* @noEscape */ $block->getCheckoutData()->getSerializedCheckoutConfigs();
2222
$scriptString = <<<script
2323
window.checkoutConfig = {$checkoutConfig};
@@ -148,6 +148,7 @@ script;
148148
</form>
149149
<?php $quoteBaseGrandTotal = (float)$block->getQuoteBaseGrandTotal();
150150
$scriptString = <<<script
151+
151152
require(['jquery', 'mage/mage'], function(jQuery) {
152153
var addtocartForm = jQuery('#multishipping-billing-form');
153154
@@ -165,11 +166,13 @@ $scriptString = <<<script
165166
}
166167
});
167168
});
169+
168170
script;
169171
?>
170172
<?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>
171173

172174
<?php $scriptString = <<<script
175+
173176
//<![CDATA[
174177
require(
175178
[
@@ -198,6 +201,7 @@ $scriptString .= <<<script
198201
});
199202
});
200203
//]]>
204+
201205
script;
202206
?>
203207
<?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>

app/code/Magento/OfflinePayments/view/adminhtml/templates/form/checkmo.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,5 @@
2525
</fieldset>
2626
<?= /* @noEscape */ $secureRenderer->renderStyleAsTag(
2727
"display:none",
28-
'fieldset#payment_form_' . $block->escapeHtml($block->getMethodCode())
28+
'fieldset#payment_form_' . $block->escapeJs($block->getMethodCode())
2929
) ?>

app/code/Magento/OfflinePayments/view/adminhtml/templates/form/purchaseorder.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@
2424
</fieldset>
2525
<?= /* @noEscape */ $secureRenderer->renderStyleAsTag(
2626
"display:none",
27-
'fieldset#payment_form_' . $block->escapeHtml($block->getMethodCode())
27+
'fieldset#payment_form_' . $block->escapeJs($block->getMethodCode())
2828
) ?>

app/code/Magento/OfflinePayments/view/frontend/templates/form/checkmo.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@
2626
</dl>
2727
<?= /* @noEscape */ $secureRenderer->renderStyleAsTag(
2828
"display:none",
29-
'dl#payment_form_' . $block->escapeHtml($block->getMethodCode())
29+
'dl#payment_form_' . $block->escapeJs($block->getMethodCode())
3030
) ?>
3131
<?php endif; ?>

app/code/Magento/Paypal/view/frontend/templates/partner/logo.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<?= /* @noEscape */ $secureRenderer->renderEventListenerAsTag(
2626
'onclick',
2727
"javascript:window.open(
28-
'" . $block->escapeUrl($block->getAboutPaypalPageUrl()) . "',
28+
'" . $block->escapeJs($block->getAboutPaypalPageUrl()) . "',
2929
'paypal',
3030
'width=600,height=350,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes'
3131
); return false;",

app/code/Magento/Paypal/view/frontend/templates/payflowlink/redirect.phtml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
</head>
1717
<body>
1818
<?php $scriptString= <<<script
19+
1920
(function() {
2021
'use strict';
2122
@@ -32,7 +33,7 @@
3233
3334
var cartUrl = '{$block->escapeJs($block->getUrl('checkout/cart'))}',
3435
successUrl = '{$block->escapeJs($block->getUrl('checkout/onepage/success'))}',
35-
goToSuccessPage = '{$block->escapeUrl($block->getGotoSuccessPage())}',
36+
goToSuccessPage = '{$block->escapeJs($block->getGotoSuccessPage())}',
3637
require = window.top.require,
3738
windowContext = window,
3839
errorMessage = {
@@ -50,8 +51,8 @@
5051
})
5152
}
5253
53-
5454
})();
55+
5556
script;
5657
?>
5758
<?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>

app/code/Magento/Paypal/view/frontend/templates/payment/mark.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ $url = $block->escapeUrl($block->getPaymentAcceptanceMarkHref());
2525
<?= /* @noEscape */ $secureRenderer->renderEventListenerAsTag(
2626
'onclick',
2727
"javascript:window.open(
28-
'" . /* @noEscape */ $url . "',
28+
'" . /* @noEscape */ $block->escapeJs($block->getPaymentAcceptanceMarkHref()) . "',
2929
'olcwhatispaypal',
3030
'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, ,' +
3131
'left=0, top=0, width=400, height=350'

app/code/Magento/ProductVideo/view/adminhtml/templates/product/edit/slideout/form.phtml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer
99
*/
1010
?>
11-
<div id="video_name_<?= $block->escapeHtmlAttr($block->getNameInLayout()) ?>"
11+
<div id="<?= $block->escapeHtmlAttr($block->getNameInLayout()) ?>"
1212
data-modal-info='<?= /* @noEscape */ $block->getWidgetOptions() ?>'
1313
>
1414
<?= $block->getFormHtml() ?>
@@ -28,7 +28,7 @@
2828
</div>
2929
</div>
3030
</div>
31-
<?= /* @noEscape */ $secureRenderer->renderTag(
31+
<?= /* @noEscape */ $secureRenderer->renderStyleAsTag(
3232
'display:none',
33-
'div#video_name_' . $block->escapeHtmlAttr($block->getNameInLayout())
33+
'div#' . $block->escapeJs($block->getNameInLayout())
3434
) ?>

0 commit comments

Comments
 (0)