function config_split_form_config_admin_import_form_alter in Configuration Split 2.0.x
Same name and namespace in other branches
- 8 config_split.module \config_split_form_config_admin_import_form_alter()
Implements hook_form_FORM_ID_alter().
File
- ./
config_split.module, line 15 - Configuration split module functions.
Code
function config_split_form_config_admin_import_form_alter(&$form, FormStateInterface $form_state) {
$enabled = [];
$used_config_split_text = t('You are not using any config split configuration');
$config_split_entities = \Drupal::entityTypeManager()
->getStorage('config_split')
->loadMultiple();
/** @var \Drupal\config_split\Entity\ConfigSplitEntityInterface $entity */
foreach ($config_split_entities as $entity) {
if ($entity
->status()) {
$enabled[] = Link::fromTextAndUrl($entity
->label(), $entity
->toUrl())
->toString();
// Read the configuration and check differences in important fields.
$config_name = $entity
->getConfigDependencyName();
$active = \Drupal::getContainer()
->get('config.storage')
->read($config_name);
$staged = \Drupal::getContainer()
->get('config.storage.sync')
->read($config_name);
$fields = [
'status',
'weight',
'folder',
];
$warnings = array_sum(array_map(function ($filed) use ($active, $staged) {
return $active[$filed] != $staged[$filed];
}, $fields));
if ($warnings) {
\Drupal::messenger()
->addWarning(t('The configuration for @split has changed, consider a single import for it first.', [
'@split' => $entity
->label(),
]));
}
}
}
if (!empty($enabled)) {
$used_config_split_text = t('Used config split configuration:') . ' ' . implode(', ', $enabled);
}
$form['config_split']['#weight'] = -10;
$form['config_split']['#markup'] = '<p>' . $used_config_split_text . '</p>';
}