function acquia_lift_publisher_install in Acquia Lift Connector 8.4
Updates Acquia Content Hub legacy settings to 2.x version.
Related topics
File
- modules/
acquia_lift_publisher/ acquia_lift_publisher.install, line 12
Code
function acquia_lift_publisher_install() {
$state = \Drupal::state();
$entity_config_state = $state
->get('acquia_contenthub_update_8201_entity_type_config', []);
if (empty($entity_config_state)) {
return;
}
$config_factory = \Drupal::configFactory();
$view_modes = [];
$render_role = NULL;
foreach ($entity_config_state as $type => $data) {
if ($type === 'acquia_contenthub.entity_config') {
$render_role = $data['user_role'];
continue;
}
$entity_type = str_replace('acquia_contenthub.entity.', '', $type);
foreach ($data['bundles'] as $bundle => $rendering) {
if (!$rendering['enable_index']) {
continue;
}
foreach ($rendering['rendering'] as $view_mode) {
$view_modes[$entity_type][$bundle][$view_mode] = 1;
}
}
}
$entity_config = $config_factory
->getEditable('acquia_lift_publisher.entity_config');
$entity_config
->set('view_modes', $view_modes);
if ($render_role) {
$entity_config
->set('render_role', $render_role);
}
$entity_config
->save();
$state
->delete('acquia_contenthub_update_8201_entity_type_config');
}