]> _ Git - cubeextranet.git/commitdiff
fix #2388 @0.5
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 6 Dec 2018 16:34:15 +0000 (16:34 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 6 Dec 2018 16:34:15 +0000 (16:34 +0000)
inc/ws/Util/html5/3dflip/class.ws.html5.compiler.php

index 8a42e8deae1f701983d7e93e760e2217aaf0540f..8a0f81ac94cfa546f9718fa7abc80e0b148448b6 100644 (file)
@@ -12,30 +12,33 @@ class wsHTML5Compiler
                'modernizr' =>
                        ['js/libs/modernizr/modernizr.min.js',
                                'js/libs/modernizr/tests.js',],
+               'modifier' => ['js/libs/threejs/modifier.min.js'],
+               'threejs-legacy' =>
+                       ['js/libs/threejs/legacy/three.min.js',
+                               'js/libs/threejs/legacy/Projector.js',
+                               'js/libs/threejs/legacy/CanvasRenderer.js',
+                       ],
                'threejs' =>
-                       ['js/libs/threejs/three.min.js',
-                               'js/libs/threejs/Projector.js',
-                               'js/libs/threejs/CanvasRenderer.js',
-                               'js/libs/threejs/modifier.js',
-                               'js/libs/threejs/stats.js',],
+                       ['js/libs/threejs/latest/three.min.js',
+                       ],
                'jquery' =>
                        ['js/libs/jquery/jquery.min.js',
                                'js/libs/jquery/jquery.transform.js',
                                'js/libs/jquery/jquery.form.min.js',
                                'js/libs/jquery/jquery.mousewheel.min.js',
                                'js/libs/jquery/jquery.hashchange.min.js',],
-               'screenfull' => ['js/libs/screenfull.min.js',],
+               'screenfull' => ['js/libs/screenfull.min.js'],
                'storage' => ['js/libs/storage.js',],
                'keymaster' => ['js/libs/keymaster.js',],
-               'perfectscrollbar' => ['js/libs/jquery/perfect-scrollbar.jquery.min.js',],
+               'perfectscrollbar' => ['js/libs/perfect-scrollbar/perfect-scrollbar.min.js',
+                       'js/libs/perfect-scrollbar/perfect-scrollbar.jquery.js'],
                'mmenu' =>
-                       ['js/libs/mmenu/jquery.mmenu.min.js',
-                               'js/libs/mmenu/jquery.mmenu.rtl.min.js',
-                               'js/libs/mmenu/jquery.mmenu.offcanvas.min.js',],
+                       ['js/libs/mmenu/jquery.mmenu.all.js'],
                'tweenmax' =>
                        ['js/libs/gsap/TweenMax.min.js',
                                'js/libs/gsap/jquery.gsap.min.js',
-                               'js/libs/threejs/Tweenmax.threejs.js',],
+                               'js/libs/threejs/Tweenmax.threejs.js',
+                       ],
                'hammer' => ['js/libs/hammer.min.js',],
                'gal' =>
                        ['js/libs/gal/gal.js',
@@ -77,6 +80,7 @@ class wsHTML5Compiler
                                'js/libs/fluidbook/menu/fluidbook.index.js',
                                'js/libs/fluidbook/fluidbook.landingpage.js',
                                'js/libs/fluidbook/fluidbook.slideshow.js',
+                               'js/libs/fluidbook/fluidbook.print.js',
                                'js/libs/fluidbook/fluidbook.js',
                                'js/main.js']
        ];
