Skip to content

Commit 4418345

Browse files
authored
Merge pull request magento#46 from magento-jackalopes/MAGETWO-65623-unserialize
- MAGETWO-65623 Remove usages of serialize/unserialize in sample data
2 parents 7db2e92 + 2dacfd4 commit 4418345

File tree

7 files changed

+65
-40
lines changed

7 files changed

+65
-40
lines changed

app/code/Magento/CmsSampleData/fixtures/blocks/categories_static_blocks.csv

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ Women Block,women-block,"<div class=""blocks-promo"">
186186
<h2 class=""title"">Hot Sellers</h2>
187187
<p class=""info"">Favorites from Luma shoppers</p>
188188
</div>
189-
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_per_page=""4"" products_per_page=""4"" products_count=""4"" template=""product/widget/content/grid.phtml"" conditions_encoded=""a:2:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:3:`sku`;s:8:`operator`;s:2:`()`;s:5:`value`;s:22:`WS12, WT09, WH05, WP12`;]]""}}
189+
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_per_page=""4"" products_count=""4"" template=""product/widget/content/grid.phtml"" conditions_encoded=""[`1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,`aggregator`:`all`,`value`:`1`,`new_child`:``],`1--1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`sku`,`operator`:`()`,`value`:`WS12, WT09, WH05, WP12`]]""}}
190190
"
191191
Training Block,training-block,"<div class=""blocks-promo"">
192192

