scopeConfig = $scopeConfig; } /** * Move config from srcPath to dstPath * @param ModuleDataSetupInterface $setup * @param string $srcPath * @param string $dstPath */ private function moveConfig(ModuleDataSetupInterface $setup, $srcPath, $dstPath) { $value = $this->scopeConfig->getValue($srcPath); if (is_array($value)) { foreach (array_keys($value) as $k) { $this->moveConfig($setup, $srcPath . '/' . $k, $dstPath . '/' . $k); } } else { $connection = $setup->getConnection(); $configData = $setup->getTable('core_config_data'); $connection->update($configData, ['path' => $dstPath], 'path='.$connection->quote($srcPath)); } } private function upgradeTo010100(ModuleDataSetupInterface $setup) { $this->moveConfig( $setup, 'msp_securitysuite/recaptcha', 'msp_securitysuite_recaptcha/general' ); } private function upgradeTo010101(ModuleDataSetupInterface $setup) { $this->moveConfig( $setup, 'msp_securitysuite_recaptcha/general/enabled_frontend', 'msp_securitysuite_recaptcha/frontend/enabled' ); $this->moveConfig( $setup, 'msp_securitysuite_recaptcha/general/enabled_backend', 'msp_securitysuite_recaptcha/backend/enabled' ); } /** * Upgrades data for a module * * @param ModuleDataSetupInterface $setup * @param ModuleContextInterface $context * @return void */ public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); if (version_compare($context->getVersion(), '1.1.0') < 0) { $this->upgradeTo010100($setup); } if (version_compare($context->getVersion(), '1.2.0') < 0) { $this->upgradeTo010101($setup); } $setup->endSetup(); } }