CleanMedia.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\Backend\Controller\Adminhtml\Cache;
  8. use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface;
  9. use Magento\Framework\Exception\LocalizedException;
  10. use Magento\Framework\Controller\ResultFactory;
  11. class CleanMedia extends \Magento\Backend\Controller\Adminhtml\Cache implements HttpGetActionInterface
  12. {
  13. /**
  14. * Authorization level of a basic admin session
  15. *
  16. * @see _isAllowed()
  17. */
  18. const ADMIN_RESOURCE = 'Magento_Backend::flush_js_css';
  19. /**
  20. * Clean JS/css files cache
  21. *
  22. * @return \Magento\Backend\Model\View\Result\Redirect
  23. */
  24. public function execute()
  25. {
  26. try {
  27. $this->_objectManager->get(\Magento\Framework\View\Asset\MergeService::class)->cleanMergedJsCss();
  28. $this->_eventManager->dispatch('clean_media_cache_after');
  29. $this->messageManager->addSuccessMessage(__('The JavaScript/CSS cache has been cleaned.'));
  30. } catch (LocalizedException $e) {
  31. $this->messageManager->addErrorMessage($e->getMessage());
  32. } catch (\Exception $e) {
  33. $this->messageManager
  34. ->addExceptionMessage($e, __('An error occurred while clearing the JavaScript/CSS cache.'));
  35. }
  36. /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
  37. $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
  38. return $resultRedirect->setPath('adminhtml/*');
  39. }
  40. }