@@ -222,7 +222,7 @@ Training Block,training-block,"<div class=""blocks-promo"">
222222
<h2 class=""title"">Top Videos</h2>
223223
<p class=""info"">Stream free with subscription</p>
224224
</div>
225-
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_count=""4"" template=""product/widget/content/grid.phtml"" conditions_encoded=""a:2:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:3:`sku`;s:8:`operator`;s:2:`()`;s:5:`value`;s:38:`241-MB08, 240-LV05, 240-LV09, 240-LV07`;]]""}}
225+
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_count=""4"" template=""product/widget/content/grid.phtml"" conditions_encoded=""[`1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,`aggregator`:`all`,`value`:`1`,`new_child`:``],`1--1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`sku`,`operator`:`()`,`value`:`241-MB08, 240-LV05, 240-LV09, 240-LV07`]]""}}
226226
"
227227
Men Block,men-block,"<div class=""blocks-promo"">
228228
<a href=""{{category key=""men""}}"" class=""block-promo mens-main"">
@@ -282,7 +282,7 @@ Men Block,men-block,"<div class=""blocks-promo"">
282282
<h2 class=""title"">Hot Sellers</h2>
283283
<p class=""info"">Favorites from Luma shoppers</p>
284284
</div>
285-
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_per_page=""4"" products_count=""4"" template=""product/widget/content/grid.phtml"" conditions_encoded=""a:2:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:3:`sku`;s:8:`operator`;s:2:`()`;s:5:`value`;s:23:`MT07, MH07, MSH03, MP03`;]]""}}
285+
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_per_page=""4"" products_count=""4"" template=""product/widget/content/grid.phtml"" conditions_encoded=""[`1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,`aggregator`:`all`,`value`:`1`,`new_child`:``],`1--1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`sku`,`operator`:`()`,`value`:`MT07, MH07, MSH03, MP03`]]""}}
286286
"
287287
Gear Block,gear-block,"<div class=""blocks-promo"">
288288
<a href=""{{category key=""gear""}}"" class=""block-promo gear-main"">
@@ -342,7 +342,7 @@ Gear Block,gear-block,"<div class=""blocks-promo"">
342342
<h2 class=""title"">Hot Sellers</h2>
343343
<p class=""info"">Favorites from Luma shoppers</p>
344344
</div>
345-
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_per_page=""4"" products_count=""4"" template=""product/widget/content/grid.phtml"" conditions_encoded=""a:2:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:3:`sku`;s:8:`operator`;s:2:`()`;s:5:`value`;s:35:`24-MB02, 24-WB04, 24-UG06, 24-WG080`;]]""}}
345+
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_per_page=""4"" products_count=""4"" template=""product/widget/content/grid.phtml"" conditions_encoded=""[`1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,`aggregator`:`all`,`value`:`1`,`new_child`:``],`1--1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`sku`,`operator`:`()`,`value`:`24-MB02, 24-WB04, 24-UG06, 24-WG080`]]""}}
346346
"
347347
Sale Block,sale-block,"<div class=""blocks-promo"">
348348
<a href=""{{category key=""women-sale""}}"" class=""block-promo sale-main"">
@@ -429,7 +429,7 @@ New Block,new-block,"<div class=""blocks-promo"">
429429
<h2 class=""title"">Luma's Latest</h2>
430430
<p class=""info"">Just in time for the new season!</p>
431431
</div>
432-
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_per_page=""4"" products_count=""4"" template=""product/widget/content/grid.phtml"" conditions_encoded=""a:2:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:3:`new`;s:8:`operator`;s:2:`==`;s:5:`value`;s:1:`1`;]]""}}
432+
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_per_page=""4"" products_count=""4"" template=""product/widget/content/grid.phtml"" conditions_encoded=""[`1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,`aggregator`:`all`,`value`:`1`,`new_child`:``],`1--1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`new`,`operator`:`==`,`value`:`1`]]""}}
433433
"
434434
"Home Page Block",home-page-block,"<div class=""blocks-promo"">
435435
<a href=""{{category key=""yoga-new""}}"" class=""block-promo home-main"">
@@ -487,7 +487,7 @@ New Block,new-block,"<div class=""blocks-promo"">
487487
<h2 class=""title"">Hot Sellers</h2>
488488
<p class=""info"">Here is what`s trending on Luma right now</p>
489489
</div>
490-
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_per_page=""8"" products_count=""8"" template=""product/widget/content/grid.phtml"" conditions_encoded=""a:2:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:3:`sku`;s:8:`operator`;s:2:`()`;s:5:`value`;s:60:`WS12, WT09, MT07, MH07, 24-MB02, 24-WB04, 241-MB08, 240-LV05`;]]""}}
490+
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_per_page=""8"" products_count=""8"" template=""product/widget/content/grid.phtml"" conditions_encoded=""[`1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,`aggregator`:`all`,`value`:`1`,`new_child`:``],`1--1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`sku`,`operator`:`()`,`value`:`WS12, WT09, MT07, MH07, 24-MB02, 24-WB04, 241-MB08, 240-LV05`]]""}}
491491
"
492492
"Performance Fabrics Block",performance-fabrics-block,"<div class=""blocks-promo"">
493493
<div class=""block-promo collection-performance"">
@@ -498,7 +498,7 @@ New Block,new-block,"<div class=""blocks-promo"">
498498
</span>
499499
</div>
500500
</div>
501-
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_count=""5"" template=""product/widget/content/grid.phtml"" conditions_encoded=""a:3:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:18:`performance_fabric`;s:8:`operator`;s:2:`==`;s:5:`value`;s:1:`1`;]s:4:`1--2`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:3:`new`;s:8:`operator`;s:2:`==`;s:5:`value`;s:1:`1`;]]""}}"
501+
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_count=""5"" template=""product/widget/content/grid.phtml"" conditions_encoded=""[`1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,`aggregator`:`all`,`value`:`1`,`new_child`:``],`1--1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`performance_fabric`,`operator`:`==`,`value`:`1`],`1--2`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`new`,`operator`:`==`,`value`:`1`]]""}}"
502502
"Eco Friendly Block",eco-friendly-block,"<div class=""blocks-promo"">
503503
<div class=""block-promo collection-eco"">
504504
<img src=""{{media url=""wysiwyg/collection/collection-eco.jpg""}}"" alt="""" />
@@ -508,5 +508,5 @@ New Block,new-block,"<div class=""blocks-promo"">
508508
</span>
509509
</div>
510510
</div>
511-
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_count=""5"" template=""product/widget/content/grid.phtml"" conditions_encoded=""a:3:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:14:`eco_collection`;s:8:`operator`;s:2:`==`;s:5:`value`;s:1:`1`;]s:4:`1--2`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:3:`new`;s:8:`operator`;s:2:`==`;s:5:`value`;s:1:`1`;]]""}}
511+
{{widget type=""Magento\\CatalogWidget\\Block\\Product\\ProductsList"" products_count=""5"" template=""product/widget/content/grid.phtml"" conditions_encoded=""[`1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,`aggregator`:`all`,`value`:`1`,`new_child`:``],`1--1`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`eco_collection`,`operator`:`==`,`value`:`1`],`1--2`:[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`new`,`operator`:`==`,`value`:`1`]]""}}
512512
"

