1
1
<?php
2
+ declare (strict_types=1 );
2
3
/**
3
4
* Product initialization helper
4
5
*
5
6
* Copyright © Magento, Inc. All rights reserved.
6
7
* See COPYING.txt for license details.
7
8
*/
8
- namespace Magento \ConfigurableProduct \Controller \ Adminhtml \ Product \Initialization \ Helper \ Plugin ;
9
+ namespace Magento \ConfigurableProduct \Plugin \ Product \Initialization ;
9
10
10
11
use Magento \Framework \App \Filesystem \DirectoryList ;
11
12
12
13
/**
13
14
* Class CleanConfigurationTmpImages
14
15
*
15
16
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
17
+ * @SuppressWarnings(PHPCS.Magento2.Files.LineLength.MaxExceeded)
16
18
*/
17
19
class CleanConfigurationTmpImages
18
20
{
19
21
/**
20
22
* @var \Magento\MediaStorage\Helper\File\Storage\Database
21
23
*/
22
- protected $ fileStorageDb ;
24
+ private $ fileStorageDb ;
23
25
24
26
/**
25
27
* @var \Magento\Catalog\Model\Product\Media\Config
26
28
*/
27
- protected $ mediaConfig ;
29
+ private $ mediaConfig ;
28
30
29
31
/**
30
32
* @var \Magento\Framework\Filesystem\Directory\WriteInterface
31
33
*/
32
- protected $ mediaDirectory ;
34
+ private $ mediaDirectory ;
33
35
34
36
/**
35
37
* @var \Magento\Framework\App\RequestInterface
36
38
*/
37
- protected $ request ;
39
+ private $ request ;
40
+
41
+ /**
42
+ * @var \Magento\Framework\Serialize\SerializerInterface
43
+ */
44
+ private $ serialize ;
38
45
39
46
/**
40
47
* @param \Magento\Framework\App\RequestInterface $request
@@ -47,11 +54,13 @@ public function __construct(
47
54
\Magento \Framework \App \RequestInterface $ request ,
48
55
\Magento \MediaStorage \Helper \File \Storage \Database $ fileStorageDb ,
49
56
\Magento \Catalog \Model \Product \Media \Config $ mediaConfig ,
50
- \Magento \Framework \Filesystem $ filesystem
57
+ \Magento \Framework \Filesystem $ filesystem ,
58
+ \Magento \Framework \Serialize \SerializerInterface $ serialize
51
59
) {
52
60
$ this ->request = $ request ;
53
61
$ this ->fileStorageDb = $ fileStorageDb ;
54
62
$ this ->mediaConfig = $ mediaConfig ;
63
+ $ this ->serialize = $ serialize ;
55
64
$ this ->mediaDirectory = $ filesystem ->getDirectoryWrite (DirectoryList::MEDIA );
56
65
}
57
66
@@ -70,12 +79,12 @@ public function afterInitialize(
70
79
) {
71
80
72
81
$ configurations = $ this ->getConfigurations ();
73
- foreach ($ configurations as $ variationId => $ simpleProductData ) {
82
+ foreach ($ configurations as $ simpleProductData ) {
74
83
if (!isset ($ simpleProductData ['media_gallery ' ]['images ' ])) {
75
84
continue ;
76
85
}
77
86
78
- foreach ($ simpleProductData ['media_gallery ' ]['images ' ] as $ imageId => $ image ) {
87
+ foreach ($ simpleProductData ['media_gallery ' ]['images ' ] as $ image ) {
79
88
$ file = $ this ->getFilenameFromTmp ($ image ['file ' ]);
80
89
if ($ this ->fileStorageDb ->checkDbUsage ()) {
81
90
$ filename = $ this ->mediaDirectory ->getAbsolutePath ($ this ->mediaConfig ->getTmpMediaShortUrl ($ file ));
@@ -96,22 +105,22 @@ public function afterInitialize(
96
105
* @param string $file
97
106
* @return string
98
107
*/
99
- protected function getFilenameFromTmp ($ file )
108
+ private function getFilenameFromTmp ($ file )
100
109
{
101
- return strrpos ($ file , '.tmp ' ) == strlen ($ file ) - 4 ? substr ($ file , 0 , strlen ($ file ) - 4 ) : $ file ;
110
+ return strrpos ($ file , '.tmp ' ) === strlen ($ file ) - 4 ? substr ($ file , 0 , strlen ($ file ) - 4 ) : $ file ;
102
111
}
103
112
104
113
/**
105
114
* Get configurations from request
106
115
*
107
116
* @return array
108
117
*/
109
- protected function getConfigurations ()
118
+ private function getConfigurations ()
110
119
{
111
120
$ result = [];
112
121
$ configurableMatrix = $ this ->request ->getParam ('configurable-matrix-serialized ' , "[] " );
113
- if (isset ($ configurableMatrix ) && $ configurableMatrix != "" ) {
114
- $ configurableMatrix = json_decode ($ configurableMatrix, true );
122
+ if (isset ($ configurableMatrix ) && $ configurableMatrix !== "" ) {
123
+ $ configurableMatrix = $ this -> serialize -> unserialize ($ configurableMatrix );
115
124
116
125
foreach ($ configurableMatrix as $ item ) {
117
126
if (empty ($ item ['was_changed ' ]) && empty ($ item ['newProduct ' ])) {
0 commit comments