From 3ea424d4b26874e6609821012a681097e97c6b2c Mon Sep 17 00:00:00 2001 From: Joshua Fernandes <“joshua.1234511@yahoo.in”> Date: Wed, 13 Nov 2024 22:24:17 +0530 Subject: [PATCH] [3475695] Updated civictheme_media_get_variables to handle the OEmbed (remote video). --- .../contrib/civictheme/includes/utilities.inc | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/web/themes/contrib/civictheme/includes/utilities.inc b/web/themes/contrib/civictheme/includes/utilities.inc index 5e527f70e..48eb0d8b3 100644 --- a/web/themes/contrib/civictheme/includes/utilities.inc +++ b/web/themes/contrib/civictheme/includes/utilities.inc @@ -120,6 +120,19 @@ function civictheme_get_layout_builder_settings_per_view_mode(string $entity_typ * @SuppressWarnings(PHPMD.StaticAccess) */ function civictheme_media_get_variables(MediaInterface $media): ?array { + $variables = [ + 'name' => t('@name', ['@name' => $media->label()]), + 'media_name' => t('@name', ['@name' => $media->label()]), + 'created' => civictheme_format_datetime((int) $media->getCreatedTime(), 'civictheme_short_date'), + 'changed' => civictheme_format_datetime($media->getChangedTime(), 'civictheme_short_date'), + ]; + + if ($media->bundle() === 'civictheme_remote_video') { + $variables['url'] = \Drupal::service('media.oembed.url_resolver') + ->getResourceUrl($media->get('field_c_m_oembed_video')->first()->getValue()['value']); + return $variables; + } + $fid = $media->getSource()->getSourceFieldValue($media); /** @var \Drupal\file\FileInterface|null $file */ $file = $fid ? File::load($fid) : NULL; @@ -128,16 +141,14 @@ function civictheme_media_get_variables(MediaInterface $media): ?array { return NULL; } - return [ - 'name' => t('@name', ['@name' => $file->label()]), - 'media_name' => t('@name', ['@name' => $media->label()]), + $variables += [ 'ext' => pathinfo((string) $file->getFileUri(), PATHINFO_EXTENSION) ?: '', 'url' => civictheme_media_get_url($media), 'size' => ByteSizeMarkup::create($file->getSize()), - 'created' => civictheme_format_datetime((int) $media->getCreatedTime(), 'civictheme_short_date'), - 'changed' => civictheme_format_datetime($media->getChangedTime(), 'civictheme_short_date'), 'icon' => civictheme_get_icon_from_file($file), ]; + + return $variables; } /**