Switching to production mode.
[yaffs-website] / web / modules / contrib / entity_browser / entity_browser.install
1 <?php
2
3 /**
4  * @file
5  * Update hooks for the Entity browser module.
6  */
7
8 /**
9  * Updates submit text for existing Entity browsers.
10  */
11 function entity_browser_update_8001() {
12   /** @var \Drupal\Core\Config\ConfigFactoryInterface $config_factory */
13   $config_factory = \Drupal::service('config.factory');
14
15   foreach ($config_factory->listAll('entity_browser.browser') as $name) {
16     $entity_browser = $config_factory->getEditable($name);
17     if ($text = $entity_browser->get('submit_text')) {
18       $entity_browser->clear('submit_text');
19       foreach ($entity_browser->get('widgets') as $widget_uuid => $widget) {
20         $entity_browser->set("widgets.$widget_uuid.settings.submit_text", $text);
21         $entity_browser->save();
22       }
23     }
24   }
25 }
26
27 /**
28  * Migrates duplicated Views entity_browser_select fields.
29  */
30 function entity_browser_update_8002() {
31   // Map entity data tables to base tables.
32   $table_map = [];
33   foreach (\Drupal::entityTypeManager()->getDefinitions() as $entity_type_name => $entity_type) {
34     $base_table = $entity_type->getBaseTable();
35     $data_table = $entity_type->getDataTable();
36     if ($base_table && $data_table) {
37       $table_map[$data_table] = $base_table;
38     }
39   }
40
41   $config_factory = \Drupal::configFactory();
42   foreach ($config_factory->listAll('views.view.') as $view_config_name) {
43     $save = FALSE;
44     $view = $config_factory->getEditable($view_config_name);
45     $displays = $view->get('display');
46     foreach ($displays as $display_name => &$display) {
47       if ($display['display_options'] && isset($display['display_options']['fields'])) {
48         foreach ($display['display_options']['fields'] as $field_name => &$field) {
49           if ($field['plugin_id'] === 'entity_browser_select' && isset($table_map[$field['table']])) {
50             $field['table'] = $table_map[$field['table']];
51             $save = TRUE;
52           }
53         }
54       }
55     }
56     if ($save) {
57       $view->set('display', $displays);
58       $view->save(TRUE);
59     }
60   }
61 }