![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-theme/Setup/Patch/Data/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Theme\Setup\Patch\Data; use Magento\Framework\DB\DataConverter\SerializedToJson; use Magento\Framework\DB\FieldDataConverterFactory; use Magento\Framework\DB\Select\QueryModifierFactory; use Magento\Framework\App\ResourceConnection; use Magento\Framework\Setup\Patch\DataPatchInterface; use Magento\Framework\Setup\Patch\PatchVersionInterface; /** * Class ConvertSerializedData * @package Magento\Theme\Setup\Patch */ class ConvertSerializedData implements DataPatchInterface, PatchVersionInterface { /** * @var \Magento\Framework\Setup\ModuleDataSetupInterface */ private $moduleDataSetup; /** * @var FieldDataConverterFactory */ private $fieldDataConverterFactory; /** * @var QueryModifierFactory */ private $queryModifierFactory; /** * ConvertSerializedData constructor. * @param \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup * @param FieldDataConverterFactory $fieldDataConverterFactory * @param QueryModifierFactory $queryModifierFactory */ public function __construct( \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup, FieldDataConverterFactory $fieldDataConverterFactory, QueryModifierFactory $queryModifierFactory ) { $this->moduleDataSetup = $moduleDataSetup; $this->fieldDataConverterFactory = $fieldDataConverterFactory; $this->queryModifierFactory = $queryModifierFactory; } /** * {@inheritdoc} */ public function apply() { $this->moduleDataSetup->getConnection()->startSetup(); $this->convertSerializedData(); $this->moduleDataSetup->getConnection()->endSetup(); } /** * {@inheritdoc} */ public static function getDependencies() { return [ RegisterThemes::class ]; } /** * {@inheritdoc} */ public static function getVersion() { return '2.0.2'; } /** * {@inheritdoc} */ public function getAliases() { return []; } /** * Convert native php serialized data to json. */ private function convertSerializedData() { $fieldDataConverter = $this->fieldDataConverterFactory->create(SerializedToJson::class); $queryModifier = $this->queryModifierFactory->create( 'in', [ 'values' => [ 'path' => [ 'design/theme/ua_regexp', ] ] ] ); $fieldDataConverter->convert( $this->moduleDataSetup->getConnection(), $this->moduleDataSetup->getTable('core_config_data'), 'config_id', 'value', $queryModifier ); } }