/**
  * Delete backups mass action
  *
  * @return Mage_Adminhtml_Controller_Action
  */
 public function massDeleteAction()
 {
     $backupIds = $this->getRequest()->getParam('ids', array());
     if (!is_array($backupIds) || !count($backupIds)) {
         return $this->_redirect('*/*/index');
     }
     /** @var $backupModel Mage_Backup_Model_Backup */
     $backupModel = Mage::getModel('backup/backup');
     $resultData = new Varien_Object();
     $resultData->setIsSuccess(false);
     $resultData->setDeleteResult(array());
     Mage::register('backup_manager', $resultData);
     $deleteFailMessage = Mage::helper('backup')->__('Failed to delete one or several backups.');
     try {
         $allBackupsDeleted = true;
         foreach ($backupIds as $id) {
             list($time, $type) = explode('_', $id);
             $backupModel->loadByTimeAndType($time, $type)->deleteFile();
             if ($backupModel->exists()) {
                 $allBackupsDeleted = false;
                 $result = Mage::helper('adminhtml')->__('failed');
             } else {
                 $result = Mage::helper('adminhtml')->__('successful');
             }
             $resultData->setDeleteResult(array_merge($resultData->getDeleteResult(), array($backupModel->getFileName() . ' ' . $result)));
         }
         $resultData->setIsSuccess(true);
         if ($allBackupsDeleted) {
             $this->_getSession()->addSuccess(Mage::helper('backup')->__('The selected backup(s) has been deleted.'));
         } else {
             throw new Exception($deleteFailMessage);
         }
     } catch (Exception $e) {
         $resultData->setIsSuccess(false);
         $this->_getSession()->addError($deleteFailMessage);
     }
     return $this->_redirect('*/*/index');
 }