@@ -666,6 +670,9 @@ class wsHTML5Compiler
 
                        $script = '<script type="text/javascript" charset="utf-8" src="data/datas.js"></script>' . "\n";
                        foreach ($this->jsLibs as $jsLib => $files) {
+                               if ($jsLib == 'threejs-legacy') {
+                                       continue;
+                               }
                                $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/' . $jsLib . '.js"></script>' . "\n";
                        }
                        if ($this->book->parametres->scorm_enable) {
@@ -1245,7 +1252,7 @@ class wsHTML5Compiler
                                mkdir(dirname($minimized));
                        }
                        if (file_exists($minimized)) {
-                               $mintime = max(filemtime($minimized), filemtime(__FILE__));
+                               $mintime = filemtime($minimized);
                                $reminimize = false;
                        } else {
                                $mintime = 0;
@@ -1422,6 +1429,27 @@ class wsHTML5Compiler
                        $thisimagesvg = !$thisrasterize && $this->svg;
                        $thisbackgroundPrefix = $thisrasterize ? ['t'] : $this->backgroundsPrefix;
 
+                       foreach ($this->getResolutions() as $r) {
+                               foreach ($thisbackgroundPrefix as $backgroundsPrefix) {
+                                       $srcPrefix = $backgroundsPrefix;
+                                       if ($backgroundsPrefix == 'p') {
+                                               $srcPrefix = 'h';
+                                       }
+                                       $source = $docdir . 'html/' . $srcPrefix . $r . '-' . $infos['document_page'] . '.jpg';
+                                       if (!file_exists($source)) {
+                                               if (!isset($doc) || $doc->document_id != $infos['document_id']) {
+                                                       $dao = new wsDAODocument($core->con);
+                                                       $doc = $dao->selectById($infos['document_id']);
+                                               }
+                                               $doc->makeHTML5Files($infos['document_page']);
+                                       }
+                                       $ok = $this->vdir->copy($source, 'data/background/' . $r . '/' . $backgroundsPrefix . $page . '.jpg');
+                                       if (!$ok && $r = 300) {
+                                               $this->maxRes = 150;
+                                       }
+                               }
+                       }
+
                        if ($thisimagesvg) {
                                $full = $docdir . 'html/fp' . $infos['document_page'] . '.svg';
                                $fullopt = $docdir . 'html/fo' . $infos['document_page'] . '%s.svg';
@@ -1446,18 +1474,6 @@ class wsHTML5Compiler
                                }
                        }
 
-                       foreach ($this->getResolutions() as $r) {
-                               foreach ($thisbackgroundPrefix as $backgroundsPrefix) {
-                                       $srcPrefix = $backgroundsPrefix;
-                                       if ($backgroundsPrefix == 'p') {
-                                               $srcPrefix = 'h';
-                                       }
-                                       $ok = $this->vdir->copy($docdir . 'html/' . $srcPrefix . $r . '-' . $infos['document_page'] . '.jpg', 'data/background/' . $r . '/' . $backgroundsPrefix . $page . '.jpg');
-                                       if (!$ok && $r = 300) {
-                                               $this->maxRes = 150;
-                                       }
-                               }
-                       }
 
                        $thumb = false;
                        if ($this->book->parametres->pdfThumbnails) {
@@ -1598,9 +1614,17 @@ class wsHTML5Compiler
                $res[] = '.doublePage._2d.axis_y.next{' . wsHTML5::writeCSSUA('transform', 'translate3d(0,' . $h . ',0)') . '}';
                $res[] = '.doublePage._2d.axis_y.prev{' . wsHTML5::writeCSSUA('transform', 'translate3d(0,-' . $h . ',0)') . '}';
 
-               $res[] = '.doublePage._3d{left:' . $w . ';}';
-               $res[] = '#links.right{left:-' . $w . ';}';
-               $res[] = '.landscape .page.right{left:' . $w . '}';
+
+               $left = $w;
+               if ($this->book->parametres->correctCenter) {
+                       $centerOffset = 3;
+                       $left = ($cssWidth - $centerOffset) . 'px';
+                       $res[] = '.doublePage._3d .page.left{left:-' . ($centerOffset + 1) . 'px !important;}';
+               }
+
+               $res[] = '.doublePage._3d{left:' . $left . ';}';
+               $res[] = '#links.right{left:-' . $left . ';}';
+               $res[] = '.landscape .page.right{left:' . $left . '}';
 
                $lessVariables['page-number-color'] = wsHTML5::colorToCSS($this->theme->parametres->colorPageNumber);
                $lessVariables['display-page-number'] = $this->_lessBoolean($this->theme->parametres->displayPageNumber);