mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 09:17:35 +00:00
142 lines
4.5 KiB
PHP
142 lines
4.5 KiB
PHP
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\Backend\Controller\Adminhtml\System;
|
|
|
|
use Magento\Backend\App\Action;
|
|
use Magento\Framework\App\Filesystem\DirectoryList;
|
|
use Magento\Framework\Filesystem;
|
|
|
|
/**
|
|
* Store controller
|
|
*
|
|
* @author Magento Core Team <core@magentocommerce.com>
|
|
* @SuppressWarnings(PHPMD.AllPurposeAction)
|
|
*/
|
|
abstract class Store extends Action
|
|
{
|
|
/**
|
|
* Authorization level of a basic admin session
|
|
*
|
|
* @see _isAllowed()
|
|
*/
|
|
const ADMIN_RESOURCE = 'Magento_Backend::store';
|
|
|
|
/**
|
|
* Core registry
|
|
*
|
|
* @var \Magento\Framework\Registry
|
|
*/
|
|
protected $_coreRegistry;
|
|
|
|
/**
|
|
* @var \Magento\Framework\Filter\FilterManager
|
|
*/
|
|
protected $filterManager;
|
|
|
|
/**
|
|
* @var \Magento\Backend\Model\View\Result\ForwardFactory
|
|
*/
|
|
protected $resultForwardFactory;
|
|
|
|
/**
|
|
* @var \Magento\Framework\View\Result\PageFactory
|
|
*/
|
|
protected $resultPageFactory;
|
|
|
|
/**
|
|
* @param \Magento\Backend\App\Action\Context $context
|
|
* @param \Magento\Framework\Registry $coreRegistry
|
|
* @param \Magento\Framework\Filter\FilterManager $filterManager
|
|
* @param \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory
|
|
* @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
|
|
*/
|
|
public function __construct(
|
|
\Magento\Backend\App\Action\Context $context,
|
|
\Magento\Framework\Registry $coreRegistry,
|
|
\Magento\Framework\Filter\FilterManager $filterManager,
|
|
\Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory,
|
|
\Magento\Framework\View\Result\PageFactory $resultPageFactory
|
|
) {
|
|
$this->_coreRegistry = $coreRegistry;
|
|
$this->filterManager = $filterManager;
|
|
parent::__construct($context);
|
|
$this->resultForwardFactory = $resultForwardFactory;
|
|
$this->resultPageFactory = $resultPageFactory;
|
|
}
|
|
|
|
/**
|
|
* Init actions
|
|
*
|
|
* @return \Magento\Backend\Model\View\Result\Page
|
|
*/
|
|
protected function createPage()
|
|
{
|
|
/** @var \Magento\Backend\Model\View\Result\Page $resultPage */
|
|
$resultPage = $this->resultPageFactory->create();
|
|
$resultPage->setActiveMenu('Magento_Backend::system_store')
|
|
->addBreadcrumb(__('System'), __('System'))
|
|
->addBreadcrumb(__('Manage Stores'), __('Manage Stores'));
|
|
return $resultPage;
|
|
}
|
|
|
|
/**
|
|
* Backup database
|
|
*
|
|
* @return bool
|
|
*
|
|
* @deprecated 100.2.7 Backup module is to be removed.
|
|
*/
|
|
protected function _backupDatabase()
|
|
{
|
|
if (!$this->getRequest()->getParam('create_backup')) {
|
|
return true;
|
|
}
|
|
try {
|
|
/** @var \Magento\Backup\Model\Db $backupDb */
|
|
$backupDb = $this->_objectManager->create(\Magento\Backup\Model\Db::class);
|
|
/** @var \Magento\Backup\Model\Backup $backup */
|
|
$backup = $this->_objectManager->create(\Magento\Backup\Model\Backup::class);
|
|
/** @var Filesystem $filesystem */
|
|
$filesystem = $this->_objectManager->get(\Magento\Framework\Filesystem::class);
|
|
$backup->setTime(time())
|
|
->setType('db')
|
|
->setPath($filesystem->getDirectoryRead(DirectoryList::VAR_DIR)->getAbsolutePath('backups'));
|
|
$backupDb->createBackup($backup);
|
|
$this->messageManager->addSuccessMessage(__('The database was backed up.'));
|
|
} catch (\Magento\Framework\Exception\LocalizedException $e) {
|
|
$this->messageManager->addErrorMessage($e->getMessage());
|
|
return false;
|
|
} catch (\Exception $e) {
|
|
$this->messageManager->addExceptionMessage(
|
|
$e,
|
|
__('We can\'t create a backup right now. Please try again later.')
|
|
);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Add notification on deleting store / store view / website
|
|
*
|
|
* @param string $typeTitle
|
|
* @return $this
|
|
*/
|
|
protected function _addDeletionNotice($typeTitle)
|
|
{
|
|
$this->messageManager->addNoticeMessage(
|
|
__(
|
|
'Deleting a %1 will not delete the information associated with the %1 (e.g. categories, products, etc.)'
|
|
. ', but the %1 will not be able to be restored. It is suggested that you create a database backup '
|
|
. 'before deleting the %1.',
|
|
$typeTitle
|
|
)
|
|
);
|
|
return $this;
|
|
}
|
|
}
|