X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fentity_browser%2Fentity_browser.install;fp=web%2Fmodules%2Fcontrib%2Fentity_browser%2Fentity_browser.install;h=dce49e213608e6d843db76990534fa83f9b6ded1;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/modules/contrib/entity_browser/entity_browser.install b/web/modules/contrib/entity_browser/entity_browser.install new file mode 100644 index 000000000..dce49e213 --- /dev/null +++ b/web/modules/contrib/entity_browser/entity_browser.install @@ -0,0 +1,61 @@ +listAll('entity_browser.browser') as $name) { + $entity_browser = $config_factory->getEditable($name); + if ($text = $entity_browser->get('submit_text')) { + $entity_browser->clear('submit_text'); + foreach ($entity_browser->get('widgets') as $widget_uuid => $widget) { + $entity_browser->set("widgets.$widget_uuid.settings.submit_text", $text); + $entity_browser->save(); + } + } + } +} + +/** + * Migrates duplicated Views entity_browser_select fields. + */ +function entity_browser_update_8002() { + // Map entity data tables to base tables. + $table_map = []; + foreach (\Drupal::entityTypeManager()->getDefinitions() as $entity_type_name => $entity_type) { + $base_table = $entity_type->getBaseTable(); + $data_table = $entity_type->getDataTable(); + if ($base_table && $data_table) { + $table_map[$data_table] = $base_table; + } + } + + $config_factory = \Drupal::configFactory(); + foreach ($config_factory->listAll('views.view.') as $view_config_name) { + $save = FALSE; + $view = $config_factory->getEditable($view_config_name); + $displays = $view->get('display'); + foreach ($displays as $display_name => &$display) { + if ($display['display_options'] && isset($display['display_options']['fields'])) { + foreach ($display['display_options']['fields'] as $field_name => &$field) { + if ($field['plugin_id'] === 'entity_browser_select' && isset($table_map[$field['table']])) { + $field['table'] = $table_map[$field['table']]; + $save = TRUE; + } + } + } + } + if ($save) { + $view->set('display', $displays); + $view->save(TRUE); + } + } +}