]> _ Git - fluidbook_tools.git/commitdiff
wip #7291 @1.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 30 Jan 2025 15:58:34 +0000 (16:58 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 30 Jan 2025 15:58:34 +0000 (16:58 +0100)
.idea/fluidbook_tools.iml
.idea/php.xml
src/Links/HTMLMultimediaPopupLink.php
src/Links/Link.php

index 0f8dc470861d82ddb4514498a9ac1d949cd457ca..542cc756259312e05d6ba53b549100cb61a33e25 100644 (file)
@@ -6,6 +6,7 @@
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="Fluidbook\Tools\" />
+      <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/brick/math" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/nette/schema" />
@@ -39,7 +40,6 @@
       <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/error-handler" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
-      <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php72" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php73" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-normalizer" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
@@ -57,7 +57,6 @@
       <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php81" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/phpoption/phpoption" />
-      <excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/inflector" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/lexer" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/cubist/net" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/chillerlan/php-qrcode" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/chillerlan/php-settings-container" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/carbonphp/carbon-doctrine-types" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/aws/aws-crt-php" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/aws/aws-sdk-php" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/guzzle" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/promises" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/mtdowling/jmespath.php" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-client" />
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
index 10a4d83a8311d8ef151c23cf63d286f070f288f1..15bf7c6ea878c004f33ecebdba7d3d429b21e810 100644 (file)
@@ -44,7 +44,6 @@
       <path value="$PROJECT_DIR$/vendor/symfony/finder" />
       <path value="$PROJECT_DIR$/vendor/symfony/error-handler" />
       <path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
-      <path value="$PROJECT_DIR$/vendor/symfony/polyfill-php72" />
       <path value="$PROJECT_DIR$/vendor/symfony/polyfill-php73" />
       <path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-normalizer" />
       <path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
@@ -62,7 +61,6 @@
       <path value="$PROJECT_DIR$/vendor/symfony/polyfill-php81" />
       <path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
       <path value="$PROJECT_DIR$/vendor/phpoption/phpoption" />
-      <path value="$PROJECT_DIR$/vendor/webmozart/assert" />
       <path value="$PROJECT_DIR$/vendor/doctrine/inflector" />
       <path value="$PROJECT_DIR$/vendor/doctrine/lexer" />
       <path value="$PROJECT_DIR$/vendor/cubist/net" />
       <path value="$PROJECT_DIR$/vendor/chillerlan/php-settings-container" />
       <path value="$PROJECT_DIR$/vendor/chillerlan/php-qrcode" />
       <path value="$PROJECT_DIR$/vendor/carbonphp/carbon-doctrine-types" />
+      <path value="$PROJECT_DIR$/vendor/mtdowling/jmespath.php" />
+      <path value="$PROJECT_DIR$/vendor/psr/http-client" />
+      <path value="$PROJECT_DIR$/vendor/guzzlehttp/guzzle" />
+      <path value="$PROJECT_DIR$/vendor/guzzlehttp/promises" />
+      <path value="$PROJECT_DIR$/vendor/aws/aws-crt-php" />
+      <path value="$PROJECT_DIR$/vendor/aws/aws-sdk-php" />
     </include_path>
   </component>
   <component name="PhpProjectSharedConfiguration" php_language_level="8.2">
index 76bf033b26de5a2c98e572c4f88007396f543e56..97b1e63d4dcf9b7f388dc82a3ca155a352d4f9b0 100644 (file)
@@ -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'];
index 961cbacb9fa1310bbe8f08fb3c89f8147e7ac4e4..294c26ccfa195a2ea8204ad542c5f9adafb8e257 100644 (file)
@@ -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']));