You are here

function thunder_media_update_8008 in Thunder 8.2

New image style for entity browser.

File

modules/thunder_media/thunder_media.install, line 340
Contains.

Code

function thunder_media_update_8008() {

  /** @var \Drupal\update_helper\Updater $updater */
  $updater = \Drupal::service('update_helper.updater');
  $updateLogger = $updater
    ->logger();
  \Drupal::service('module_installer')
    ->install([
    'config_update',
  ]);

  // List of expected configuration for listed entity browser views.
  $expectedConfig['image_browser']['display']['default']['display_options']['fields']['thumbnail__target_id']['settings']['image_style'] = 'media_thumbnail';
  $expectedConfig['media_browser']['display']['default']['display_options']['fields']['thumbnail__target_id']['settings']['image_style'] = 'media_thumbnail';
  $expectedConfig['gallery_browser']['display']['default']['display_options']['fields']['thumbnail__target_id']['settings']['image_style'] = 'media_thumbnail';

  // New configuration for entity browser views that should be applied.
  $newConfig['image_browser']['display']['default']['display_options']['fields']['thumbnail__target_id']['settings']['image_style'] = 'entity_browser_thumbnail';
  $newConfig['media_browser']['display']['default']['display_options']['fields']['thumbnail__target_id']['settings']['image_style'] = 'entity_browser_thumbnail';
  $newConfig['gallery_browser']['display']['default']['display_options']['fields']['thumbnail__target_id']['settings']['image_style'] = 'entity_browser_thumbnail';
  try {
    \Drupal::service('config_update.config_update')
      ->import('image_style', 'entity_browser_thumbnail');
    $message = t('New image style entity_browser_thumbnail created.');
    $updateLogger
      ->info($message);
    foreach ($newConfig as $view => $configuration) {
      if (_thunder_media_update_config('views.view.' . $view, $configuration, $expectedConfig[$view])) {
        $message = t('View "@view" is now using image style entity_browser_thumbnail.', [
          '@view' => $view,
        ]);
        $updateLogger
          ->info($message);
      }
    }
  } catch (\Exception $e) {
    $message = t('Image style entity_browser_thumbnail was not created.');
    $updateLogger
      ->warning($message);
  }
  return $updateLogger
    ->output();
}