![]() 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-theme/Controller/Adminhtml/System/Design/Theme/ |
<?php /** * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Theme\Controller\Adminhtml\System\Design\Theme; use Magento\Framework\App\Action\HttpGetActionInterface; /** * Class UploadJs * @deprecated 101.0.0 */ class UploadJs extends \Magento\Theme\Controller\Adminhtml\System\Design\Theme implements HttpGetActionInterface { /** * Upload js file * * @return void */ public function execute() { $themeId = $this->getRequest()->getParam('id'); /** @var $serviceModel \Magento\Theme\Model\Uploader\Service */ $serviceModel = $this->_objectManager->get(\Magento\Theme\Model\Uploader\Service::class); /** @var $themeFactory \Magento\Framework\View\Design\Theme\FlyweightFactory */ $themeFactory = $this->_objectManager->get(\Magento\Framework\View\Design\Theme\FlyweightFactory::class); /** @var $jsService \Magento\Framework\View\Design\Theme\Customization\File\Js */ $jsService = $this->_objectManager->get(\Magento\Framework\View\Design\Theme\Customization\File\Js::class); try { $theme = $themeFactory->create($themeId); if (!$theme) { throw new \Magento\Framework\Exception\LocalizedException( __('We cannot find a theme with id "%1".', $themeId) ); } $jsFileData = $serviceModel->uploadJsFile('js_files_uploader'); $jsFile = $jsService->create(); $jsFile->setTheme($theme); $jsFile->setFileName($jsFileData['filename']); $jsFile->setData('content', $jsFileData['content']); $jsFile->save(); /** @var $customization \Magento\Framework\View\Design\Theme\Customization */ $customization = $this->_objectManager->create( \Magento\Framework\View\Design\Theme\CustomizationInterface::class, ['theme' => $theme] ); $customJsFiles = $customization->getFilesByType( \Magento\Framework\View\Design\Theme\Customization\File\Js::TYPE ); $result = ['error' => false, 'files' => $customization->generateFileInfo($customJsFiles)]; } catch (\Magento\Framework\Exception\LocalizedException $e) { $result = ['error' => true, 'message' => $e->getMessage()]; } catch (\Exception $e) { $result = ['error' => true, 'message' => __('We can\'t upload the JS file right now.')]; $this->_objectManager->get(\Psr\Log\LoggerInterface::class)->critical($e); } $this->getResponse()->representJson( $this->_objectManager->get(\Magento\Framework\Json\Helper\Data::class)->jsonEncode($result) ); } }