![]() 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/app/code/Soon/AdminLogger/Controller/Adminhtml/Logs/ |
<?php /** * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * @author Hervé Guétin <[email protected]> <@herveguetin> * @copyright Copyright (c) 2018 Kaliop Digital Commerce (http://digitalcommerce.kaliop.com) */ namespace Soon\AdminLogger\Controller\Adminhtml\Logs; class DlPostData extends \Magento\Backend\App\Action { /** * @var \Soon\AdminLogger\Model\LogFactory */ private $logFactory; /** * @var \Soon\AdminLogger\Model\ResourceModel\Log */ private $logResource; /** * @var \Magento\Framework\App\Response\Http\FileFactory */ private $fileFactory; public function __construct( \Magento\Backend\App\Action\Context $context, \Soon\AdminLogger\Model\LogFactory $logFactory, \Soon\AdminLogger\Model\ResourceModel\Log $logResource, \Magento\Framework\App\Response\Http\FileFactory $fileFactory ) { \Magento\Backend\App\Action::__construct($context); $this->logFactory = $logFactory; $this->logResource = $logResource; $this->fileFactory = $fileFactory; } /** * Execute action based on request and return result * * Note: Request will be added as operation argument in future * * @return \Magento\Framework\Controller\ResultInterface|\Magento\Framework\App\ResponseInterface * @throws \Exception */ public function execute() { /** @var \Soon\AdminLogger\Model\Log $log */ $log = $this->logFactory->create(); $this->logResource->load($log, $this->getRequest()->getParam('log_id')); $fileName = sprintf('%s_%s.txt', $log->getData('full_action_name'), $log->getData('created_at')); $fileContent = \print_r(json_decode($log->getData('post_data')), true); $this->_response->setHttpResponseCode(200) ->setHeader('Pragma', 'public', true) ->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true) ->setHeader('Content-type', 'application/octet-stream', true) ->setHeader('Content-Length', strlen($fileContent), true) ->setHeader('Content-Disposition', 'attachment; filename="' . $fileName . '"', true) ->setHeader('Last-Modified', date('r'), true) ->setBody($fileContent); return $this->_response; } }