diff --git a/config/optional/core.entity_form_display.media.instagram.default.yml b/config/optional/core.entity_form_display.media.instagram.default.yml new file mode 100644 index 0000000..ecb6b1e --- /dev/null +++ b/config/optional/core.entity_form_display.media.instagram.default.yml @@ -0,0 +1,58 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.instagram.field_media_instagram + - media.type.instagram + module: + - path +id: media.instagram.default +targetEntityType: media +bundle: instagram +mode: default +content: + created: + type: datetime_timestamp + weight: 3 + region: content + settings: { } + third_party_settings: { } + field_media_instagram: + type: string_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + path: + type: path + weight: 4 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + settings: + display_label: true + weight: 5 + region: content + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 2 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + region: content + third_party_settings: { } +hidden: { } diff --git a/config/optional/core.entity_view_display.media.instagram.default.yml b/config/optional/core.entity_view_display.media.instagram.default.yml new file mode 100644 index 0000000..aa9dc13 --- /dev/null +++ b/config/optional/core.entity_view_display.media.instagram.default.yml @@ -0,0 +1,51 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.instagram.field_media_instagram + - image.style.thumbnail + - media.type.instagram + module: + - image + - media_entity_instagram + - user +id: media.instagram.default +targetEntityType: media +bundle: instagram +mode: default +content: + created: + label: hidden + type: timestamp + weight: 1 + region: content + settings: + date_format: medium + custom_date_format: '' + timezone: '' + third_party_settings: { } + field_media_instagram: + type: instagram_embed + weight: 0 + region: content + label: above + settings: + width: null + hidecaption: false + third_party_settings: { } + thumbnail: + type: image_url + weight: 3 + label: hidden + settings: + image_style: thumbnail + region: content + third_party_settings: { } + uid: + label: hidden + type: author + weight: 2 + region: content + settings: { } + third_party_settings: { } +hidden: { } diff --git a/config/optional/field.field.media.instagram.field_media_instagram.yml b/config/optional/field.field.media.instagram.field_media_instagram.yml new file mode 100644 index 0000000..04e2407 --- /dev/null +++ b/config/optional/field.field.media.instagram.field_media_instagram.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_instagram + - media.type.instagram +id: media.instagram.field_media_instagram +field_name: field_media_instagram +entity_type: media +bundle: instagram +label: Instagram +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/optional/field.storage.media.field_media_instagram.yml b/config/optional/field.storage.media.field_media_instagram.yml new file mode 100644 index 0000000..9de32f4 --- /dev/null +++ b/config/optional/field.storage.media.field_media_instagram.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - media +id: media.field_media_instagram +field_name: field_media_instagram +entity_type: media +type: string +settings: + max_length: 255 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/optional/media.type.instagram.yml b/config/optional/media.type.instagram.yml new file mode 100644 index 0000000..0c9b887 --- /dev/null +++ b/config/optional/media.type.instagram.yml @@ -0,0 +1,14 @@ +langcode: en +status: true +dependencies: + module: + - media_entity_instagram +id: instagram +label: Instagram +description: 'Create media items from Instagram posts.' +source: instagram +queue_thumbnail_downloads: false +new_revision: false +source_configuration: + source_field: field_media_instagram +field_map: { } diff --git a/media_entity_instagram.info.yml b/media_entity_instagram.info.yml index 0af2697..6b5eaee 100644 --- a/media_entity_instagram.info.yml +++ b/media_entity_instagram.info.yml @@ -4,5 +4,4 @@ type: module package: Media core: 8.x dependencies: - - drupal:media - - drupal:system (>= 8.4.0) + - drupal:media (>= 8.4.0) diff --git a/media_entity_instagram.install b/media_entity_instagram.install index a21b730..6324677 100644 --- a/media_entity_instagram.install +++ b/media_entity_instagram.install @@ -9,13 +9,20 @@ * Implements hook_install(). */ function media_entity_instagram_install() { - // Copy the icon(s) provided by this module to the destination defined in - // "media.settings:icon_base_uri". $source = drupal_get_path('module', 'media_entity_instagram') . '/images/icons'; $destination = \Drupal::config('media.settings')->get('icon_base_uri'); file_prepare_directory($destination, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS); + $files = file_scan_directory($source, '/.*\.(svg|png|jpg|jpeg|gif)$/'); foreach ($files as $file) { - file_unmanaged_copy($file->uri, $destination, FILE_EXISTS_ERROR); + // When reinstalling we don't want to copy the icons when + // they already exist. The icons could be replaced (by a contrib module or + // manually), so we don't want to replace the existing files. Removing the + // files when we uninstall could also be a problem if the files are + // referenced somewhere else. Since showing an error that it was not + // possible to copy the files is also confusing, we silently do nothing. + if (!file_exists($destination . DIRECTORY_SEPARATOR . $file->filename)) { + file_unmanaged_copy($file->uri, $destination, FILE_EXISTS_ERROR); + } } } diff --git a/src/Plugin/media/Source/Instagram.php.orig b/src/Plugin/media/Source/Instagram.php.orig deleted file mode 100644 index e69de29..0000000