| Current Path : /home/rtorresani/www/vendor/magento/module-backup/Controller/Adminhtml/Index/ |
| Current File : //home/rtorresani/www/vendor/magento/module-backup/Controller/Adminhtml/Index/Download.php |
<?php
/**
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Backup\Controller\Adminhtml\Index;
use Magento\Framework\App\Filesystem\DirectoryList;
class Download extends \Magento\Backup\Controller\Adminhtml\Index
{
/**
* @var \Magento\Framework\Controller\Result\RawFactory
*/
protected $resultRawFactory;
/**
* @param \Magento\Backend\App\Action\Context $context
* @param \Magento\Framework\Registry $coreRegistry
* @param \Magento\Framework\Backup\Factory $backupFactory
* @param \Magento\Framework\App\Response\Http\FileFactory $fileFactory
* @param \Magento\Backup\Model\BackupFactory $backupModelFactory
* @param \Magento\Framework\App\MaintenanceMode $maintenanceMode
* @param \Magento\Framework\Controller\Result\RawFactory $resultRawFactory
*/
public function __construct(
\Magento\Backend\App\Action\Context $context,
\Magento\Framework\Registry $coreRegistry,
\Magento\Framework\Backup\Factory $backupFactory,
\Magento\Framework\App\Response\Http\FileFactory $fileFactory,
\Magento\Backup\Model\BackupFactory $backupModelFactory,
\Magento\Framework\App\MaintenanceMode $maintenanceMode,
\Magento\Framework\Controller\Result\RawFactory $resultRawFactory
) {
parent::__construct(
$context,
$coreRegistry,
$backupFactory,
$fileFactory,
$backupModelFactory,
$maintenanceMode
);
$this->resultRawFactory = $resultRawFactory;
}
/**
* Download backup action
*
* @return void|\Magento\Backend\App\Action
*/
public function execute()
{
/* @var $backup \Magento\Backup\Model\Backup */
$backup = $this->_backupModelFactory->create(
$this->getRequest()->getParam('time'),
$this->getRequest()->getParam('type')
);
if (!$backup->getTime() || !$backup->exists()) {
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('backup/*');
return $resultRedirect;
}
$fileName = $this->_objectManager->get(\Magento\Backup\Helper\Data::class)->generateBackupDownloadName($backup);
$this->_fileFactory->create(
$fileName,
null,
DirectoryList::VAR_DIR,
'application/octet-stream',
$backup->getSize()
);
/** @var \Magento\Framework\Controller\Result\Raw $resultRaw */
$resultRaw = $this->resultRawFactory->create();
$resultRaw->setContents($backup->output());
return $resultRaw;
}
}