Skip to content

Commit bb861cc

Browse files
committed
Merge remote-tracking branch 'mainline/2.3-develop' into feature/newrelic-cli-transaction-name
2 parents 638b73a + c224526 commit bb861cc

File tree

773 files changed

+28435
-9797
lines changed

Some content is hidden

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

773 files changed

+28435
-9797
lines changed

.htaccess

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@
2727
#AddType x-mapp-php5 .php
2828
#AddHandler x-mapp-php5 .php
2929

30+
############################################
31+
## enable usage of methods arguments in backtrace
32+
33+
SetEnv MAGE_DEBUG_SHOW_ARGS 1
34+
3035
############################################
3136
## default index file
3237

@@ -364,6 +369,15 @@
364369
Require all denied
365370
</IfVersion>
366371
</Files>
372+
<Files .user.ini>
373+
<IfVersion < 2.4>
374+
order allow,deny
375+
deny from all
376+
</IfVersion>
377+
<IfVersion >= 2.4>
378+
Require all denied
379+
</IfVersion>
380+
</Files>
367381

368382
# For 404s and 403s that aren't handled by the application, show plain 404 response
369383
ErrorDocument 404 /pub/errors/404.php

.htaccess.sample

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@
2727
#AddType x-mapp-php5 .php
2828
#AddHandler x-mapp-php5 .php
2929

30+
############################################
31+
## enable usage of methods arguments in backtrace
32+
33+
SetEnv MAGE_DEBUG_SHOW_ARGS 1
34+
3035
############################################
3136
## default index file
3237

@@ -341,6 +346,15 @@
341346
Require all denied
342347
</IfVersion>
343348
</Files>
349+
<Files .user.ini>
350+
<IfVersion < 2.4>
351+
order allow,deny
352+
deny from all
353+
</IfVersion>
354+
<IfVersion >= 2.4>
355+
Require all denied
356+
</IfVersion>
357+
</Files>
344358

