![]() 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-cms/Setup/Patch/Data/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Cms\Setup\Patch\Data; use Magento\Cms\Setup\ContentConverter; use Magento\Framework\App\ResourceConnection; use Magento\Framework\DB\Select\QueryModifierFactory; use Magento\Framework\Setup\ModuleDataSetupInterface; use Magento\Framework\Setup\Patch\DataPatchInterface; use Magento\Framework\Setup\Patch\PatchVersionInterface; use Magento\Framework\DB\AggregatedFieldDataConverter; use Magento\Framework\DB\FieldToConvert; use Magento\Framework\EntityManager\MetadataPool; use Magento\Widget\Setup\LayoutUpdateConverter; use Magento\Cms\Api\Data\BlockInterface; use Magento\Cms\Api\Data\PageInterface; /** * Class ConvertWidgetConditionsToJson * @package Magento\Cms\Setup\Patch */ class ConvertWidgetConditionsToJson implements DataPatchInterface, PatchVersionInterface { /** * @var ModuleDataSetupInterface */ private $moduleDataSetup; /** * @var QueryModifierFactory */ private $queryModifierFactory; /** * @var MetadataPool */ private $metadataPool; /** * @var AggregatedFieldDataConverter */ private $aggregatedFieldDataConverter; /** * ConvertWidgetConditionsToJson constructor. * @param ModuleDataSetupInterface $moduleDataSetup * @param QueryModifierFactory $queryModifierFactory * @param MetadataPool $metadataPool * @param AggregatedFieldDataConverter $aggregatedFieldDataConverter */ public function __construct( ModuleDataSetupInterface $moduleDataSetup, QueryModifierFactory $queryModifierFactory, MetadataPool $metadataPool, AggregatedFieldDataConverter $aggregatedFieldDataConverter ) { $this->moduleDataSetup = $moduleDataSetup; $this->queryModifierFactory = $queryModifierFactory; $this->metadataPool = $metadataPool; $this->aggregatedFieldDataConverter = $aggregatedFieldDataConverter; } /** * {@inheritdoc} */ public function apply() { $queryModifier = $this->queryModifierFactory->create( 'like', [ 'values' => [ 'content' => '%conditions_encoded%' ] ] ); $layoutUpdateXmlFieldQueryModifier = $this->queryModifierFactory->create( 'like', [ 'values' => [ 'layout_update_xml' => '%conditions_encoded%' ] ] ); $customLayoutUpdateXmlFieldQueryModifier = $this->queryModifierFactory->create( 'like', [ 'values' => [ 'custom_layout_update_xml' => '%conditions_encoded%' ] ] ); $blockMetadata = $this->metadataPool->getMetadata(BlockInterface::class); $pageMetadata = $this->metadataPool->getMetadata(PageInterface::class); $this->aggregatedFieldDataConverter->convert( [ new FieldToConvert( ContentConverter::class, $this->moduleDataSetup->getTable('cms_block'), $blockMetadata->getIdentifierField(), 'content', $queryModifier ), new FieldToConvert( ContentConverter::class, $this->moduleDataSetup->getTable('cms_page'), $pageMetadata->getIdentifierField(), 'content', $queryModifier ), new FieldToConvert( LayoutUpdateConverter::class, $this->moduleDataSetup->getTable('cms_page'), $pageMetadata->getIdentifierField(), 'layout_update_xml', $layoutUpdateXmlFieldQueryModifier ), new FieldToConvert( LayoutUpdateConverter::class, $this->moduleDataSetup->getTable('cms_page'), $pageMetadata->getIdentifierField(), 'custom_layout_update_xml', $customLayoutUpdateXmlFieldQueryModifier ), ], $this->moduleDataSetup->getConnection() ); } /** * {@inheritdoc} */ public static function getDependencies() { return [ UpdatePrivacyPolicyPage::class, ]; } /** * {@inheritdoc} */ public static function getVersion() { return '2.0.2'; } /** * {@inheritdoc} */ public function getAliases() { return []; } }