You are here

function lingotek_update_8209 in Lingotek Translation 8.2

Change the lingotek_target_status id to lingotek_target_statuses.

File

./lingotek.install, line 548
Install, update and uninstall functions for the Lingotek module.

Code

function lingotek_update_8209() {
  $config_factory = \Drupal::configFactory();
  $message = NULL;
  $ids = [];
  foreach ($config_factory
    ->listAll('views.view.') as $view_config_name) {
    $changed = FALSE;
    $view = $config_factory
      ->getEditable($view_config_name);
    $displays = $view
      ->get('display');
    foreach ($displays as $display_name => $display) {
      if (!empty($display['display_options']['fields'])) {
        foreach ($display['display_options']['fields'] as $field_name => $field) {
          if (isset($field['type']) && $field['type'] === 'lingotek_translation_status') {
            $base = "display.{$display_name}.display_options.fields.{$field_name}";
            $view
              ->set($base . '.type', 'lingotek_translation_statuses');
            $changed = TRUE;
          }
        }
      }
    }
    if ($changed) {
      $ids[] = $view
        ->get('id');
      $view
        ->save(TRUE);
    }
  }
  if (!empty($ids)) {
    $message = \Drupal::translation()
      ->translate('Updated field plugins for views: @ids', [
      '@ids' => implode(', ', array_unique($ids)),
    ]);
  }
  return $message;
}