Spamworldpro Mini Shell
Spamworldpro


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/old/app/code/Soon/AdminLogger/Controller/Adminhtml/Logs/DlPostData.php
<?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;
    }
}

Spamworldpro Mini