Skip to content

Commit 8976a09

Browse files
authored
Merge pull request #6694 from magento-cia/cia-2.3.7-3112021
cia-fixes-2.3.7
2 parents 57067de + 8d4f861 commit 8976a09

File tree

34 files changed

+752
-266
lines changed

34 files changed

+752
-266
lines changed

app/code/Magento/Authorizenet/view/adminhtml/templates/directpost/info.phtml

+13-7
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ $ccExpYear = $block->getInfoData('cc_exp_year');
4040
'validate-cc-type-select':'#<?= /* @noEscape */ $code ?>_cc_number'
4141
}">
4242
<option value=""><?= $block->escapeHtml(__('Please Select')) ?></option>
43-
<?php foreach ($block->getCcAvailableTypes() as $typeCode => $typeName) : ?>
43+
<?php foreach ($block->getCcAvailableTypes() as $typeCode => $typeName): ?>
4444
<option value="<?= $block->escapeHtmlAttr($typeCode) ?>"
45-
<?php if ($typeCode == $ccType) : ?>selected="selected"<?php endif; ?>>
45+
<?php if ($typeCode == $ccType): ?>selected="selected"<?php endif; ?>>
4646
<?= $block->escapeHtml($typeName) ?>
4747
</option>
4848
<?php endforeach; ?>
@@ -57,6 +57,9 @@ $ccExpYear = $block->getInfoData('cc_exp_year');
5757
<div class="admin__field-control">
5858
<input type="text" id="<?= /* @noEscape */ $code ?>_cc_number"
5959
name="payment[cc_number]"
60+
oncopy="return false;"
61+
oncut="return false;"
62+
onpaste="return false;"
6063
data-validate="{
6164
'required-number':true,
6265
'validate-cc-number':'#<?= /* @noEscape */ $code ?>_cc_type',
@@ -80,9 +83,9 @@ $ccExpYear = $block->getInfoData('cc_exp_year');
8083
'required':true,
8184
'validate-cc-exp':'#<?= /* @noEscape */ $code ?>_expiration_yr'
8285
}">
83-
<?php foreach ($block->getCcMonths() as $k => $v) : ?>
86+
<?php foreach ($block->getCcMonths() as $k => $v): ?>
8487
<option value="<?= $block->escapeHtmlAttr($k) ?>"
85-
<?php if ($k == $ccExpMonth) : ?>selected="selected"<?php endif; ?>>
88+
<?php if ($k == $ccExpMonth): ?>selected="selected"<?php endif; ?>>
8689
<?= $block->escapeHtml($v) ?>
8790
</option>
8891
<?php endforeach; ?>
@@ -92,17 +95,17 @@ $ccExpYear = $block->getInfoData('cc_exp_year');
9295
class="admin__control-select admin__control-select-year"
9396
data-container="<?= /* @noEscape */ $code ?>-cc-year"
9497
data-validate="{required:true}">
95-
<?php foreach ($block->getCcYears() as $k => $v) : ?>
98+
<?php foreach ($block->getCcYears() as $k => $v): ?>
9699
<option value="<?= /* @noEscape */ $k ? $block->escapeHtmlAttr($k) : '' ?>"
97-
<?php if ($k == $ccExpYear) : ?>selected="selected"<?php endif; ?>>
100+
<?php if ($k == $ccExpYear): ?>selected="selected"<?php endif; ?>>
98101
<?= $block->escapeHtml($v) ?>
99102
</option>
100103
<?php endforeach; ?>
101104
</select>
102105
</div>
103106
</div>
104107

105-
<?php if ($block->hasVerification()) : ?>
108+
<?php if ($block->hasVerification()): ?>
106109
<div class="admin__field _required field-cvv">
107110
<label class="admin__field-label"
108111
for="<?= /* @noEscape */ $code ?>_cc_cid"
@@ -113,6 +116,9 @@ $ccExpYear = $block->getInfoData('cc_exp_year');
113116
<div class="admin__field-control">
114117
<input type="text"
115118
data-container="<?= /* @noEscape */ $code ?>-cc-cvv"
119+
oncopy="return false;"
120+
oncut="return false;"
121+
onpaste="return false;"
116122
title="<?= $block->escapeHtmlAttr(__('Card Verification Number')) ?>"
117123
class="admin__control-text cvv"
118124
id="<?= /* @noEscape */ $code ?>_cc_cid" name="payment[cc_cid]"

app/code/Magento/AuthorizenetAcceptjs/view/adminhtml/templates/form/cc.phtml

