From: Vincent Vanwaelscappel Date: Thu, 30 Jan 2025 15:58:34 +0000 (+0100) Subject: wip #7291 @1.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=b064f0e2f9f26a2d6b70e5185f0f9380685b11e0;p=fluidbook_tools.git wip #7291 @1.5 --- diff --git a/.idea/fluidbook_tools.iml b/.idea/fluidbook_tools.iml index 0f8dc47..542cc75 100644 --- a/.idea/fluidbook_tools.iml +++ b/.idea/fluidbook_tools.iml @@ -6,6 +6,7 @@ + @@ -39,7 +40,6 @@ - @@ -57,7 +57,6 @@ - @@ -100,6 +99,12 @@ + + + + + + diff --git a/.idea/php.xml b/.idea/php.xml index 10a4d83..15bf7c6 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -44,7 +44,6 @@ - @@ -62,7 +61,6 @@ - @@ -104,6 +102,12 @@ + + + + + + diff --git a/src/Links/HTMLMultimediaPopupLink.php b/src/Links/HTMLMultimediaPopupLink.php index 76bf033..97b1e63 100644 --- a/src/Links/HTMLMultimediaPopupLink.php +++ b/src/Links/HTMLMultimediaPopupLink.php @@ -8,7 +8,7 @@ class HTMLMultimediaPopupLink extends HTMLMultimediaPopupImage public function getAdditionnalContent() { $i = $this->_init; - $i['inline'] = true; + $i['inline'] = 'inline'; $i['in_popup'] = true; if (isset($i['video_width']) && isset($i['video_height'])) { $i['width'] = $i['video_width']; diff --git a/src/Links/Link.php b/src/Links/Link.php index 961cbac..294c26c 100644 --- a/src/Links/Link.php +++ b/src/Links/Link.php @@ -191,7 +191,7 @@ class Link case static::INTERNAL: return new InternalLink($id, $init, $compiler); case static::VIDEO: - $init['inline'] = self::normalizeInlineIntegration($init['inline'] ?? true); + $init['inline'] = self::normalizeInlineIntegration($init['inline'] ?? ''); if ($init['inline'] === 'inline') { $init['inline'] = 'inline'; return new VideoLink($id, $init, $compiler); @@ -205,10 +205,14 @@ class Link case static::CUSTOM: return CustomLink::getCustomInstance($id, $init, $compiler); case static::WEBVIDEO: - $init['inline'] = self::normalizeInlineIntegration($init['inline'] ?? true); + $init['inline'] = self::normalizeInlineIntegration($init['inline'] ?? ''); $init['to'] = WebVideoLink::cleanID($init['to']); if ($init['inline'] === 'popup') { return new WebVideoPopupLink($id, $init, $compiler); + } else if ($init['inline'] === '_blank') { + $init['target'] = $init['inline']; + $init['to'] = WebVideo::getURL($init['video_service'], $init['to']); + return new WebLink($id, $init, $compiler); } return new WebVideoLink($id, $init, $compiler); case static::ACTION: @@ -229,7 +233,7 @@ class Link case static::FILE: return new FileLink($id, $init, $compiler); case static::AUDIO: - $init['inline'] = self::normalizeInlineIntegration($init['inline'] ?? true); + $init['inline'] = self::normalizeInlineIntegration($init['inline'] ?? ''); if ($init['inline'] === 'inline') { return new AudioLink($id, $init, $compiler); } @@ -284,7 +288,7 @@ class Link return new HTMLMultimediaPopupImage($id, $init, $compiler); } case static::IFRAME: - $init['inline'] = self::normalizeInlineIntegration($init['inline'] ?? true); + $init['inline'] = self::normalizeInlineIntegration($init['inline'] ?? ''); if ($init['inline'] === 'inline') { return new IFrameLink($id, $init, $compiler); } @@ -366,10 +370,13 @@ class Link public static function normalizeInlineIntegration($inline) { - if ($inline == '1' || $inline === 'true' || $inline === true) { - return 'inline'; - } else if (!$inline || $inline === 'false') { + if (in_array($inline, ['inline', 'popup', 'background_texts'])) { + return $inline; + } + if (!$inline || $inline === 'false') { return 'popup'; + } else if ($inline == '1' || $inline === 'true' || $inline === true) { + return 'inline'; } return $inline; } @@ -446,7 +453,7 @@ class Link return null; } - $init['inline'] = self::normalizeInlineIntegration($init['inline'] ?? true); + $init['inline'] = self::normalizeInlineIntegration($init['inline'] ?? ''); $ext = mb_strtolower(Files::getExtension($init['to']));