]> _ Git - cubeextranet.git/commitdiff
wait #3202 @0.5
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Wed, 20 Nov 2019 17:31:11 +0000 (17:31 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Wed, 20 Nov 2019 17:31:11 +0000 (17:31 +0000)
inc/ws/Metier/class.ws.book.parametres.php
inc/ws/Util/html5/master/class.ws.html5.compiler.php

index 0fa7e62046b8e34dce5ecff789689aea7150975d..0f6ec1acaa9021cb98374280ac39b49d4e002adb 100644 (file)
@@ -395,8 +395,9 @@ class wsBookParametres extends wsParametres
             ]
         ];
         $this->fields['tabsMargin'] = ['type' => 'float', 'label' => __('Marge des onglets'), 'editable' => true, 'default' => '-10', 'grade' => 5, 'hint' => __('Une marge négative = les onglets passent sous la publication')];
+        $this->fields['tabsLinkWidth'] = ['type' => 'float', 'label' => __('Largeur des onglets'), 'editable' => true, 'default' => '100', 'grade' => 5];
         $this->forms['tabs'] = ['label' => __('Onglets'),
-            'fieldsnames' => ['tabsHTML5', 'tabsPages', 'tabsSections', 'tabsPagesNumbers', '|', 'tabsSide', 'tabsMargin', 'tabsHideOnCover', 'tabsHideOnLastPage', 'tabsHideEdges', '|', 'tabsPriority', 'tabsHideWhenOverlapingArrows', 'tabsHideOnPortrait', 'tabsHideOnZoom']];
+            'fieldsnames' => ['tabsHTML5', 'tabsPages', 'tabsSections', 'tabsPagesNumbers', '|', 'tabsSide', 'tabsMargin', 'tabsLinkWidth', '|', 'tabsHideOnCover', 'tabsHideOnLastPage', 'tabsHideEdges', '|', 'tabsPriority', 'tabsHideWhenOverlapingArrows', 'tabsHideOnPortrait', 'tabsHideOnZoom']];
 
         $this->fields['customLinkClass'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Classe pour les liens personnalisés'), 'grade' => 5);
         $this->fields['permanentLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Liens visibles en permanence'), 'grade' => 3);
index bc2b6292d562331c3966ca6c6408a35df5412075..73faaf710d4d529ce439470c90016866cf964cad 100644 (file)
@@ -91,6 +91,7 @@ class wsHTML5Compiler
                 'js/libs/fluidbook/fluidbook.slideshow.js',
                 'js/libs/fluidbook/fluidbook.print.js',
                 'js/libs/fluidbook/fluidbook.secure.js',
+                'js/libs/fluidbook/fluidbook.tabs.js',
                 'js/libs/fluidbook/fluidbook.js',
                 'js/main.js'],
         'mobilefirst' => [
@@ -1217,21 +1218,43 @@ class wsHTML5Compiler
         }
 
         if ($this->book->parametres->tabsHTML5 != '' && file_exists($this->wdir . '/' . $this->book->parametres->tabsHTML5)) {
-            $links[] = [
-                'page' => 'background',
-                'top' => 0,
-                'left' => 0,
-                'width' => 100,
-                'height' => 100,
-                'type' => 6,
-                'to' => $this->book->parametres->tabsHTML5,
-                'alternative' => $this->book->parametres->tabsHTML5,
-                'image' => '',
-                'inline' => 1,
-                'interactive' => 1,
-                'class' => 'tabslink',
-                'uid' => 'tabs',
-            ];
+            $ext = CubeIT_Files::getExtension($this->book->parametres->tabsHTML5);
+            if ($ext === 'zip') {
+                $links[] = [
+                    'page' => 'background',
+                    'top' => 0,
+                    'left' => 0,
+                    'width' => 100,
+                    'height' => 100,
+                    'type' => 6,
+                    'to' => $this->book->parametres->tabsHTML5,
+                    'alternative' => $this->book->parametres->tabsHTML5,
+                    'image' => '',
+                    'inline' => 1,
+                    'interactive' => 1,
+                    'class' => 'tabslink',
+                    'uid' => 'tabs',
+                ];
+            } else if ($ext === 'svg') {
+                $this->vdir->copy($this->wdir . '/' . $this->book->parametres->tabsHTML5, 'data/tabs.svg');
+                $this->config->svgTabs = true;
+                $pagesLists = ['tabsPages', 'tabsSections'];
+                foreach ($pagesLists as $pagesList) {
+                    $e = explode(',', $this->book->parametres->$pagesList);
+                    $list = [];
+                    foreach ($e as $k => $v) {
+                        $v = trim($v);
+                        if ($v === '') {
+                            continue;
+                        }
+                        if ($this->book->parametres->tabsPagesNumbers === 'virtual') {
+                            $v = $this->virtualToPhysical($v);
+                        }
+                        $list[] = $v;
+                    }
+                    $this->config->$pagesList = $list;
+                }
+            }
         }
 
         $pagesOfCustomLinks = [];