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/CsBlock/Controller/Adminhtml/Block/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/app/code/Soon/CsBlock/Controller/Adminhtml/Block/Save.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) 2017 Agence Soon (http://www.agence-soon.fr)
 */

namespace Soon\CsBlock\Controller\Adminhtml\Block;


use Magento\Backend\App\Action;
use Magento\Backend\App\Action\Context;
use Magento\Framework\App\ResponseInterface;
use Magento\Framework\Exception\LocalizedException;
use Soon\CsBlock\Model\Block;
use Soon\CsBlock\Model\BlockFactory;

class Save extends Action
{
    /**
     * @var BlockFactory
     */
    private $blockFactory;
    /**
     * @var Block
     */
    private $block;
    /**
     * @var array
     */
    private $postData;

    public function __construct(
        Context $context,
        BlockFactory $blockFactory
    )
    {
        parent::__construct($context);
        $this->blockFactory = $blockFactory;
    }

    /**
     * Dispatch request
     *
     * @return \Magento\Framework\Controller\ResultInterface|ResponseInterface
     * @throws \Magento\Framework\Exception\NotFoundException
     */
    public function execute()
    {
        $this->postData = $this->getRequest()->getParams();
        /** @var Block $block */
        $this->block = $this->blockFactory->create();
        $this->populateBlockData();

        try {
            $this->save();
        } catch (LocalizedException $e) {
            $this->messageManager->addErrorMessage($e->getMessage());
        } catch (\RuntimeException $e) {
            $this->messageManager->addErrorMessage($e->getMessage());
        } catch (\Exception $e) {
            $this->messageManager->addExceptionMessage($e, __('Something went wrong while saving the block.'));
        }

        return $this->resultRedirectFactory->create()->setPath('*/block/grid');
    }

    private function populateBlockData()
    {
        if (isset($this->postData['block_id'])) {
            $this->block->getResource()->load($this->block, $this->postData['block_id']);
        }
        $usedData = [];
        foreach ($this->postData as $k => $v) {
            if ($k == 'block_type' || strpos($k, 'soon_csblock__') !== false) {
                $usedData[$k] = $v;
            }
        }
        $this->block->setData('content', serialize($usedData));
        $this->block->setData('title', $this->postData['title']);
    }

    private function save()
    {
        $this->block->getResource()->save($this->block);

        $this->messageManager->addSuccessMessage(__('Block was successfully saved'));
        $this->_getSession()->setFormData(false);
    }
}

Spamworldpro Mini