]> _ Git - fluidbook_tools.git/commitdiff
wip #7221 @1.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 5 Dec 2024 17:19:15 +0000 (18:19 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 5 Dec 2024 17:19:15 +0000 (18:19 +0100)
src/Compiler/Compiler.php
src/Compiler/CompilerInterface.php
src/Compiler/DummyCompiler.php
src/Links/Link.php

index b71640719d99a0ab6443ad8853635a40b9c24408..17db5a1cdee1335d3625eb3cb968c0c2cc76b6ab 100644 (file)
@@ -393,4 +393,14 @@ class Compiler implements ShouldQueue, ShouldBeUnique, CompilerInterface {
     {
         // TODO: Implement addIssue() method.
     }
+
+    public function addPageBackgroundColor($page, $color, $arrowsColor)
+    {
+        // TODO: Implement addPageBackgroundColor() method.
+    }
+
+    public function getExternalMultimediaContents($to)
+    {
+        // TODO: Implement getExternalContents() method.
+    }
 }
index 2cb83ab4c35c7e74c62af037fd41b1eb0c86968c..322b3d1e2a57c8c4d752b71939f9a60b9331fd5c 100644 (file)
@@ -74,4 +74,6 @@ interface CompilerInterface
     public function addIssue($type, $data = []);
 
     public function addPageBackgroundColor($page, $color,$arrowsColor);
+
+    public function getExternalMultimediaContents($to);
 }
index 3b48d5f744f917022244f8dc0997d5c301b6907f..f512b20e8d540bd26d85f7e8f65e2e731c76fbf4 100644 (file)
@@ -154,4 +154,9 @@ class DummyCompiler implements CompilerInterface {
     {
         // TODO: Implement addPageBackgroundColor() method.
     }
+
+    public function getExternalMultimediaContents($to)
+    {
+        // TODO: Implement getExternalContents() method.
+    }
 }
index a2f624b6f3e49c6b4f4ac51eedc9afc2bce8f198..4d2e50dbab2517fa657e7d5b8844daac9b46db35 100644 (file)
@@ -74,6 +74,7 @@ class Link
     const COPY_TO_CLIPBOARD = 45;
     const SLIDESHOW_INLINE = 46;
     const PAGE_BACKGROUND_COLOR = 48;
+    const FLUIDBOOK_TOOLBOX_ELEARNING_CONTENT = 49;
 
 
     protected static string|false|null $_linksKey = null;
@@ -190,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'] ?? true);
                 if ($init['inline'] === 'inline') {
                     $init['inline'] = 'inline';
                     return new VideoLink($id, $init, $compiler);
@@ -204,7 +205,7 @@ 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'] ?? true);
                 $init['to'] = WebVideoLink::cleanID($init['to']);
                 if ($init['inline'] === 'popup') {
                     return new WebVideoPopupLink($id, $init, $compiler);
@@ -228,7 +229,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'] ?? true);
                 if ($init['inline'] === 'inline') {
                     return new AudioLink($id, $init, $compiler);
                 }
@@ -242,6 +243,7 @@ class Link
                 break;
             case static::HTML5MULTIMEDIA:
             case static::MULTIMEDIA:
+            case static::FLUIDBOOK_TOOLBOX_ELEARNING_CONTENT:
                 return self::getMultimediaInstance($id, $init, $compiler);
             case static::LOTTIE:
                 return new LottieLink($id, $init, $compiler);
@@ -278,7 +280,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'] ?? true);
                 if ($init['inline'] === 'inline') {
                     return new IFrameLink($id, $init, $compiler);
                 }
@@ -439,6 +441,8 @@ class Link
         if ($init['to'] == '') {
             return null;
         }
+
+        $init['to'] = $compiler->getExternalMultimediaContents($init['to']);
         $init['inline'] = self::normalizeInlineIntegration($init['inline']);
 
         $ext = mb_strtolower(Files::getExtension($init['to']));