]> _ Git - fluidbook-toolbox.git/commitdiff
wait #6288 @1.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 18 Sep 2023 16:26:59 +0000 (18:26 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 18 Sep 2023 16:26:59 +0000 (18:26 +0200)
app/Fluidbook/Compiler/Compiler.php
app/Fluidbook/Compiler/Links.php
app/Fluidbook/Link/Link.php
app/Http/Controllers/Admin/Operations/Tools/FluidbookReferencesURL.php

index 6710e01fcf4141f728c148c02070e6eb8ff6f687..e2940114444031cc2462f9653a29f975cff5dafe 100644 (file)
@@ -1493,10 +1493,6 @@ class Compiler extends Base implements CompilerInterface
         $this->config->push('bookmarkGroups', ['page' => ($link['page']), 'nb' => $link['to'], 'name' => $link['extra']]);
     }
 
-    public function addTriggersLink($page, $link, $delay = 0)
-    {
-        $this->config->push('triggersLinks', ['page' => $page, 'link' => $link, 'delay' => $delay]);
-    }
 
     public function addAudiodescription($link)
     {
index c115034f225d3e86845a78f55c42dee9d8fa12cd..279a5b8ba93c3a325efb6250b0ee8e2d6f1ab1cb 100644 (file)
@@ -516,4 +516,10 @@ trait Links
 
         return $c;
     }
+
+    public function addTriggersLink($page, $link, $delay = 0)
+    {
+        $this->config->push('triggersLinks', ['page' => $page, 'link' => $link, 'delay' => $delay]);
+    }
+
 }
index 7451a75b4ad2b78e6bec26c4a58ba5cc827f4500..97f62f20d81b127fccc0e24942f5b4e664f2c2ef 100644 (file)
@@ -18,20 +18,27 @@ use App\Fluidbook\Link\Custom\MiraklEaster2021Link;
 use App\Fluidbook\Link\Custom\PierronLink;
 use App\Fluidbook\Link\Custom\WescoLink;
 use App\Fluidbook\Link\Custom\WescoSalesLink;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookReferencesURL;
 use Cubist\Util\ArrayUtil;
 use Cubist\Util\YoutubeDL;
 use Fluidbook\Tools\Links\CartLink;
+use Fluidbook\Tools\Links\CustomLink;
 use Fluidbook\Tools\Links\ZoomProductLink;
 
 
 class Link extends \Fluidbook\Tools\Links\Link
 {
+    use FluidbookReferencesURL;
+
     public static function getInstance($id, $init, &$compiler)
     {
         $init = ArrayUtil::asArray($init);
 
         $init['scorm'] = self::isScorm($init);
-        $init['to'] = self::replaceCustomURL($init['to']);
+        $init['to'] = static::replaceCustomURL($init['to']);
+        if ($init['to'] === '-') {
+            return null;
+        }
 
         switch ($init['type']) {
             case Link::CUSTOM:
@@ -131,4 +138,17 @@ class Link extends \Fluidbook\Tools\Links\Link
         }
         return parent::getInstance($id, $init, $compiler);
     }
+
+    public static function replaceCustomURL($url)
+    {
+        if (static::isCustomLink($url)) {
+            $res = CustomLink::_getURL($url);
+            if (!$res) {
+                return '-';
+            }
+            return $res;
+        }
+
+        return parent::replaceCustomURL($url);
+    }
 }
index f4ecee353840f3593a9fa36af5e043af900a6e8a..0f5f4771290a1f6ab797793e390d7ee1499a22da 100644 (file)
@@ -24,7 +24,15 @@ trait FluidbookReferencesURL
         'wesco' => 'Wesco',
         'mopec' => 'Mopec',
         'intex' => 'Intex',
-        'grosfillex' => 'Grosfillex'];
+        'grosfillex' => 'Grosfillex',
+        'joueclubnoel' => 'JouéClub Noël',
+    ];
+
+    public static function isCustomLink($url)
+    {
+        $e = explode(':', trim($url));
+        return isset(static::$_db[trim($e[0])]);
+    }
 
     public function fluidbookrefurl()
     {
@@ -45,9 +53,6 @@ trait FluidbookReferencesURL
 
     public function dofluidbookrefurl()
     {
-        global $core;
-
-
         $file = request()->file('file');
         $type = request('type');
         if (!isset(self::$_db[$type])) {