public function FeaturesManager::detectOverrides in Features 8.4
Same name and namespace in other branches
- 8.3 src/FeaturesManager.php \Drupal\features\FeaturesManager::detectOverrides()
Determines which config is overridden in a package.
@result array $different The array of config items that are overridden.
Parameters
\Drupal\features\Package $feature: The package array. The 'state' property is updated if overrides are detected.
bool $include_new: If set, include newly detected config not yet exported.
Overrides FeaturesManagerInterface::detectOverrides
See also
\Drupal\features\FeaturesManagerInterface::detectNew()
File
- src/
FeaturesManager.php, line 1289
Class
- FeaturesManager
- The FeaturesManager provides helper functions for building packages.
Namespace
Drupal\featuresCode
public function detectOverrides(Package $feature, $include_new = FALSE) {
/** @var \Drupal\config_update\ConfigDiffInterface $config_diff */
$config_diff = \Drupal::service('config_update.config_diff');
$different = [];
foreach ($feature
->getConfig() as $name) {
$active = $this->configStorage
->read($name);
$extension = $this->extensionStorages
->read($name);
$extension = !empty($extension) ? $extension : [];
if (($include_new || !empty($extension)) && !$config_diff
->same($extension, $active)) {
$different[] = $name;
}
}
if (!empty($different)) {
$feature
->setState(FeaturesManagerInterface::STATE_OVERRIDDEN);
}
return $different;
}