]> _ Git - cubeextranet.git/commitdiff
wip #3869 @1.5
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 7 Sep 2020 15:00:18 +0000 (15:00 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 7 Sep 2020 15:00:18 +0000 (15:00 +0000)
inc/ws/Metier/class.ws.book.parametres.php
inc/ws/Util/html5/master/class.ws.html5.compiler.php

index 6d48bf172bb741a06cd0ea76f36dbdc5872b9b5e..44b24ff8c9bbbdb3e012402207084c5d541e1f0f 100644 (file)
@@ -187,8 +187,9 @@ class wsBookParametres extends wsParametres
         $this->fields['centerBook'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Centrer la publication sur les couvertures'), 'grade' => 2);
         $this->fields['correctCenter'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Corriger les lignes blanches entre les pages'), 'grade' => 2);
         $this->fields['maxResolution'] = array('type' => 'combo', 'default' => 300, 'editable' => true, 'datas' => array('300dpi' => 300, '150dpi' => 150), 'grade' => 2, 'label' => __('Résolution maximale des pages'));
+        $this->fields['dynamicBackgroundColor'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => 'Couleur de fond dynamique', 'grade' => 3];
         $this->forms['3d_mode'] = array('label' => __('Options de visualisation'),
-            'fieldsnames' => array('visualisationMode', 'antialiasReading', 'correctCenter', 'pagesBaseAngle', 'centerBook', '|', 'extraXSpace', 'extraYSpace', '|', 'viewMode', '|', 'maxResolution'));
+            'fieldsnames' => array('visualisationMode', 'antialiasReading', 'correctCenter', 'pagesBaseAngle', 'centerBook', '|', 'extraXSpace', 'extraYSpace', '|', 'viewMode', '|', 'dynamicBackgroundColor', '|', 'maxResolution'));
 
         $this->fields['preload'] = array('type' => 'integer', 'default' => 16, 'editable' => true, 'label' => __('Nombre de pages à précharger'), 'grade' => 3);
 
index ac2ae1538f9c1f76b75dc46169a359feccfe4ca1..6d6e722187230ef2663b9f4103577e8240e353eb 100644 (file)
@@ -926,7 +926,7 @@ class wsHTML5Compiler
 
             $style = array();
             foreach ($sheets as $sheet) {
-                $style[] = '<link type="text/css" rel="stylesheet" media="screen" href="' . $sheet . '?j='.TIME.'">';
+                $style[] = '<link type="text/css" rel="stylesheet" media="screen" href="' . $sheet . '?j=' . TIME . '">';
             }
             $style = implode("\n\t\t", $style);
 
@@ -936,7 +936,7 @@ class wsHTML5Compiler
 
             $beginbody = implode("\n", array_unique($this->beginBody));
 
-            $jstime="?j=".TIME;
+            $jstime = "?j=" . TIME;
 
             $iscript = '';
             if (count($this->htmlmultimedia)) {
@@ -945,18 +945,18 @@ class wsHTML5Compiler
                 $iscript .= '</script>' . "\n";
             }
 
-            $script = '<script type="text/javascript" charset="utf-8" src="data/datas.js'.$jstime.'"></script>' . "\n";
+            $script = '<script type="text/javascript" charset="utf-8" src="data/datas.js' . $jstime . '"></script>' . "\n";
             foreach ($this->jsLibs as $jsLib => $files) {
-                $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/' . $jsLib . '.js'.$jstime.'"></script>' . "\n";
+                $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/' . $jsLib . '.js' . $jstime . '"></script>' . "\n";
             }
             if ($this->book->parametres->scorm_enable) {
-                $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/scorm.js'.$jstime.'"></script>' . "\n";
+                $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/scorm.js' . $jstime . '"></script>' . "\n";
             }
             if (count($this->specialJsFiles)) {
-                $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/special.js'.$jstime.'"></script>' . "\n";
+                $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="data/special.js' . $jstime . '"></script>' . "\n";
             }
             foreach ($this->pluginJs as $p) {
-                $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="' . $p . $jstime.'"></script>' . "\n";
+                $script .= "\t" . '<script type="text/javascript" charset="utf-8" src="' . $p . $jstime . '"></script>' . "\n";
             }
             $script .= $iscript;
 
@@ -1611,6 +1611,18 @@ class wsHTML5Compiler
 
     protected function beforeWriteConfig()
     {
+        // Dynamic background
+        $dbc = [];
+        $p = $this->parseVariables($this->book->parametres->dynamicBackgroundColor);
+        foreach ($p as $range => $color) {
+            $pages = cubeArray::parseRange($range);
+            foreach ($pages as $page) {
+                $dbc[$page] = $color;
+            }
+        }
+        $this->config->dynamicBackgroundColor = $dbc;
+        
+        // Content locks
         uasort($this->content_lock, function ($a, $b) {
             return $a['page'] - $b['page'];
         });
@@ -1623,6 +1635,7 @@ class wsHTML5Compiler
         $this->beforeWriteConfig();
 
         $config = $this->writeConfig();
+
         $this->vdir->file_put_contents('data/datas.js', $config);
         $finals = $this->jsLibs;
         if ($this->book->parametres->scorm_enable) {