Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /** * Copyright Magento, Inc. All rights reserved. * See COPYING.txt for license ..
Decoded Output download
<?php
/**
* Copyright Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Catalog\Ui\DataProvider\Product\Form\Modifier;
use Magento\Catalog\Api\Data\ProductAttributeInterface;
use Magento\Catalog\Model\Locator\LocatorInterface;
use Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\CollectionFactory;
use Magento\Store\Model\StoreManagerInterface;
use Magento\Framework\UrlInterface;
use Magento\Ui\Component\Form\Field;
/**
* Add "Attribute Set" to first fieldset
*
* @api
* @since 101.0.0
*/
class AttributeSet extends AbstractModifier
{
/**
* Sort order of "Attribute Set" field inside of fieldset
*/
const ATTRIBUTE_SET_FIELD_ORDER = 30;
/**
* Set collection factory
*
* @var CollectionFactory
* @since 101.0.0
*/
protected $attributeSetCollectionFactory;
/**
* @var UrlInterface
* @since 101.0.0
*/
protected $urlBuilder;
/**
* @var LocatorInterface
* @since 101.0.0
*/
protected $locator;
/**
* @param LocatorInterface $locator
* @param CollectionFactory $attributeSetCollectionFactory
* @param UrlInterface $urlBuilder
*/
public function __construct(
LocatorInterface $locator,
CollectionFactory $attributeSetCollectionFactory,
UrlInterface $urlBuilder
) {
$this->locator = $locator;
$this->attributeSetCollectionFactory = $attributeSetCollectionFactory;
$this->urlBuilder = $urlBuilder;
}
/**
* Return options for select
*
* @return array
* @since 101.0.0
*/
public function getOptions()
{
/** @var \Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\Collection $collection */
$collection = $this->attributeSetCollectionFactory->create();
$collection->setEntityTypeFilter($this->locator->getProduct()->getResource()->getTypeId())
->addFieldToSelect('attribute_set_id', 'value')
->addFieldToSelect('attribute_set_name', 'label')
->setOrder(
'attribute_set_name',
\Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\Collection::SORT_ORDER_ASC
);
$collectionData = $collection->getData() ?? [];
return $collectionData;
}
/**
* @inheritdoc
* @since 101.0.0
*/
public function modifyMeta(array $meta)
{
if ($name = $this->getGeneralPanelName($meta)) {
$meta[$name]['children']['attribute_set_id']['arguments']['data']['config'] = [
'component' => 'Magento_Catalog/js/components/attribute-set-select',
'disableLabel' => true,
'filterOptions' => true,
'elementTmpl' => 'ui/grid/filters/elements/ui-select',
'formElement' => 'select',
'componentType' => Field::NAME,
'options' => $this->getOptions(),
'visible' => 1,
'required' => 1,
'label' => __('Attribute Set'),
'source' => $name,
'dataScope' => 'attribute_set_id',
'filterUrl' => $this->urlBuilder->getUrl('catalog/product/suggestAttributeSets', ['isAjax' => 'true']),
'sortOrder' => $this->getNextAttributeSortOrder(
$meta,
[ProductAttributeInterface::CODE_STATUS],
self::ATTRIBUTE_SET_FIELD_ORDER
),
'multiple' => false,
'disabled' => $this->locator->getProduct()->isLockedAttribute('attribute_set_id'),
];
}
return $meta;
}
/**
* @inheritdoc
* @since 101.0.0
*/
public function modifyData(array $data)
{
return array_replace_recursive(
$data,
[
$this->locator->getProduct()->getId() => [
self::DATA_SOURCE_DEFAULT => [
'attribute_set_id' => $this->locator->getProduct()->getAttributeSetId()
],
]
]
);
}
}
?>
Did this file decode correctly?
Original Code
<?php
/**
* Copyright Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Catalog\Ui\DataProvider\Product\Form\Modifier;
use Magento\Catalog\Api\Data\ProductAttributeInterface;
use Magento\Catalog\Model\Locator\LocatorInterface;
use Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\CollectionFactory;
use Magento\Store\Model\StoreManagerInterface;
use Magento\Framework\UrlInterface;
use Magento\Ui\Component\Form\Field;
/**
* Add "Attribute Set" to first fieldset
*
* @api
* @since 101.0.0
*/
class AttributeSet extends AbstractModifier
{
/**
* Sort order of "Attribute Set" field inside of fieldset
*/
const ATTRIBUTE_SET_FIELD_ORDER = 30;
/**
* Set collection factory
*
* @var CollectionFactory
* @since 101.0.0
*/
protected $attributeSetCollectionFactory;
/**
* @var UrlInterface
* @since 101.0.0
*/
protected $urlBuilder;
/**
* @var LocatorInterface
* @since 101.0.0
*/
protected $locator;
/**
* @param LocatorInterface $locator
* @param CollectionFactory $attributeSetCollectionFactory
* @param UrlInterface $urlBuilder
*/
public function __construct(
LocatorInterface $locator,
CollectionFactory $attributeSetCollectionFactory,
UrlInterface $urlBuilder
) {
$this->locator = $locator;
$this->attributeSetCollectionFactory = $attributeSetCollectionFactory;
$this->urlBuilder = $urlBuilder;
}
/**
* Return options for select
*
* @return array
* @since 101.0.0
*/
public function getOptions()
{
/** @var \Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\Collection $collection */
$collection = $this->attributeSetCollectionFactory->create();
$collection->setEntityTypeFilter($this->locator->getProduct()->getResource()->getTypeId())
->addFieldToSelect('attribute_set_id', 'value')
->addFieldToSelect('attribute_set_name', 'label')
->setOrder(
'attribute_set_name',
\Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\Collection::SORT_ORDER_ASC
);
$collectionData = $collection->getData() ?? [];
return $collectionData;
}
/**
* @inheritdoc
* @since 101.0.0
*/
public function modifyMeta(array $meta)
{
if ($name = $this->getGeneralPanelName($meta)) {
$meta[$name]['children']['attribute_set_id']['arguments']['data']['config'] = [
'component' => 'Magento_Catalog/js/components/attribute-set-select',
'disableLabel' => true,
'filterOptions' => true,
'elementTmpl' => 'ui/grid/filters/elements/ui-select',
'formElement' => 'select',
'componentType' => Field::NAME,
'options' => $this->getOptions(),
'visible' => 1,
'required' => 1,
'label' => __('Attribute Set'),
'source' => $name,
'dataScope' => 'attribute_set_id',
'filterUrl' => $this->urlBuilder->getUrl('catalog/product/suggestAttributeSets', ['isAjax' => 'true']),
'sortOrder' => $this->getNextAttributeSortOrder(
$meta,
[ProductAttributeInterface::CODE_STATUS],
self::ATTRIBUTE_SET_FIELD_ORDER
),
'multiple' => false,
'disabled' => $this->locator->getProduct()->isLockedAttribute('attribute_set_id'),
];
}
return $meta;
}
/**
* @inheritdoc
* @since 101.0.0
*/
public function modifyData(array $data)
{
return array_replace_recursive(
$data,
[
$this->locator->getProduct()->getId() => [
self::DATA_SOURCE_DEFAULT => [
'attribute_set_id' => $this->locator->getProduct()->getAttributeSetId()
],
]
]
);
}
}
Function Calls
| None |
Stats
| MD5 | 6a499a170bf951b78ef5cf66f9177c0e |
| Eval Count | 0 |
| Decode Time | 97 ms |