123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- <?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;
- }
- }
|