app/code/Magento/CustomerSampleData/Model/Customer.php

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
*/
66
namespace Magento\CustomerSampleData\Model;
77

8-
use Magento\Framework\Setup\SampleData\Context as SampleDataContext;
98
use Magento\Customer\Api\Data\RegionInterface;
9+
use Magento\Framework\Serialize\Serializer\Json;
10+
use Magento\Framework\Setup\SampleData\Context as SampleDataContext;
1011

1112
/**
12-
* Class Customer
1313
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
1414
*/
1515
class Customer
@@ -50,12 +50,12 @@ class Customer
5050
protected $accountManagement;
5151

5252
/**
53-
* @var array $customerDataProfile
53+
* @var array
5454
*/
5555
protected $customerDataProfile;
5656

5757
/**
58-
* @var array $customerDataAddress
58+
* @var array
5959
*/
6060
protected $customerDataAddress;
6161

@@ -69,9 +69,16 @@ class Customer
6969
*/
7070
protected $dataObjectHelper;
7171

72-
72+
/**
73+
* @var \Magento\Framework\App\State
74+
*/
7375
protected $appState;
7476

77+
/**
78+
* @var Json
79+
*/
80+
private $serializer;
81+
7582
/**
7683
* @param SampleDataContext $sampleDataContext
7784
* @param \Magento\Directory\Model\CountryFactory $countryFactory
@@ -82,6 +89,7 @@ class Customer
8289
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
8390
* @param \Magento\Framework\Api\DataObjectHelper $dataObjectHelper
8491
* @param \Magento\Framework\App\State $appState
92+
* @param Json|null $serializer
8593
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
8694
*/
8795
public function __construct(
@@ -93,7 +101,8 @@ public function __construct(
93101
\Magento\Customer\Api\AccountManagementInterface $accountManagement,
94102
\Magento\Store\Model\StoreManagerInterface $storeManager,
95103
\Magento\Framework\Api\DataObjectHelper $dataObjectHelper,
96-
\Magento\Framework\App\State $appState
104+
\Magento\Framework\App\State $appState,
105+
Json $serializer = null
97106
) {
98107
$this->fixtureManager = $sampleDataContext->getFixtureManager();
99108
$this->csvReader = $sampleDataContext->getCsvReader();
@@ -105,10 +114,13 @@ public function __construct(
105114
$this->storeManager = $storeManager;
106115
$this->dataObjectHelper = $dataObjectHelper;
107116
$this->appState = $appState;
117+
$this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance()->get(Json::class);
108118
}
109119

110120
/**
111-
* {@inheritdoc}
121+
* Loop through list of fixture files and install sample data
122+
*
123+
* @param string[] $fixtures
112124
*/
113125
public function install($fixtures)
114126
{
@@ -237,7 +249,7 @@ protected function convertRowData($row, $data)
237249
foreach ($row as $field => $value) {
238250
if (isset($data[$field])) {
239251
if ($field == 'street') {
240-
$data[$field] = unserialize($value);
252+
$data[$field] = $this->serializer->unserialize($value);
241253
continue;
242254
}
243255
if ($field == 'password') {

app/code/Magento/CustomerSampleData/etc/di.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77
-->
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
9-
<type name="\Magento\Framework\Mail\TransportInterface">
9+
<type name="Magento\Framework\Mail\TransportInterface">
1010
<plugin name="customer-sample-data-disable-registration-email-send" type="Magento\CustomerSampleData\Magento\Framework\Mail\Transport\MailPlugin"/>
1111
</type>
1212
</config>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
firstname,lastname,email,password,dob,gender,street,city,region,country_id,postcode,telephone
2-
Veronica,Costello,"[email protected]","[email protected]","1973-12-15",2,"a:2:{i:0;s:24:""6146 Honey Bluff Parkway"";i:1;s:0:"""";}",Calder,Michigan,US,"49628-7978","(555) 229-3326"
2+
Veronica,Costello,"[email protected]","[email protected]","1973-12-15",2,"[""6146 Honey Bluff Parkway"",""""]",Calder,Michigan,US,"49628-7978","(555) 229-3326"

app/code/Magento/WidgetSampleData/Model/CmsBlock.php

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6-
76
namespace Magento\WidgetSampleData\Model;
87

8+
use Magento\Framework\Serialize\Serializer\Json;
99
use Magento\Framework\Setup\SampleData\Context as SampleDataContext;
1010

1111
/**
@@ -48,21 +48,28 @@ class CmsBlock
4848
*/
4949
protected $csvReader;
5050

51+
/**
52+
* @var Json
53+
*/
54+
private $serializer;
55+
5156
/**
5257
* @param SampleDataContext $sampleDataContext
5358
* @param \Magento\Widget\Model\Widget\InstanceFactory $widgetFactory
5459
* @param \Magento\Theme\Model\ResourceModel\Theme\CollectionFactory $themeCollectionFactory
5560
* @param \Magento\Cms\Model\BlockFactory $cmsBlockFactory
5661
* @param \Magento\Widget\Model\ResourceModel\Widget\Instance\CollectionFactory $appCollectionFactory
5762
* @param \Magento\Catalog\Model\ResourceModel\Category\CollectionFactory $categoryFactory
63+
* @param Json|null $serializer
5864
*/
5965
public function __construct(
6066
SampleDataContext $sampleDataContext,
6167
\Magento\Widget\Model\Widget\InstanceFactory $widgetFactory,
6268
\Magento\Theme\Model\ResourceModel\Theme\CollectionFactory $themeCollectionFactory,
6369
\Magento\Cms\Model\BlockFactory $cmsBlockFactory,
6470
\Magento\Widget\Model\ResourceModel\Widget\Instance\CollectionFactory $appCollectionFactory,
65-
\Magento\Catalog\Model\ResourceModel\Category\CollectionFactory $categoryFactory
71+
\Magento\Catalog\Model\ResourceModel\Category\CollectionFactory $categoryFactory,
72+
Json $serializer = null
6673
) {
6774
$this->fixtureManager = $sampleDataContext->getFixtureManager();
6875
$this->csvReader = $sampleDataContext->getCsvReader();
@@ -71,10 +78,13 @@ public function __construct(
7178
$this->cmsBlockFactory = $cmsBlockFactory;
7279
$this->appCollectionFactory = $appCollectionFactory;
7380
$this->categoryFactory = $categoryFactory;
81+
$this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance()->get(Json::class);
7482
}
7583

7684
/**
77-
* {@inheritdoc}
85+
* Loop through list of fixture files and install widget data
86+
*
87+
* @param string[] $fixtures
7888
*/
7989
public function install(array $fixtures)
8090
{
@@ -138,7 +148,10 @@ public function install(array $fixtures)
138148
$pageGroup = [];
139149
$group = $row['page_group'];
140150
$pageGroup['page_group'] = $group;
141-
$pageGroup[$group] = array_merge($pageGroupConfig[$group], unserialize($row['group_data']));
151+
$pageGroup[$group] = array_merge(
152+
$pageGroupConfig[$group],
153+
$this->serializer->unserialize($row['group_data'])
154+
);
142155
if (!empty($pageGroup[$group]['entities'])) {
143156
$pageGroup[$group]['entities'] = $this->getCategoryByUrlKey(
144157
$pageGroup[$group]['entities']

0 commit comments

Comments
 (0)