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\Controller\Adminhtml\Product\Action\Attribute;
use Magento\Framework\App\Action\HttpGetActionInterface;
use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface;
use Magento\Catalog\Controller\Adminhtml\Product\Action\Attribute as AttributeAction;
use Magento\Framework\App\ObjectManager;
/**
* Class Validate
*/
class Validate extends AttributeAction implements HttpGetActionInterface, HttpPostActionInterface
{
/**
* @var \Magento\Framework\Controller\Result\JsonFactory
*/
protected $resultJsonFactory;
/**
* @var \Magento\Framework\View\LayoutFactory
*/
protected $layoutFactory;
/**
* @var \Magento\Eav\Model\Config
*/
private $eavConfig;
/**
* @param \Magento\Backend\App\Action\Context $context
* @param \Magento\Catalog\Helper\Product\Edit\Action\Attribute $attributeHelper
* @param \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory
* @param \Magento\Framework\View\LayoutFactory $layoutFactory
* @param \Magento\Eav\Model\Config $eavConfig
*/
public function __construct(
\Magento\Backend\App\Action\Context $context,
\Magento\Catalog\Helper\Product\Edit\Action\Attribute $attributeHelper,
\Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory,
\Magento\Framework\View\LayoutFactory $layoutFactory,
\Magento\Eav\Model\Config $eavConfig = null
) {
parent::__construct($context, $attributeHelper);
$this->resultJsonFactory = $resultJsonFactory;
$this->layoutFactory = $layoutFactory;
$this->eavConfig = $eavConfig ?: ObjectManager::getInstance()
->get(\Magento\Eav\Model\Config::class);
}
/**
* Attributes validation action
*
* @return \Magento\Framework\Controller\ResultInterface
*/
public function execute()
{
$response = $this->_objectManager->create(\Magento\Framework\DataObject::class);
$response->setError(false);
$attributesData = $this->getRequest()->getParam('attributes', []);
$data = $this->_objectManager->create(\Magento\Catalog\Model\Product::class);
try {
if ($attributesData) {
foreach ($attributesData as $attributeCode => $value) {
$attribute = $this->eavConfig->getAttribute('catalog_product', $attributeCode);
if (!$attribute->getAttributeId()) {
unset($attributesData[$attributeCode]);
continue;
}
$data->setData($attributeCode, $value);
$attribute->getBackend()->validate($data);
}
}
} catch (\Magento\Eav\Model\Entity\Attribute\Exception $e) {
$response->setError(true);
$response->setAttribute($e->getAttributeCode());
$response->setMessage($e->getMessage());
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$response->setError(true);
$response->setMessage($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addExceptionMessage(
$e,
__('Something went wrong while updating the product(s) attributes.')
);
$layout = $this->layoutFactory->create();
$layout->initMessages();
$response->setError(true);
$response->setHtmlMessage($layout->getMessagesBlock()->getGroupedHtml());
}
return $this->resultJsonFactory->create()->setJsonData($response->toJson());
}
}
?>
Did this file decode correctly?
Original Code
<?php
/**
* Copyright Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Catalog\Controller\Adminhtml\Product\Action\Attribute;
use Magento\Framework\App\Action\HttpGetActionInterface;
use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface;
use Magento\Catalog\Controller\Adminhtml\Product\Action\Attribute as AttributeAction;
use Magento\Framework\App\ObjectManager;
/**
* Class Validate
*/
class Validate extends AttributeAction implements HttpGetActionInterface, HttpPostActionInterface
{
/**
* @var \Magento\Framework\Controller\Result\JsonFactory
*/
protected $resultJsonFactory;
/**
* @var \Magento\Framework\View\LayoutFactory
*/
protected $layoutFactory;
/**
* @var \Magento\Eav\Model\Config
*/
private $eavConfig;
/**
* @param \Magento\Backend\App\Action\Context $context
* @param \Magento\Catalog\Helper\Product\Edit\Action\Attribute $attributeHelper
* @param \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory
* @param \Magento\Framework\View\LayoutFactory $layoutFactory
* @param \Magento\Eav\Model\Config $eavConfig
*/
public function __construct(
\Magento\Backend\App\Action\Context $context,
\Magento\Catalog\Helper\Product\Edit\Action\Attribute $attributeHelper,
\Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory,
\Magento\Framework\View\LayoutFactory $layoutFactory,
\Magento\Eav\Model\Config $eavConfig = null
) {
parent::__construct($context, $attributeHelper);
$this->resultJsonFactory = $resultJsonFactory;
$this->layoutFactory = $layoutFactory;
$this->eavConfig = $eavConfig ?: ObjectManager::getInstance()
->get(\Magento\Eav\Model\Config::class);
}
/**
* Attributes validation action
*
* @return \Magento\Framework\Controller\ResultInterface
*/
public function execute()
{
$response = $this->_objectManager->create(\Magento\Framework\DataObject::class);
$response->setError(false);
$attributesData = $this->getRequest()->getParam('attributes', []);
$data = $this->_objectManager->create(\Magento\Catalog\Model\Product::class);
try {
if ($attributesData) {
foreach ($attributesData as $attributeCode => $value) {
$attribute = $this->eavConfig->getAttribute('catalog_product', $attributeCode);
if (!$attribute->getAttributeId()) {
unset($attributesData[$attributeCode]);
continue;
}
$data->setData($attributeCode, $value);
$attribute->getBackend()->validate($data);
}
}
} catch (\Magento\Eav\Model\Entity\Attribute\Exception $e) {
$response->setError(true);
$response->setAttribute($e->getAttributeCode());
$response->setMessage($e->getMessage());
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$response->setError(true);
$response->setMessage($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addExceptionMessage(
$e,
__('Something went wrong while updating the product(s) attributes.')
);
$layout = $this->layoutFactory->create();
$layout->initMessages();
$response->setError(true);
$response->setHtmlMessage($layout->getMessagesBlock()->getGroupedHtml());
}
return $this->resultJsonFactory->create()->setJsonData($response->toJson());
}
}
Function Calls
| None |
Stats
| MD5 | 4adf4e752eed3962dbddf848ddd2f9a2 |
| Eval Count | 0 |
| Decode Time | 97 ms |