12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Store\App\FrontController\Plugin;
- use \Magento\Store\Model\StoreResolver\ReaderList;
- use \Magento\Store\Model\ScopeInterface;
- /**
- * Plugin to set default store for admin area.
- */
- class DefaultStore
- {
- /**
- * @var \Magento\Store\Model\StoreManagerInterface
- */
- protected $storeManager;
- /**
- * @var ReaderList
- */
- protected $readerList;
- /**
- * @var string
- */
- protected $runMode;
- /**
- * @var string
- */
- protected $scopeCode;
- /**
- * Initialize dependencies.
- *
- * @param \Magento\Store\Model\StoreManagerInterface $storeManager
- * @param ReaderList $readerList
- * @param string $runMode
- * @param null $scopeCode
- */
- public function __construct(
- \Magento\Store\Model\StoreManagerInterface $storeManager,
- ReaderList $readerList,
- $runMode = ScopeInterface::SCOPE_STORE,
- $scopeCode = null
- ) {
- $this->runMode = $scopeCode ? $runMode : ScopeInterface::SCOPE_WEBSITE;
- $this->scopeCode = $scopeCode;
- $this->readerList = $readerList;
- $this->storeManager = $storeManager;
- }
- /**
- * Set current store for admin area
- *
- * @param \Magento\Framework\App\FrontController $subject
- * @param \Magento\Framework\App\RequestInterface $request
- * @return void
- *
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function beforeDispatch(
- \Magento\Framework\App\FrontController $subject,
- \Magento\Framework\App\RequestInterface $request
- ) {
- $reader = $this->readerList->getReader($this->runMode);
- $defaultStoreId = $reader->getDefaultStoreId($this->scopeCode);
- $this->storeManager->setCurrentStore($defaultStoreId);
- }
- }
|