getState()->getMode() === State::MODE_PRODUCTION) { $this->messageManager->addErrorMessage(__('You can\'t change status of cache type(s) in production mode')); } else { $this->enableCache(); } return $this->resultFactory->create(ResultFactory::TYPE_REDIRECT)->setPath('adminhtml/*'); } /** * Enable cache * * @return void */ private function enableCache() { try { $types = $this->getRequest()->getParam('types'); $updatedTypes = 0; if (!is_array($types)) { $types = []; } $this->_validateTypes($types); foreach ($types as $code) { if (!$this->_cacheState->isEnabled($code)) { $this->_cacheState->setEnabled($code, true); $updatedTypes++; } } if ($updatedTypes > 0) { $this->_cacheState->persist(); $this->messageManager->addSuccessMessage(__("%1 cache type(s) enabled.", $updatedTypes)); } } catch (LocalizedException $e) { $this->messageManager->addErrorMessage($e->getMessage()); } catch (\Exception $e) { $this->messageManager->addExceptionMessage($e, __('An error occurred while enabling cache.')); } } /** * Get State Instance * * @return State * @deprecated 100.2.0 */ private function getState() { if ($this->state === null) { $this->state = ObjectManager::getInstance()->get(State::class); } return $this->state; } }