75 private $saveProcessor;
94 $this->arrayUtils = $arrayUtils;
95 $this->saveProcessor = $saveProcessor;
96 $this->scopeConfig = $scopeConfig;
97 $this->state = $state;
98 $this->scope = $scope;
113 $savedFlag = $this->flagManager->getFlagData(static::FLAG_CODE) ?: [];
114 $changedData = array_replace_recursive(
115 $this->arrayUtils->recursiveDiff($savedFlag,
$data),
116 $this->arrayUtils->recursiveDiff(
$data, $savedFlag)
123 if ($this->scopeConfig instanceof
Config) {
124 $this->scopeConfig->clean();
127 $this->state->emulateAreaCode(Area::AREA_ADMINHTML,
function () use ($changedData) {
128 $this->scope->setCurrentScope(Area::AREA_ADMINHTML);
131 $this->saveProcessor->process($changedData);
134 $this->scope->setCurrentScope($currentScope);
135 $this->flagManager->saveFlag(static::FLAG_CODE,
$data);
136 }
catch (\Exception $e) {
139 $this->scope->setCurrentScope($currentScope);
142 return [
'System config was processed'];
getWarningMessages(array $data)
__construct(FlagManager $flagManager, ArrayUtils $arrayUtils, SaveProcessor $saveProcessor, ScopeConfigInterface $scopeConfig, State $state, ScopeInterface $scope)