Skip to content

Commit 61fa2cc

Browse files
committed
- Moved plugin files under Plugin folder
- Changed modifier of methods and variables - Use Magento serialize class
1 parent daa96f4 commit 61fa2cc

File tree

2 files changed

+25
-15
lines changed

2 files changed

+25
-15
lines changed
Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,47 @@
11
<?php
2+
declare(strict_types=1);
23
/**
34
* Product initialization helper
45
*
56
* Copyright © Magento, Inc. All rights reserved.
67
* See COPYING.txt for license details.
78
*/
8-
namespace Magento\ConfigurableProduct\Controller\Adminhtml\Product\Initialization\Helper\Plugin;
9+
namespace Magento\ConfigurableProduct\Plugin\Product\Initialization;
910

1011
use Magento\Framework\App\Filesystem\DirectoryList;
1112

1213
/**
1314
* Class CleanConfigurationTmpImages
1415
*
1516
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
17+
* @SuppressWarnings(PHPCS.Magento2.Files.LineLength.MaxExceeded)
1618
*/
1719
class CleanConfigurationTmpImages
1820
{
1921
/**
2022
* @var \Magento\MediaStorage\Helper\File\Storage\Database
2123
*/
22-
protected $fileStorageDb;
24+
private $fileStorageDb;
2325

2426
/**
2527
* @var \Magento\Catalog\Model\Product\Media\Config
2628
*/
27-
protected $mediaConfig;
29+
private $mediaConfig;
2830

2931
/**
3032
* @var \Magento\Framework\Filesystem\Directory\WriteInterface
3133
*/
32-
protected $mediaDirectory;
34+
private $mediaDirectory;
3335

3436
/**
3537
* @var \Magento\Framework\App\RequestInterface
3638
*/
37-
protected $request;
39+
private $request;
40+
41+
/**
42+
* @var \Magento\Framework\Serialize\SerializerInterface
43+
*/
44+
private $serialize;
3845

3946
/**
4047
* @param \Magento\Framework\App\RequestInterface $request
@@ -47,11 +54,13 @@ public function __construct(
4754
\Magento\Framework\App\RequestInterface $request,
4855
\Magento\MediaStorage\Helper\File\Storage\Database $fileStorageDb,
4956
\Magento\Catalog\Model\Product\Media\Config $mediaConfig,
50-
\Magento\Framework\Filesystem $filesystem
57+
\Magento\Framework\Filesystem $filesystem,
58+
\Magento\Framework\Serialize\SerializerInterface $serialize
5159
) {
5260
$this->request = $request;
5361
$this->fileStorageDb = $fileStorageDb;
5462
$this->mediaConfig = $mediaConfig;
63+
$this->serialize = $serialize;
5564
$this->mediaDirectory = $filesystem->getDirectoryWrite(DirectoryList::MEDIA);
5665
}
5766

@@ -70,12 +79,12 @@ public function afterInitialize(
7079
) {
7180

7281
$configurations = $this->getConfigurations();
73-
foreach ($configurations as $variationId => $simpleProductData) {
82+
foreach ($configurations as $simpleProductData) {
7483
if (!isset($simpleProductData['media_gallery']['images'])) {
7584
continue;
7685
}
7786

78-
foreach ($simpleProductData['media_gallery']['images'] as $imageId => $image) {
87+
foreach ($simpleProductData['media_gallery']['images'] as $image) {
7988
$file = $this->getFilenameFromTmp($image['file']);
8089
if ($this->fileStorageDb->checkDbUsage()) {
8190
$filename = $this->mediaDirectory->getAbsolutePath($this->mediaConfig->getTmpMediaShortUrl($file));
@@ -96,22 +105,22 @@ public function afterInitialize(
96105
* @param string $file
97106
* @return string
98107
*/
99-
protected function getFilenameFromTmp($file)
108+
private function getFilenameFromTmp($file)
100109
{
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;
102111
}
103112

104113
/**
105114
* Get configurations from request
106115
*
107116
* @return array
108117
*/
109-
protected function getConfigurations()
118+
private function getConfigurations()
110119
{
111120
$result = [];
112121
$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);
115124

116125
foreach ($configurableMatrix as $item) {
117126
if (empty($item['was_changed']) && empty($item['newProduct'])) {
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6-
namespace Magento\ConfigurableProduct\Test\Unit\Controller\Adminhtml\Product\Initialization\Helper\Plugin;
6+
namespace Magento\ConfigurableProduct\Test\Unit\Plugin\Product\Initialization;
77

88
use Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper as ProductInitializationHelper;
99
use Magento\Catalog\Model\Product;
1010
use Magento\Catalog\Model\Product\Media\Config as MediaConfig;
11-
use Magento\ConfigurableProduct\Controller\Adminhtml\Product\Initialization\Helper\Plugin\CleanConfigurationTmpImages;
11+
use Magento\ConfigurableProduct\Plugin\Product\Initialization\CleanConfigurationTmpImages;
1212
use Magento\Framework\App\RequestInterface;
1313
use Magento\Framework\Filesystem;
1414
use Magento\Framework\Filesystem\Directory\Write;
@@ -18,6 +18,7 @@
1818
/**
1919
* Class CleanConfigurationTmpImagesTest
2020
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
21+
* @SuppressWarnings(PHPCS.Magento2.Files.LineLength.MaxExceeded)
2122
* @package Magento\ConfigurableProduct\Test\Unit\Controller\Adminhtml\Product\Initialization\Helper\Plugin
2223
*/
2324
class CleanConfigurationTmpImagesTest extends \PHPUnit\Framework\TestCase

0 commit comments

Comments
 (0)