]> _ Git - cubeextranet.git/commitdiff
wait #4083
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 23 Nov 2020 16:18:45 +0000 (16:18 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 23 Nov 2020 16:18:45 +0000 (16:18 +0000)
inc/ws/Util/html5/master/class.ws.html5.compiler.php
inc/ws/Util/html5/master/class.ws.html5.links.php

index 79dd5af4bcbc62993b4bc43fee2d395833a87eb4..3b3f06976c0782585548b310ff0172b5d6dd9dfc 100644 (file)
@@ -1725,9 +1725,10 @@ class wsHTML5Compiler
         if ($l === 'splide') {
             $this->addJsLib('splide', 'js/libs/splide/splide.js');
         }
-        $this->addLess('slideshow/' . $l);
+
         $this->addJsLib('slideshow', ['js/libs/fluidbook/slideshow/fluidbook.slideshow.js',
             'js/libs/fluidbook/slideshow/fluidbook.slideshow.' . $l . '.js']);
+        $this->addLess('slideshow/' . $l);
     }
 
     public function addSEOArticle($page, $title, $intro, $image, $id = null, $url = null, $content = '')
@@ -2291,9 +2292,14 @@ class wsHTML5Compiler
                 continue;
             }
 
+            $dir = dirname($destination_css);
+
+            if (file_exists($dir) && !is_dir($dir)) {
+                unlink($dir);
+            }
             // LESS file might be in a subfolder, so create if it doesn't exist
-            if (!is_dir(dirname($destination_less))) {
-                mkdir(dirname($destination_less), 0777, true);
+            if (!file_exists($dir)) {
+                mkdir($dir, 0777, true);
             }
 
             // Less files must be copied to temporary directory so they'll
@@ -2305,6 +2311,7 @@ class wsHTML5Compiler
             $less->execute();
             $less->debug();
             if (!file_exists($destination_css)) {
+                die($less->output);
                 continue;
             }
             $this->vdir->copy($destination_css, 'style/' . $f . '.css');
index d3179e4be085e377ecf5888c26d5d83dc9e1a30f..f5cc634b6f26ba1784f110fdc82be8c5589fde50 100644 (file)
@@ -1459,25 +1459,11 @@ class imageLink extends contentLink
 
 }
 
-class inlineSlideshowLink extends contentLink
+class inlineSlideshowLink extends slideshowLink
 {
     public function getHTMLContent()
     {
-        $d = $this->unzipFile($this->to, false);
-        $this->compiler->vdir->copyDirectory($d['dir'], $d['fdir']);
-
-        $iterator = CubeIT_Files::getRecursiveDirectoryIterator($d['dir']);
-
-        $files = array();
-        foreach ($iterator as $f) {
-            /* @var $f SplFileInfo */
-            $files[] = $f->getFilename();
-        }
-        sort($files);
-        $f = htmlspecialchars(json_encode($files), ENT_QUOTES);
-
-        $this->compiler->addSlideshowLibrary(true);
-        return '<div class="inlineslideshow" data-dir="' . str_replace('.', '_', $this->to) . '" data-images="' . $f . '"></div>';
+        return $this->generateSlideshow('inline');
     }
 }
 
@@ -2355,7 +2341,7 @@ class slideshowLink extends normalLink
 
     public function getAdditionnalContent()
     {
-        return 'data-slideshow="' . rawurlencode($this->generateSlideshow()) . '" ';
+        return 'data-slideshow="' . rawurlencode($this->generateSlideshow('popup')) . '" ';
     }
 
 //    public function keep() {
@@ -2367,9 +2353,9 @@ class slideshowLink extends normalLink
         return 'view slideshow';
     }
 
-    public function generateSlideshow()
+    public function generateSlideshow($context)
     {
-        $this->compiler->addSlideshowLibrary(false);
+        $this->compiler->addSlideshowLibrary($context==='inline');
 
         $this->allowed_extensions = ['jpg', 'png', 'jpeg', 'gif'];
 
@@ -2443,7 +2429,8 @@ class slideshowLink extends normalLink
             $res .= '<div class="fb-slideshow-thumbnails splide" id="' . $slideshowID . '_thumbnails">' . $this->_slides($slides, ['show_captions' => false, 'max_height' => $this->thumbnail_height]) . '</div>';
         }
 
-        $res = '<div class="fb-slideshow-wrapper">' . $res . '</div>';
+        $lib = $context === 'popup' ? $this->compiler->book->parametres->popupSlideshowLibrary : $this->compiler->book->parametres->inlineSlideshowLibrary;
+        $res = '<div class="fb-slideshow-wrapper ' . $lib . ' fb-slideshow-'.$context.'">' . $res . '</div>';
 
         return $res;
     }