![]() 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-ui/Controller/Adminhtml/Export/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Ui\Controller\Adminhtml\Export; use Magento\Backend\App\Action; use Magento\Backend\App\Action\Context; use Magento\Ui\Model\Export\ConvertToXml; use Magento\Framework\App\Response\Http\FileFactory; use Magento\Framework\App\ObjectManager; use Magento\Ui\Component\MassAction\Filter; use Psr\Log\LoggerInterface; /** * Class Render */ class GridToXml extends Action { /** * @var ConvertToXml */ protected $converter; /** * @var FileFactory */ protected $fileFactory; /** * @var Filter */ private $filter; /** * @var LoggerInterface */ private $logger; /** * @param Context $context * @param ConvertToXml $converter * @param FileFactory $fileFactory * @param Filter|null $filter * @param LoggerInterface|null $logger */ public function __construct( Context $context, ConvertToXml $converter, FileFactory $fileFactory, Filter $filter = null, LoggerInterface $logger = null ) { parent::__construct($context); $this->converter = $converter; $this->fileFactory = $fileFactory; $this->filter = $filter ?: ObjectManager::getInstance()->get(Filter::class); $this->logger = $logger ?: ObjectManager::getInstance()->get(LoggerInterface::class); } /** * Export data provider to XML * * @throws \Magento\Framework\Exception\LocalizedException * @return \Magento\Framework\App\ResponseInterface */ public function execute() { return $this->fileFactory->create('export.xml', $this->converter->getXmlFile(), 'var'); } /** * Checking if the user has access to requested component. * * @inheritDoc */ protected function _isAllowed() { if ($this->_request->getParam('namespace')) { try { $component = $this->filter->getComponent(); $dataProviderConfig = $component->getContext() ->getDataProvider() ->getConfigData(); if (isset($dataProviderConfig['aclResource'])) { return $this->_authorization->isAllowed( $dataProviderConfig['aclResource'] ); } } catch (\Throwable $exception) { $this->logger->critical($exception); return false; } } return true; } }