Skip to content
Snippets Groups Projects
Commit 56a119fe authored by Martin Anderson-Clutz's avatar Martin Anderson-Clutz Committed by Jakob P
Browse files

Issue #3427196 by mandclu: Can't view videos, PDFs, or documents if the DAM...

Issue #3427196 by mandclu: Can't view videos, PDFs, or documents if the DAM domain and CDN subdomain differ
parent 43b16db9
No related branches found
Tags 1.0.10
No related merge requests found
......@@ -90,18 +90,23 @@ final class EmbedCodeFactory implements TrustedCallbackInterface {
$external_id = $source->getMetadata($media, 'external_id');
}
// Get the domain for the embed code.
$embeds = $source->getMetadata($media, 'embeds');
$original = parse_url($embeds['original']['url']);
$domain = "https://" . $original['host'];
switch ($source->getDerivativeId()) {
case 'documents':
case 'pdf':
$embed = self::renderDocumentsPdfAsset(self::getCdnDomain(), $external_id, $format, $media->getName(), self::encodeFilename($media->getName()));
$embed = self::renderDocumentsPdfAsset($domain, $external_id, $format, $media->getName(), self::encodeFilename($media->getName()));
break;
case 'video':
$embed = self::renderVideoAsset(self::getCdnDomain(), $external_id, $format, $media->getName(), self::encodeFilename($media->getName()));
$embed = self::renderVideoAsset($domain, $external_id, $format, $media->getName(), self::encodeFilename($media->getName()));
break;
case 'spinset':
$embed = self::renderSpinsetAsset(self::getCdnDomain(), $external_id, $format, $media->getName(), self::encodeFilename($media->getName()));
$embed = self::renderSpinsetAsset($domain, $external_id, $format, $media->getName(), self::encodeFilename($media->getName()));
break;
case 'image':
......@@ -423,20 +428,6 @@ final class EmbedCodeFactory implements TrustedCallbackInterface {
return ['postRenderDamLink'];
}
/**
* Get Acquia CDN domain.
*/
private static function getCdnDomain() {
static $domain;
if ($domain === NULL) {
$acquia_dam_domain = \Drupal::configFactory()->get('acquia_dam.settings')->get('domain');
$subdomain = explode('.', $acquia_dam_domain)[0];
$domain = "https://{$subdomain}.widen.net";
}
return $domain;
}
/**
* Replaces certain characters in the filename so it matches the DAM ones.
*
......
......@@ -451,31 +451,31 @@ class MediaLibraryIntegrationTest extends AcquiaDamWebDriverTestBase {
'0324b0b2-5293-4aa0-b0aa-c85b003395e2',
'PDF',
'inline_view',
'<iframe src="https://test.widen.net/content/8a1ouvfchk/pdf/Explorer-owners-manual.pdf" title="Document for Explorer owner\'s manual.pdf" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>',
'<iframe src="https://laser.widen.net/content/8a1ouvfchk/pdf/Explorer-owners-manual.pdf" title="Document for Explorer owner\'s manual.pdf" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>',
];
yield 'pdf: Text linked to viewer with Download' => [
'0324b0b2-5293-4aa0-b0aa-c85b003395e2',
'PDF',
'link_text_download',
'<a href="https://test.widen.net/view/pdf/8a1ouvfchk/Explorer-owners-manual.pdf?t.download=true" target="_blank">Explorer owner\'s manual.pdf</a>',
'<a href="https://laser.widen.net/view/pdf/8a1ouvfchk/Explorer-owners-manual.pdf?t.download=true" target="_blank">Explorer owner\'s manual.pdf</a>',
];
yield 'pdf: Thumbnail linked to viewer with download' => [
'0324b0b2-5293-4aa0-b0aa-c85b003395e2',
'PDF',
'link_thumbnail_download',
'<a href="https://test.widen.net/view/pdf/8a1ouvfchk/Explorer-owners-manual.pdf?t.download=true" target="_blank"><img src="https://test.widen.net/content/8a1ouvfchk/jpeg/Explorer-owners-manual.jpg" width="300" height="300" alt="Explorer owner\'s manual.pdf preview" loading="lazy">',
'<a href="https://laser.widen.net/view/pdf/8a1ouvfchk/Explorer-owners-manual.pdf?t.download=true" target="_blank"><img src="https://laser.widen.net/content/8a1ouvfchk/jpeg/Explorer-owners-manual.jpg" width="300" height="300" alt="Explorer owner\'s manual.pdf preview" loading="lazy">',
];
yield 'video: Inline player with download' => [
'efb03f75-3c42-497b-baa9-5ec79d1f56af',
'Video',
'inline_view_download',
'<div style="position:relative;width:100%;height:0;padding-bottom:56.25%;"> <iframe src="https://test.widen.net/view/video/mnmc58hipn/SD-Social-Promo.mp4?t.download=true" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" frameborder="0" allowtransparency="true" scrolling="no" style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe></div>',
'<div style="position:relative;width:100%;height:0;padding-bottom:56.25%;"> <iframe src="https://laser.widen.net/view/video/mnmc58hipn/SD-Social-Promo.mp4?t.download=true" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" frameborder="0" allowtransparency="true" scrolling="no" style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe></div>',
];
yield 'Spinset: Text linked to viewer without Download' => [
'eec6d92b-6452-4ab6-894a-b4d0826e65ba',
'Spinset',
'link_text',
'<a href="https://test.widen.net/view/spinset/yjezd5iwh5/eudaimonia_spin.zip" target="_blank">eudaimonia_spin.zip</a>',
'<a href="https://laser.widen.net/view/spinset/yjezd5iwh5/eudaimonia_spin.zip" target="_blank">eudaimonia_spin.zip</a>',
];
yield 'Image: Original' => [
'56ff14de-02cd-41b5-9a73-c917eab19abf',
......@@ -487,7 +487,7 @@ class MediaLibraryIntegrationTest extends AcquiaDamWebDriverTestBase {
'abab96ac-c2ed-40b1-aaf7-56a52f898230',
'Documents',
'link_text_download',
'<a href="https://test.widen.net/view/pdf/rfnwimkigc/Best-Practice---Content-Architecture---v2.1.pptx?t.download=true" target="_blank">Best Practice - Content Architecture - v2.1.pptx</a>',
'<a href="https://laser.widen.net/view/pdf/rfnwimkigc/Best-Practice---Content-Architecture---v2.1.pptx?t.download=true" target="_blank">Best Practice - Content Architecture - v2.1.pptx</a>',
];
}
......@@ -771,17 +771,17 @@ class MediaLibraryIntegrationTest extends AcquiaDamWebDriverTestBase {
[
'PDF',
'0324b0b2-5293-4aa0-b0aa-c85b003395e2',
'<a href="https://test.widen.net/view/pdf/8a1ouvfchk/Explorer-owners-manual.pdf?t.download=true" target="_blank"><img src="https://test.widen.net/content/8a1ouvfchk/jpeg/Explorer-owners-manual.jpg" width="300" height="300" alt="Explorer owner\'s manual.pdf preview" loading="lazy">',
'<a href="https://laser.widen.net/view/pdf/8a1ouvfchk/Explorer-owners-manual.pdf?t.download=true" target="_blank"><img src="https://laser.widen.net/content/8a1ouvfchk/jpeg/Explorer-owners-manual.jpg" width="300" height="300" alt="Explorer owner\'s manual.pdf preview" loading="lazy">',
],
[
'Video',
'efb03f75-3c42-497b-baa9-5ec79d1f56af',
'<iframe src="https://test.widen.net/view/video/mnmc58hipn/SD-Social-Promo.mp4" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" frameborder="0" allowtransparency="true" scrolling="no" style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>',
'<iframe src="https://laser.widen.net/view/video/mnmc58hipn/SD-Social-Promo.mp4" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" frameborder="0" allowtransparency="true" scrolling="no" style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>',
],
[
'Spinset',
'eec6d92b-6452-4ab6-894a-b4d0826e65ba',
'<a href="https://test.widen.net/view/spinset/yjezd5iwh5/eudaimonia_spin.zip" target="_blank">eudaimonia_spin.zip</a>',
'<a href="https://laser.widen.net/view/spinset/yjezd5iwh5/eudaimonia_spin.zip" target="_blank">eudaimonia_spin.zip</a>',
],
[
'Image',
......@@ -791,7 +791,7 @@ class MediaLibraryIntegrationTest extends AcquiaDamWebDriverTestBase {
[
'Documents',
'abab96ac-c2ed-40b1-aaf7-56a52f898230',
'<a href="https://test.widen.net/content/rfnwimkigc/original/Best-Practice---Content-Architecture---v2.1.pptx?download=true" target="_blank">Best Practice - Content Architecture - v2.1.pptx</a>',
'<a href="https://laser.widen.net/content/rfnwimkigc/original/Best-Practice---Content-Architecture---v2.1.pptx?download=true" target="_blank">Best Practice - Content Architecture - v2.1.pptx</a>',
],
];
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment