function gutenberg_update_8201 in Gutenberg 8.2
Enable the new Gutenberg filter, uninstalling the old ones.
File
- ./
gutenberg.install, line 51 - Install, update and uninstall functions for the gutenberg module.
Code
function gutenberg_update_8201(&$sandbox) {
$config_factory = \Drupal::configFactory();
// Iterate on all text formats config entities.
foreach ($config_factory
->listAll('filter.format.') as $name) {
$filter = $config_factory
->getEditable($name);
$deprecated_filters = [
'filter_block',
'filter_comment_delimiter',
'filter_field_mapping',
'filter_mapping_fields',
'filter_media_entity_block',
'filter_oembed',
'filter_reusable_block',
];
$changed = FALSE;
$filters = $filter
->get('filters');
$processor_settings = [];
// Disable deprecated filters in favour of the processor services.
foreach ($deprecated_filters as $deprecated_filter) {
if (isset($filters[$deprecated_filter])) {
if ($deprecated_filter === 'filter_oembed') {
$processor_settings['oembed'] = [
'providers' => $filters[$deprecated_filter]['settings']['oembed_providers'],
'maxwidth' => (int) $filters[$deprecated_filter]['settings']['oembed_maxwidth'],
];
}
unset($filters[$deprecated_filter]);
$changed = TRUE;
}
}
if ($changed) {
// Add the gutenberg filter.
$filters['gutenberg'] = [
'id' => 'gutenberg',
'provider' => 'gutenberg',
'status' => TRUE,
'weight' => 1,
'settings' => [
'processor_settings' => $processor_settings,
],
];
$filter
->set('filters', $filters);
$filter
->save(TRUE);
}
}
return t('Migrated existing Gutenberg text filter settings.');
}