You are here

function varbase_media_update_8704 in Varbase Media 8.7

Same name and namespace in other branches
  1. 9.0.x varbase_media.install \varbase_media_update_8704()

Issue #3115391: Create new field field_provider for remote video media type.

1 call to varbase_media_update_8704()
varbase_media_update_8707 in ./varbase_media.install
Issue #3125946: Fix missing varbase media entity presave hook.

File

./varbase_media.install, line 300
Contains install and update for Varbase Media module.

Code

function varbase_media_update_8704() {

  // When Remote Video media type is active.
  $media_bundle_ids = \Drupal::service('entity_type.bundle.info')
    ->getBundleInfo('media');
  if (isset($media_bundle_ids) && is_array($media_bundle_ids) && count($media_bundle_ids) > 0 && isset($media_bundle_ids['remote_video'])) {

    // Configure field storage media field_provider.
    $field_storage_media_field_provider = FieldStorageConfig::loadByName('media', 'field_provider');
    if (!isset($field_storage_media_field_provider)) {
      FieldStorageConfig::create([
        'field_name' => 'field_provider',
        'entity_type' => 'media',
        'type' => 'string',
        'cardinality' => 1,
      ])
        ->save();
    }

    // Configure init field media remote_video field_provider.
    $field_field_media_remote_video_field_provider = FieldConfig::loadByName('media', 'remote_video', 'field_provider');
    if (!isset($field_field_media_remote_video_field_provider)) {
      FieldConfig::create([
        'field_name' => 'field_provider',
        'entity_type' => 'media',
        'bundle' => 'remote_video',
        'label' => t('Provider'),
      ])
        ->save();
    }
  }
}