+23-11
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ $ccExpYear = $block->getInfoData('cc_exp_year');
2222
<select id="<?= /* @noEscape */ $code ?>_cc_type" name="payment[cc_type]"
2323
class="required-entry validate-cc-type-select admin__control-select">
2424
<option value=""></option>
25-
<?php foreach ($block->getCcAvailableTypes() as $typeCode => $typeName) : ?>
26-
<option value="<?= $block->escapeHtmlAttr($typeCode) ?>" <?php if ($typeCode == $ccType) : ?>selected="selected"<?php endif ?>>
25+
<?php foreach ($block->getCcAvailableTypes() as $typeCode => $typeName): ?>
26+
<option value="<?= $block->escapeHtmlAttr($typeCode) ?>"
27+
<?php if ($typeCode == $ccType): ?>selected="selected"<?php endif ?>>
2728
<?= $block->escapeHtml($typeName) ?>
2829
</option>
2930
<?php endforeach ?>
@@ -35,8 +36,14 @@ $ccExpYear = $block->getInfoData('cc_exp_year');
3536
<span><?= $block->escapeHtml(__('Credit Card Number')) ?></span>
3637
</label>
3738
<div class="admin__field-control">
38-
<input type="text" id="<?= /* @noEscape */ $code ?>_cc_number" name="payment[cc_number]"
39-
title="<?= $block->escapeHtmlAttr(__('Credit Card Number')) ?>" class="admin__control-text validate-cc-number"
39+
<input type="text"
40+
id="<?= /* @noEscape */ $code ?>_cc_number"
41+
name="payment[cc_number]"
42+
oncopy="return false;"
43+
oncut="return false;"
44+
onpaste="return false;"
45+
title="<?= $block->escapeHtmlAttr(__('Credit Card Number')) ?>"
46+
class="admin__control-text validate-cc-number"
4047
value="<?= /* @noEscape */ $block->getInfoData('cc_number') ?>"/>
4148
</div>
4249
</div>
@@ -47,35 +54,40 @@ $ccExpYear = $block->getInfoData('cc_exp_year');
4754
<div class="admin__field-control">
4855
<select id="<?= /* @noEscape */ $code ?>_cc_exp_month" name="payment[cc_exp_month]"
4956
class="admin__control-select admin__control-select-month validate-cc-exp required-entry">
50-
<?php foreach ($block->getCcMonths() as $k => $v) : ?>
57+
<?php foreach ($block->getCcMonths() as $k => $v): ?>
5158
<option value="<?= $block->escapeHtmlAttr($k) ?>"
52-
<?php if ($k == $ccExpMonth) : ?>selected="selected"<?php endif ?>>
59+
<?php if ($k == $ccExpMonth): ?>selected="selected"<?php endif ?>>
5360
<?= $block->escapeHtml($v) ?>
5461
</option>
5562
<?php endforeach; ?>
5663
</select>
5764
<select id="<?= /* @noEscape */ $code ?>_cc_exp_year" name="payment[cc_exp_year]"
5865
class="admin__control-select admin__control-select-year required-entry">
59-
<?php foreach ($block->getCcYears() as $k => $v) : ?>
66+
<?php foreach ($block->getCcYears() as $k => $v): ?>
6067
<option value="<?= /* @noEscape */ $k ? $block->escapeHtml($k) : '' ?>"
61-
<?php if ($k == $ccExpYear) : ?>selected="selected"<?php endif ?>>
68+
<?php if ($k == $ccExpYear): ?>selected="selected"<?php endif ?>>
6269
<?= $block->escapeHtml($v) ?>
6370
</option>
6471
<?php endforeach ?>
6572
</select>
6673
</div>
6774
</div>
6875

69-
<?php if ($block->isCvvEnabled()) : ?>
76+
<?php if ($block->isCvvEnabled()): ?>
7077
<div class="field-number required admin__field _required">
7178
<label class="admin__field-label" for="<?= /* @noEscape */ $code ?>_cc_cid">
7279
<span><?= $block->escapeHtml(__('Card Verification Number')) ?></span>
7380
</label>
7481
<div class="admin__field-control">
75-
<input type="text" title="<?= $block->escapeHtmlAttr(__('Card Verification Number')) ?>"
82+
<input type="text"
83+
title="<?= $block->escapeHtmlAttr(__('Card Verification Number')) ?>"
84+
oncopy="return false;"
85+
oncut="return false;"
86+
onpaste="return false;"
7687
class="required-entry validate-cc-cvn admin__control-cvn admin__control-text"
7788
id="<?= /* @noEscape */ $code ?>_cc_cid"
78-
name="payment[cc_cid]" value="<?= /* @noEscape */ $block->getInfoData('cc_cid') ?>"/>
89+
name="payment[cc_cid]"
90+
value="<?= /* @noEscape */ $block->getInfoData('cc_cid') ?>"/>
7991
</div>
8092
</div>
8193
<?php endif; ?>

