22 if (!$this->isRequestAllowed()) {
26 $response = new \Magento\Framework\DataObject();
31 $helper = $this->_objectManager->get(\
Magento\Backup\Helper\Data::class);
43 $backupManager = $this->_backupFactory->create(
45 )->setBackupExtension(
53 $backupManager->setName($this->
getRequest()->getParam(
'backup_name'));
55 $this->_coreRegistry->register(
'backup_manager', $backupManager);
57 if ($this->
getRequest()->getParam(
'maintenance_mode')) {
58 if (!$this->maintenanceMode->set(
true)) {
61 'You need more permissions to activate maintenance mode right now.' 63 'To create the backup, please deselect ' 64 .
'"Put store into maintenance mode" or update your permissions.' 67 $backupManager->setErrorMessage(
68 __(
"Something went wrong while putting your store into maintenance mode.")
74 if (
$type != \
Magento\Framework\Backup\Factory::TYPE_DB) {
77 $backupManager->setRootDir(
$filesystem->getDirectoryRead(DirectoryList::ROOT)->getAbsolutePath())
78 ->addIgnorePaths(
$helper->getBackupIgnorePaths());
81 $successMessage =
$helper->getCreateSuccessMessageByType(
$type);
83 $backupManager->create();
85 $this->messageManager->addSuccessMessage($successMessage);
88 }
catch (\
Magento\Framework\Backup\Exception\NotEnoughFreeSpace $e) {
89 $errorMessage =
__(
'You need more free space to create a backup.');
90 }
catch (\
Magento\Framework\Backup\Exception\NotEnoughPermissions $e) {
91 $this->_objectManager->get(\Psr\Log\LoggerInterface::class)->info($e->getMessage());
92 $errorMessage =
__(
'You need more permissions to create a backup.');
93 }
catch (\Exception $e) {
94 $this->_objectManager->get(\Psr\Log\LoggerInterface::class)->info($e->getMessage());
95 $errorMessage =
__(
'We can\'t create the backup right now.');
98 if (!empty($errorMessage)) {
100 $backupManager->setErrorMessage($errorMessage);
103 if ($this->
getRequest()->getParam(
'maintenance_mode')) {
104 $this->maintenanceMode->set(
false);
115 private function isRequestAllowed()
const TYPE_SNAPSHOT_WITHOUT_MEDIA
_redirect($path, $arguments=[])
getUrl($route='', $params=[])