You are here

function social_embed_create_media_button in Open Social 10.3.x

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  2. 8 modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  3. 8.2 modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  4. 8.3 modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  5. 8.4 modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  6. 8.5 modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  7. 8.6 modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  8. 8.7 modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  9. 8.8 modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  10. 10.0.x modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  11. 10.1.x modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()
  12. 10.2.x modules/social_features/social_embed/social_embed.module \social_embed_create_media_button()

Function that creates an embed button with a custom icon.

2 calls to social_embed_create_media_button()
social_embed_install in modules/social_features/social_embed/social_embed.install
Implements hook_install().
social_embed_update_8001 in modules/social_features/social_embed/social_embed.install
Create the social_embed icon.

File

modules/social_features/social_embed/social_embed.module, line 16
The Social Embed module.

Code

function social_embed_create_media_button() {

  // Create a File entity for the icon.
  $path = drupal_get_path('module', 'social_embed');
  $image_path = $path . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . 'urlembed.png';
  $uri = \Drupal::service('file_system')
    ->copy($image_path, 'public://urlembed.png', FileSystemInterface::EXISTS_REPLACE);
  $media = File::create([
    'langcode' => 'en',
    'uid' => 1,
    'status' => 1,
    'uri' => $uri,
  ]);
  $media
    ->save();

  // Create an embed icon.
  $button = EmbedButton::create([
    'id' => 'social_embed',
    'label' => t('Media'),
    'langcode' => 'en',
    'status' => TRUE,
    'icon_uuid' => $media
      ->uuid(),
    'type_id' => 'url',
    'type_settings' => [],
  ]);
  $button
    ->save();
}