| Current Path : /home/rtorresani/www/vendor/magento/module-catalog/Controller/Adminhtml/Product/ |
| Current File : //home/rtorresani/www/vendor/magento/module-catalog/Controller/Adminhtml/Product/Wysiwyg.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Catalog\Controller\Adminhtml\Product;
use Magento\Framework\App\Action\HttpPostActionInterface;
use Magento\Framework\App\ObjectManager;
/**
* Class Wysiwyg
*/
class Wysiwyg extends \Magento\Catalog\Controller\Adminhtml\Product implements HttpPostActionInterface
{
/**
* @var \Magento\Framework\Controller\Result\RawFactory
*/
protected $resultRawFactory;
/**
* @var \Magento\Framework\View\LayoutFactory
*/
protected $layoutFactory;
/**
* @var \Magento\Store\Model\StoreManagerInterface
*/
private $storeManager;
/**
* @param \Magento\Backend\App\Action\Context $context
* @param \Magento\Catalog\Controller\Adminhtml\Product\Builder $productBuilder
* @param \Magento\Framework\Controller\Result\RawFactory $resultRawFactory
* @param \Magento\Framework\View\LayoutFactory $layoutFactory
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
*/
public function __construct(
\Magento\Backend\App\Action\Context $context,
\Magento\Catalog\Controller\Adminhtml\Product\Builder $productBuilder,
\Magento\Framework\Controller\Result\RawFactory $resultRawFactory,
\Magento\Framework\View\LayoutFactory $layoutFactory,
\Magento\Store\Model\StoreManagerInterface $storeManager = null
) {
parent::__construct($context, $productBuilder);
$this->resultRawFactory = $resultRawFactory;
$this->layoutFactory = $layoutFactory;
$this->storeManager = $storeManager ?: ObjectManager::getInstance()
->get(\Magento\Store\Model\StoreManagerInterface::class);
}
/**
* WYSIWYG editor action for ajax request
*
* @return \Magento\Framework\Controller\Result\Raw
*/
public function execute()
{
// @codingStandardsIgnoreStart
$elementId = $this->getRequest()->getParam('element_id', md5(microtime()));
// @codingStandardsIgnoreEnd
$storeId = $this->getRequest()->getParam('store_id', 0);
$storeMediaUrl = $this->storeManager->getStore($storeId)
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
$content = $this->layoutFactory->create()
->createBlock(
\Magento\Catalog\Block\Adminhtml\Helper\Form\Wysiwyg\Content::class,
'',
[
'data' => [
'editor_element_id' => $elementId,
'store_id' => $storeId,
'store_media_url' => $storeMediaUrl,
]
]
);
/** @var \Magento\Framework\Controller\Result\Raw $resultRaw */
$resultRaw = $this->resultRawFactory->create();
return $resultRaw->setContents($content->toHtml());
}
}