![]() 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-catalog/Ui/DataProvider/Product/Form/Modifier/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Catalog\Ui\DataProvider\Product\Form\Modifier; use Magento\Catalog\Model\Locator\LocatorInterface; use Magento\Framework\UrlInterface; /** * Class SystemDataProvider * * @api * @since 101.0.0 */ class System extends AbstractModifier { const KEY_SUBMIT_URL = 'submit_url'; const KEY_VALIDATE_URL = 'validate_url'; const KEY_RELOAD_URL = 'reloadUrl'; /** * @var LocatorInterface * @since 101.0.0 */ protected $locator; /** * @var UrlInterface * @since 101.0.0 */ protected $urlBuilder; /** * @var array * @since 101.0.0 */ protected $productUrls = [ self::KEY_SUBMIT_URL => 'catalog/product/save', self::KEY_VALIDATE_URL => 'catalog/product/validate', self::KEY_RELOAD_URL => 'catalog/product/reload' ]; /** * @param LocatorInterface $locator * @param UrlInterface $urlBuilder * @param array $productUrls */ public function __construct( LocatorInterface $locator, UrlInterface $urlBuilder, array $productUrls = [] ) { $this->locator = $locator; $this->urlBuilder = $urlBuilder; $this->productUrls = array_replace_recursive($this->productUrls, $productUrls); } /** * {@inheritdoc} * @since 101.0.0 */ public function modifyData(array $data) { $model = $this->locator->getProduct(); $attributeSetId = $model->getAttributeSetId(); $parameters = [ 'id' => $model->getId(), 'type' => $model->getTypeId(), 'store' => $model->getStoreId(), ]; $actionParameters = array_merge($parameters, ['set' => $attributeSetId]); $reloadParameters = array_merge( $parameters, [ 'popup' => 1, 'componentJson' => 1, 'prev_set_id' => $attributeSetId, 'type' => $this->locator->getProduct()->getTypeId() ] ); $submitUrl = $this->urlBuilder->getUrl($this->productUrls[self::KEY_SUBMIT_URL], $actionParameters); $validateUrl = $this->urlBuilder->getUrl($this->productUrls[self::KEY_VALIDATE_URL], $actionParameters); $reloadUrl = $this->urlBuilder->getUrl($this->productUrls[self::KEY_RELOAD_URL], $reloadParameters); return array_replace_recursive( $data, [ 'config' => [ self::KEY_SUBMIT_URL => $submitUrl, self::KEY_VALIDATE_URL => $validateUrl, self::KEY_RELOAD_URL => $reloadUrl, ] ] ); } /** * {@inheritdoc} * @since 101.0.0 */ public function modifyMeta(array $meta) { return $meta; } }