Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
MassDelete.php
Go to the documentation of this file.
1 <?php
8 
10 {
16  public function execute()
17  {
18  $backupIds = $this->getRequest()->getParam('ids', []);
19 
20  if (!is_array($backupIds) || !count($backupIds)) {
21  return $this->_redirect('backup/*/index');
22  }
23 
24  $resultData = new \Magento\Framework\DataObject();
25  $resultData->setIsSuccess(false);
26  $resultData->setDeleteResult([]);
27  $this->_coreRegistry->register('backup_manager', $resultData);
28 
29  $deleteFailMessage = __('We can\'t delete one or more backups.');
30 
31  try {
32  $allBackupsDeleted = true;
33 
34  foreach ($backupIds as $id) {
35  list($time, $type) = explode('_', $id);
36  $backupModel = $this->_backupModelFactory->create($time, $type)->deleteFile();
37 
38  if ($backupModel->exists()) {
39  $allBackupsDeleted = false;
40  $result = __('failed');
41  } else {
42  $result = __('successful');
43  }
44 
45  $resultData->setDeleteResult(
46  array_merge($resultData->getDeleteResult(), [$backupModel->getFileName() . ' ' . $result])
47  );
48  }
49 
50  $resultData->setIsSuccess(true);
51  if ($allBackupsDeleted) {
52  $this->messageManager->addSuccessMessage(__('You deleted the selected backup(s).'));
53  } else {
54  throw new \Exception($deleteFailMessage);
55  }
56  } catch (\Exception $e) {
57  $resultData->setIsSuccess(false);
58  $this->messageManager->addErrorMessage($deleteFailMessage);
59  }
60 
61  return $this->_redirect('backup/*/index');
62  }
63 }
$id
Definition: fieldset.phtml:14
__()
Definition: __.php:13
$type
Definition: item.phtml:13