1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Widget\Helper;
- use Magento\Framework\Data\Wysiwyg\Normalizer;
- use Magento\Framework\App\ObjectManager;
- use Magento\Framework\Serialize\Serializer\Json;
- /**
- * Widget Conditions helper.
- */
- class Conditions
- {
- /**
- * @var Json
- */
- private $serializer;
- /**
- * @var Normalizer
- */
- private $normalizer;
- /**
- * @param Json $serializer
- * @param Normalizer $normalizer
- */
- public function __construct(
- Json $serializer = null,
- Normalizer $normalizer = null
- ) {
- $this->serializer = $serializer ?: ObjectManager::getInstance()->get(Json::class);
- $this->normalizer = $normalizer ?: ObjectManager::getInstance()->get(Normalizer::class);
- }
- /**
- * Encode widget conditions to be used with WYSIWIG.
- *
- * @param array $value
- * @return string
- */
- public function encode(array $value)
- {
- return $this->normalizer->replaceReservedCharacters($this->serializer->serialize($value));
- }
- /**
- * Decode previously encoded widget conditions.
- *
- * @param string $value
- * @return array
- */
- public function decode($value)
- {
- return $this->serializer->unserialize(
- $this->normalizer->restoreReservedCharacters($value)
- );
- }
- }
|