app/code/Magento/Captcha/view/adminhtml/templates/default.phtml

+14-6
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@
88

99
/** @var \Magento\Captcha\Model\DefaultModel $captcha */
1010
$captcha = $block->getCaptchaModel();
11+
$name = $block->escapeHtmlAttr(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE);
12+
/** @var bool $validationEnabled */
13+
$validationEnabled = $block->hasData('frontend_validation') ? $block->getData('frontend_validation') : true;
1114
?>
12-
<div class="admin__field _required">
15+
<div class="admin__field<?php if ($validationEnabled): ?> _required<?php endif; ?>">
1316
<label for="captcha" class="admin__field-label">
1417
<span><?= $block->escapeHtml(__('Please enter the letters and numbers from the image')) ?></span>
1518
</label>
@@ -18,11 +21,13 @@ $captcha = $block->getCaptchaModel();
1821
id="captcha"
1922
class="admin__control-text"
2023
type="text"
21-
name="<?= $block->escapeHtmlAttr(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE) ?>[<?= $block->escapeHtml($block->getFormId()) ?>]"
22-
data-validate="{required:true}"/>
23-
<?php if ($captcha->isCaseSensitive()) :?>
24+
name="<?= /** @noEscape */ $name ?>[<?= $block->escapeHtmlAttr($block->getFormId()) ?>]"
25+
<?php if ($validationEnabled): ?>data-validate="{required:true}"<?php endif; ?>/>
26+
<?php if ($captcha->isCaseSensitive()): ?>
2427
<div class="admin__field-note">
25-
<span><?= $block->escapeHtml(__('<strong>Attention</strong>: Captcha is case sensitive.'), ['strong']) ?></span>
28+
<span>
29+
<?= $block->escapeHtml(__('<strong>Attention</strong>: Captcha is case sensitive.'), ['strong']) ?>
30+
</span>
2631
</div>
2732
<?php endif; ?>
2833
</div>
@@ -43,7 +48,10 @@ $captcha = $block->getCaptchaModel();
4348
require(["prototype", "mage/captcha"], function(){
4449

4550
//<![CDATA[
46-
var captcha = new Captcha('<?= $block->escapeJs($block->escapeUrl($block->getRefreshUrl())) ?>', '<?= $block->escapeJs($block->escapeHtml($block->getFormId())) ?>');
51+
var captcha = new Captcha(
52+
'<?= $block->escapeJs($block->getRefreshUrl()) ?>',
53+
'<?= $block->escapeJs($block->getFormId()) ?>'
54+
);
4755

4856
$('captcha-reload').observe('click', function () {
4957
captcha.refresh(this);

app/code/Magento/Captcha/view/frontend/templates/default.phtml

+29-10
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,46 @@
88

99
/** @var \Magento\Captcha\Model\DefaultModel $captcha */
1010
$captcha = $block->getCaptchaModel();
11+
/** @var bool $validationEnabled */
12+
$validationEnabled = $block->hasData('frontend_validation') ? $block->getData('frontend_validation') : true;
13+
$inputName = $block->escapeHtmlAttr(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE);
14+
$loaderUrl = $block->escapeUrl($block->getViewFileUrl('images/loader-2.gif'));
15+
$note = $block->escapeHtml(__('<strong>Attention</strong>: Captcha is case sensitive.'), ['strong']);
1116
?>
12-
<div class="field captcha required" role="<?= $block->escapeHtmlAttr($block->getFormId()) ?>">
13-
<label for="captcha_<?= $block->escapeHtmlAttr($block->getFormId()) ?>" class="label"><span><?= $block->escapeHtml(__('Please type the letters and numbers below')) ?></span></label>
17+
<div class="field captcha<?php if ($validationEnabled): ?> required<?php endif; ?>"
18+
role="<?= $block->escapeHtmlAttr($block->getFormId()) ?>">
19+
<label for="captcha_<?= $block->escapeHtmlAttr($block->getFormId()) ?>" class="label">
20+
<span><?= $block->escapeHtml(__('Please type the letters and numbers below')) ?></span>
21+
</label>
1422
<div class="control captcha">
15-
<input name="<?= $block->escapeHtmlAttr(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE) ?>[<?= $block->escapeHtmlAttr($block->getFormId()) ?>]" type="text" class="input-text required-entry" data-validate="{required:true}" id="captcha_<?= $block->escapeHtmlAttr($block->getFormId()) ?>" autocomplete="off"/>
23+
<input
24+
name="<?= /* @noEscape */ $inputName ?>[<?= $block->escapeHtmlAttr($block->getFormId()) ?>]"
25+
type="text"
26+
class="input-text<?php if ($validationEnabled): ?> required-entry<?php endif; ?>"
27+
<?php if ($validationEnabled): ?>data-validate="{required:true}"<?php endif; ?>
28+
id="captcha_<?= $block->escapeHtmlAttr($block->getFormId()) ?>"
29+
autocomplete="off"/>
1630
<div class="nested">
1731
<div class="field captcha no-label"
1832
data-captcha="<?= $block->escapeHtmlAttr($block->getFormId()) ?>"
1933
id="captcha-container-<?= $block->escapeHtmlAttr($block->getFormId()) ?>"
2034
data-mage-init='{"captcha":{"url": "<?= $block->escapeUrl($block->getRefreshUrl()) ?>",
21-
"imageLoader": "<?= $block->escapeUrl($block->getViewFileUrl('images/loader-2.gif')) ?>",
35+
"imageLoader": "<?= /* @noEscape */ $loaderUrl ?>",
2236
"type": "<?= $block->escapeHtmlAttr($block->getFormId()) ?>"}}'>
2337
<div class="control captcha-image">
24-
<img alt="<?= $block->escapeHtmlAttr(__('Please type the letters and numbers below')) ?>" class="captcha-img" height="<?= /* @noEscape */ (float) $block->getImgHeight() ?>" src="<?= $block->escapeUrl($captcha->getImgSrc()) ?>"/>
25-
<button type="button" class="action reload captcha-reload" title="<?= $block->escapeHtmlAttr(__('Reload captcha')) ?>"><span><?= $block->escapeHtml(__('Reload captcha')) ?></span></button>
38+
<img alt="<?= $block->escapeHtmlAttr(__('Please type the letters and numbers below')) ?>"
39+
class="captcha-img"
40+
height="<?= /* @noEscape */ (float) $block->getImgHeight() ?>"
41+
src="<?= $block->escapeUrl($captcha->getImgSrc()) ?>"/>
42+
<button type="button"
43+
class="action reload captcha-reload"
44+
title="<?= $block->escapeHtmlAttr(__('Reload captcha')) ?>">
45+
<span><?= $block->escapeHtml(__('Reload captcha')) ?></span>
46+
</button>
2647
</div>
2748
</div>
28-
<?php if ($captcha->isCaseSensitive()) :?>
29-
<div class="captcha-note note">
30-
<?= $block->escapeHtml(__('<strong>Attention</strong>: Captcha is case sensitive.'), ['strong']) ?>
31-
</div>
49+
<?php if ($captcha->isCaseSensitive()):?>
50+
<div class="captcha-note note"><?= /* @noEscape */ $note ?></div>
3251
<?php endif; ?>
3352
</div>
3453
</div>

app/code/Magento/Checkout/Api/Exception/PaymentProcessingRateLimitExceededException.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use Magento\Framework\Exception\LocalizedException;
1212

1313
/**
14-
* Thrown when too many payment processing requests have been initiated by a user.
14+
* Thrown when too many payment processing/saving requests have been initiated by a user.
1515
*/
1616
class PaymentProcessingRateLimitExceededException extends LocalizedException
1717
{
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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\Checkout\Api;
10+
11+
use Magento\Checkout\Api\Exception\PaymentProcessingRateLimitExceededException;
12+
13+
/**
14+
* Limits number of times a user can store payment method info.
15+
*/
16+
interface PaymentSavingRateLimiterInterface
17+
{
18+
/**
19+
* Limit an attempt.
20+
*
21+
* @return void
22+
* @throws PaymentProcessingRateLimitExceededException
23+
*/
24+
public function limit(): void;
25+
}

app/code/Magento/Checkout/Block/Cart/Coupon.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ protected function _prepareLayout()
5757
'cacheable' => false,
5858
'after' => '-',
5959
'form_id' => 'sales_rule_coupon_request',
60-
'image_width' => 230,
61-
'image_height' => 230
60+
'img_width' => 230,
61+
'img_height' => 50
6262
]
6363
);
6464
}

0 commit comments

Comments
 (0)