Index.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Backup\Controller\Adminhtml;
  7. use Magento\Backend\App\Action;
  8. use Magento\Backup\Helper\Data as Helper;
  9. use Magento\Framework\App\ObjectManager;
  10. /**
  11. * Backup admin controller
  12. *
  13. * @author Magento Core Team <core@magentocommerce.com>
  14. * @api
  15. * @since 100.0.2
  16. * @SuppressWarnings(PHPMD.AllPurposeAction)
  17. */
  18. abstract class Index extends Action
  19. {
  20. /**
  21. * Authorization level of a basic admin session
  22. *
  23. * @see _isAllowed()
  24. */
  25. const ADMIN_RESOURCE = 'Magento_Backup::backup';
  26. /**
  27. * Core registry
  28. *
  29. * @var \Magento\Framework\Registry
  30. */
  31. protected $_coreRegistry = null;
  32. /**
  33. * @var \Magento\Framework\Backup\Factory
  34. */
  35. protected $_backupFactory;
  36. /**
  37. * @var \Magento\Framework\App\Response\Http\FileFactory
  38. */
  39. protected $_fileFactory;
  40. /**
  41. * @var \Magento\Backup\Model\BackupFactory
  42. */
  43. protected $_backupModelFactory;
  44. /**
  45. * @var \Magento\Framework\App\MaintenanceMode
  46. */
  47. protected $maintenanceMode;
  48. /**
  49. * @var Helper
  50. */
  51. private $helper;
  52. /**
  53. * @param \Magento\Backend\App\Action\Context $context
  54. * @param \Magento\Framework\Registry $coreRegistry
  55. * @param \Magento\Framework\Backup\Factory $backupFactory
  56. * @param \Magento\Framework\App\Response\Http\FileFactory $fileFactory
  57. * @param \Magento\Backup\Model\BackupFactory $backupModelFactory
  58. * @param \Magento\Framework\App\MaintenanceMode $maintenanceMode
  59. * @param Helper|null $helper
  60. */
  61. public function __construct(
  62. \Magento\Backend\App\Action\Context $context,
  63. \Magento\Framework\Registry $coreRegistry,
  64. \Magento\Framework\Backup\Factory $backupFactory,
  65. \Magento\Framework\App\Response\Http\FileFactory $fileFactory,
  66. \Magento\Backup\Model\BackupFactory $backupModelFactory,
  67. \Magento\Framework\App\MaintenanceMode $maintenanceMode,
  68. ?Helper $helper = null
  69. ) {
  70. $this->_coreRegistry = $coreRegistry;
  71. $this->_backupFactory = $backupFactory;
  72. $this->_fileFactory = $fileFactory;
  73. $this->_backupModelFactory = $backupModelFactory;
  74. $this->maintenanceMode = $maintenanceMode;
  75. $this->helper = $helper ?? ObjectManager::getInstance()->get(Helper::class);
  76. parent::__construct($context);
  77. }
  78. /**
  79. * @inheritDoc
  80. * @since 100.2.6
  81. */
  82. public function dispatch(\Magento\Framework\App\RequestInterface $request)
  83. {
  84. if (!$this->helper->isEnabled()) {
  85. return $this->_redirect('*/*/disabled');
  86. }
  87. return parent::dispatch($request);
  88. }
  89. }