345359
# For 404s and 403s that aren't handled by the application, show plain 404 response
346360
ErrorDocument 404 /pub/errors/404.php

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -785,7 +785,7 @@ Tests:
785785
* Refactored controller actions in the Product area
786786
* Moved commands cache.php, indexer.php, log.php, test.php, compiler.php, singletenant\_compiler.php, generator.php, pack.php, deploy.php and file\_assembler.php to the new bin/magento CLI framework
787787
* Data Migration Tool
788-
* The Data Migraiton Tool is published in the separate [repository](https://github.com/magento/data-migration-tool-ce "Data Migration Tool repository")
788+
* The Data Migration Tool is published in the separate [repository](https://github.com/magento/data-migration-tool-ce "Data Migration Tool repository")
789789
* Fixed bugs
790790
* Fixed an issue where error appeared during placing order with virtual product
791791
* Fixed an issue where billing and shipping sections didn't contain address information on order print
@@ -4136,7 +4136,7 @@ Tests:
41364136
* Moved Multishipping functionality to newly created module Multishipping
41374137
* Extracted Product duplication behavior from Product model to Product\Copier model
41384138
* Replaced event "catalog_model_product_duplicate" with composite Product\Copier model
4139-
* Replaced event "catalog_product_prepare_save" with controller product initialization helper that can be customozed via plugins
4139+
* Replaced event "catalog_product_prepare_save" with controller product initialization helper that can be customized via plugins
41404140
* Consolidated Authorize.Net functionality in single module Authorizenet
41414141
* Eliminated dependency of Sales module on Shipping and Usa modules
41424142
* Eliminated dependency of Shipping module on Customer module

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
Welcome to Magento 2 installation! We're glad you chose to install Magento 2, a cutting-edge, feature-rich eCommerce solution that gets results.
77

88
## Magento System Requirements
9-
[Magento System Requirements](https://devdocs.magento.com/guides/v2.3/install-gde/system-requirements2.html).
9+
[Magento System Requirements](https://devdocs.magento.com/guides/v2.3/install-gde/system-requirements.html).
1010

1111
## Install Magento
1212

@@ -45,7 +45,7 @@ Please review the [Code Contributions guide](https://devdocs.magento.com/guides/
4545

4646
## Reporting Security Issues
4747

48-
To report security vulnerabilities in Magento software or web sites, please create a Bugcrowd researcher account [there](https://bugcrowd.com/magento) to submit and follow-up your issue. Learn more about reporting security issues [here](https://magento.com/security/reporting-magento-security-issue).
48+
To report security vulnerabilities or learn more about reporting security issues in Magento software or web sites visit the [Magento Bug Bounty Program](https://hackerone.com/magento) on hackerone. Please create a hackerone account [there](https://hackerone.com/magento) to submit and follow-up your issue.
4949

5050
Stay up-to-date on the latest security news and patches for Magento by signing up for [Security Alert Notifications](https://magento.com/security/sign-up).
5151

app/bootstrap.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
* Environment initialization
99
*/
1010
error_reporting(E_ALL);
11+
if (in_array('phar', \stream_get_wrappers())) {
12+
stream_wrapper_unregister('phar');
13+
}
1114
#ini_set('display_errors', 1);
1215

1316
/* PHP version validation */

app/code/Magento/AdminNotification/Block/Grid/Renderer/Actions.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@
88

99
namespace Magento\AdminNotification\Block\Grid\Renderer;
1010

11+
/**
12+
* Renderer class for action in the admin notifications grid
13+
*
14+
* @package Magento\AdminNotification\Block\Grid\Renderer
15+
*/
1116
class Actions extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer
1217
{
1318
/**
@@ -37,7 +42,9 @@ public function __construct(
3742
*/
3843
public function render(\Magento\Framework\DataObject $row)
3944
{
40-
$readDetailsHtml = $row->getUrl() ? '<a class="action-details" target="_blank" href="' . $row->getUrl() . '">' .
45+
$readDetailsHtml = $row->getUrl() ? '<a class="action-details" target="_blank" href="' .
46+
$this->escapeUrl($row->getUrl())
47+
. '">' .
4148
__('Read Details') . '</a>' : '';
4249

4350
$markAsReadHtml = !$row->getIsRead() ? '<a class="action-mark" href="' . $this->getUrl(
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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+
9+
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
11+
<entity name="AdminMenuSystem">
12+
<data key="pageTitle">System</data>
13+
<data key="title">Notifications</data>
14+
<data key="dataUiId">magento-backend-system</data>
15+
</entity>
16+
<entity name="AdminMenuSystemOtherSettingsNotifications">
17+
<data key="pageTitle">Notifications</data>
18+
<data key="title">Notifications</data>
19+
<data key="dataUiId">magento-adminnotification-system-adminnotification</data>
20+
</entity>
21+
</entities>
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminSystemNotificationNavigateMenuTest">
12+
<annotations>
13+
<features value="AdminNotification"/>
14+
<stories value="Menu Navigation"/>
15+
<title value="Admin system notification navigate menu test"/>
16+
<description value="Admin should be able to navigate to System > Notifications"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MC-14125"/>
19+
<group value="menu"/>
20+
<group value="mtf_migrated"/>
21+
</annotations>
22+
<before>
23+
<actionGroup ref="LoginAsAdmin" stepKey="LoginAsAdmin"/>
24+
</before>
25+
<after>
26+
<actionGroup ref="logout" stepKey="logout"/>
27+
</after>
28+
<actionGroup ref="AdminNavigateMenuActionGroup" stepKey="navigateToSystemNotificationPage">
29+
<argument name="menuUiId" value="{{AdminMenuSystem.dataUiId}}"/>
30+
<argument name="submenuUiId" value="{{AdminMenuSystemOtherSettingsNotifications.dataUiId}}"/>
31+
</actionGroup>
32+
<actionGroup ref="AdminAssertPageTitleActionGroup" stepKey="seePageTitle">
33+
<argument name="title" value="{{AdminMenuSystemOtherSettingsNotifications.pageTitle}}"/>
34+
</actionGroup>
35+
</test>
36+
</tests>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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+
9+
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
11+
<entity name="AdminMenuReports">
12+
<data key="pageTitle">Reports</data>
13+
<data key="title">Reports</data>
14+
<data key="dataUiId">magento-reports-report</data>
15+
</entity>
16+
<entity name="AdminMenuReportsBusinessIntelligenceAdvancedReporting">
17+
<data key="pageTitle">AdvancedReporting</data>
18+
<data key="title">AdvancedReporting</data>
19+
<data key="dataUiId">magento-analytics-advanced-reporting</data>
20+
</entity>
21+
</entities>

app/code/Magento/Analytics/Test/Mftf/Test/AdminAdvancedReportingButtonTest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
<title value="AdvancedReportingButtonTest"/>
1414
<description value="Test log in to AdvancedReporting and tests AdvancedReportingButtonTest"/>
1515
<testCaseId value="MC-14800"/>
16+
<skip>
17+
<issueId value="MC-14800" />
18+
</skip>
1619
<severity value="CRITICAL"/>
1720
<group value="analytics"/>
1821
<group value="mtf_migrated"/>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
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+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminAdvancedReportingNavigateMenuTest">
12+
<annotations>
13+
<features value="Analytics"/>
14+
<stories value="Menu Navigation"/>
15+
<title value="Admin advanced reporting navigate menu test"/>
16+
<description value="Admin should be able to navigate through advanced reporting admin menu to BI reports page"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MC-14152"/>
19+
<group value="menu"/>
20+
<group value="mtf_migrated"/>
21+
</annotations>
22+
<before>
23+
<actionGroup ref="LoginAsAdmin" stepKey="LoginAsAdmin"/>
24+
</before>
25+
<after>
26+
<actionGroup ref="logout" stepKey="logout"/>
27+
</after>
28+
<actionGroup ref="AdminNavigateMenuActionGroup" stepKey="navigateAdvancedReportingPage">
29+
<argument name="menuUiId" value="{{AdminMenuReports.dataUiId}}"/>
30+
<argument name="submenuUiId" value="{{AdminMenuReportsBusinessIntelligenceAdvancedReporting.dataUiId}}"/>
31+
</actionGroup>
32+
<switchToNextTab stepKey="switchToNewTab"/>
33+
<seeInCurrentUrl url="advancedreporting.rjmetrics.com/report" stepKey="seeAssertAdvancedReportingPageUrl"/>
34+
</test>
35+
</tests>

app/code/Magento/Analytics/Test/Unit/Block/Adminhtml/System/Config/AdditionalCommentTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,15 @@ protected function setUp()
3939
->setMethods(['getComment', 'getLabel'])
4040
->disableOriginalConstructor()
4141
->getMock();
42+
43+
$objectManager = new ObjectManager($this);
44+
$escaper = $objectManager->getObject(\Magento\Framework\Escaper::class);
45+
$reflection = new \ReflectionClass($this->abstractElementMock);
46+
$reflection_property = $reflection->getProperty('_escaper');
47+
$reflection_property->setAccessible(true);
48+
$reflection_property->setValue($this->abstractElementMock, $escaper);
49+
50+
$this->abstractElementMock->setEscaper($escaper);
4251
$this->contextMock = $this->getMockBuilder(Context::class)
4352
->disableOriginalConstructor()
4453
->getMock();

app/code/Magento/Analytics/Test/Unit/Block/Adminhtml/System/Config/CollectionTimeLabelTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ protected function setUp()
4646
->setMethods(['getComment'])
4747
->disableOriginalConstructor()
4848
->getMock();
49+
50+
$objectManager = new ObjectManager($this);
51+
$escaper = $objectManager->getObject(\Magento\Framework\Escaper::class);
52+
$reflection = new \ReflectionClass($this->abstractElementMock);
53+
$reflection_property = $reflection->getProperty('_escaper');
54+
$reflection_property->setAccessible(true);
55+
$reflection_property->setValue($this->abstractElementMock, $escaper);
56+
4957
$this->contextMock = $this->getMockBuilder(Context::class)
5058
->setMethods(['getLocaleDate'])
5159
->disableOriginalConstructor()

app/code/Magento/Analytics/Test/Unit/Block/Adminhtml/System/Config/SubscriptionStatusLabelTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ protected function setUp()
5151
->setMethods(['getComment'])
5252
->disableOriginalConstructor()
5353
->getMock();
54+
55+
$objectManager = new ObjectManager($this);
56+
$escaper = $objectManager->getObject(\Magento\Framework\Escaper::class);
57+
$reflection = new \ReflectionClass($this->abstractElementMock);
58+
$reflection_property = $reflection->getProperty('_escaper');
59+
$reflection_property->setAccessible(true);
60+
$reflection_property->setValue($this->abstractElementMock, $escaper);
61+
5462
$this->formMock = $this->getMockBuilder(Form::class)
5563
->disableOriginalConstructor()
5664
->getMock();

app/code/Magento/Analytics/Test/Unit/Block/Adminhtml/System/Config/VerticalTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ protected function setUp()
3939
->setMethods(['getComment', 'getLabel', 'getHint'])
4040
->disableOriginalConstructor()
4141
->getMock();
42+
43+
$objectManager = new ObjectManager($this);
44+
$escaper = $objectManager->getObject(\Magento\Framework\Escaper::class);
45+
$reflection = new \ReflectionClass($this->abstractElementMock);
46+
$reflection_property = $reflection->getProperty('_escaper');
47+
$reflection_property->setAccessible(true);
48+
$reflection_property->setValue($this->abstractElementMock, $escaper);
49+
4250
$this->contextMock = $this->getMockBuilder(Context::class)
4351
->disableOriginalConstructor()
4452
->getMock();

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

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ class Container extends \Magento\Backend\Block\Widget\Container
5656
protected $_template = 'Magento_Backend::widget/form/container.phtml';
5757

5858
/**
59+
* Initialize form.
60+
*
5961
* @return void
6062
*/
6163
protected function _construct()
@@ -83,7 +85,7 @@ protected function _construct()
8385
-1
8486
);
8587

86-
$objId = $this->getRequest()->getParam($this->_objectId);
88+
$objId = (int)$this->getRequest()->getParam($this->_objectId);
8789

8890
if (!empty($objId)) {
8991
$this->addButton(
@@ -151,11 +153,13 @@ public function getBackUrl()
151153
}
152154

153155
/**
156+
* Get URL for delete button.
157+
*
154158
* @return string
155159
*/
156160
public function getDeleteUrl()
157161
{
158-
return $this->getUrl('*/*/delete', [$this->_objectId => $this->getRequest()->getParam($this->_objectId)]);
162+
return $this->getUrl('*/*/delete', [$this->_objectId => (int)$this->getRequest()->getParam($this->_objectId)]);
159163
}
160164

161165
/**
@@ -183,6 +187,8 @@ public function getFormActionUrl()
183187
}
184188

185189
/**
190+
* Get form HTML.
191+
*
186192
* @return string
187193
*/
188194
public function getFormHtml()
@@ -192,6 +198,8 @@ public function getFormHtml()
192198
}
193199

194200
/**
201+
* Get form init scripts.
202+
*
195203
* @return string
196204
*/
197205
public function getFormInitScripts()
@@ -203,6 +211,8 @@ public function getFormInitScripts()
203211
}
204212

205213
/**
214+
* Get form scripts.
215+
*
206216
* @return string
207217
*/
208218
public function getFormScripts()
@@ -214,6 +224,8 @@ public function getFormScripts()
214224
}
215225

216226
/**
227+
* Get header width.
228+
*
217229
* @return string
218230
*/
219231
public function getHeaderWidth()
@@ -222,6 +234,8 @@ public function getHeaderWidth()
222234
}
223235

224236
/**
237+
* Get header css class.
238+
*
225239
* @return string
226240
*/
227241
public function getHeaderCssClass()
@@ -230,6 +244,8 @@ public function getHeaderCssClass()
230244
}
231245

232246
/**
247+
* Get header HTML.
248+
*
233249
* @return string
234250
*/
235251
public function getHeaderHtml()

0 commit comments

Comments
 (0)