From: vincent@cubedesigners.com Date: Thu, 23 Sep 2021 17:52:31 +0000 (+0000) Subject: wait #4697 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=a1b274aff76d6ae428d369fa781e9fae13b41838;p=cubeextranet.git wait #4697 @1 --- diff --git a/inc/ws/Controlleur/class.ws.url.php b/inc/ws/Controlleur/class.ws.url.php index 985c55337..c9aafdeeb 100644 --- a/inc/ws/Controlleur/class.ws.url.php +++ b/inc/ws/Controlleur/class.ws.url.php @@ -564,6 +564,7 @@ class wsUrl $versions['win-html'] = array('title' => __('Version offline') . ' - ' . __('HTML') . ' (' . __('Non adaptée à l\'installation sur un serveur web') . ')', 'icon' => cubeMedia::silk('cd.png')); if ($droits->admin) { $versions['phonegap'] = array('title' => __('Version offline') . ' - ' . __('Application mobile'), 'icon' => cubeMedia::image(IMG . '/phonegap.png')); + $versions['precompiled'] = array('title' => __('Version precompilée') , 'icon' => cubeMedia::image(IMG . '/phonegap.png')); } if (!$select) { diff --git a/inc/ws/Util/html5/class.ws.html5.php b/inc/ws/Util/html5/class.ws.html5.php index 56320f192..f9bd69c61 100644 --- a/inc/ws/Util/html5/class.ws.html5.php +++ b/inc/ws/Util/html5/class.ws.html5.php @@ -91,4 +91,18 @@ class wsHTML5 { return CubeIT_Graphics_Color::colorToCSS($color, $forceAlpha); } + + public static function getSourcesPath($version) + { + if ($version === 'stable') { + return WS_COMPILE_ASSETS . '/player/branches/master'; + } + if ($version === 'dev') { + return WS_COMPILE_ASSETS . '/player/local/master'; + } + list($branch, $location) = explode('|', $version); + return WS_COMPILE_ASSETS . '/player/' . ($location === 'git' ? 'branches' : $location) . '/' . $branch; + } + + } \ No newline at end of file diff --git a/inc/ws/Util/html5/master/class.ws.html5.compiler.php b/inc/ws/Util/html5/master/class.ws.html5.compiler.php index 04da738f0..d5af646f7 100644 --- a/inc/ws/Util/html5/master/class.ws.html5.compiler.php +++ b/inc/ws/Util/html5/master/class.ws.html5.compiler.php @@ -242,16 +242,7 @@ class wsHTML5Compiler $this->multiApp = $this->home = $home; $this->version = $version; - - if ($version == 'stable') { - $this->assets = WS_COMPILE_ASSETS . '/player/branches/master'; - } else if ($version == 'dev') { - $this->assets = WS_COMPILE_ASSETS . '/player/local/master'; - } else { - list($branch, $location) = explode('|', $version); - $this->assets = WS_COMPILE_ASSETS . '/player/' . ($location == 'git' ? 'branches' : $location) . '/' . $branch; - } - + $this->assets = wsHTML5::getSourcesPath($this->version); $this->phonegap = $phonegap; $this->standalone = $standalone || $this->phonegap; diff --git a/inc/ws/Util/packager/_common.php b/inc/ws/Util/packager/_common.php index bc27dea43..85c702090 100644 --- a/inc/ws/Util/packager/_common.php +++ b/inc/ws/Util/packager/_common.php @@ -15,6 +15,7 @@ $__autoload['wsPackagerWinINSTHTML'] = dirname(__FILE__) . '/class.ws.packager.w $__autoload['wsPackagerWinINSTSilentHTML'] = dirname(__FILE__) . '/class.ws.packager.win.inst.silent.html.php'; $__autoload['wsPackagerWinCDHTML'] = dirname(__FILE__) . '/class.ws.packager.win.cd.html.php'; $__autoload['wsPackagerMacEXEHTML'] = dirname(__FILE__) . '/class.ws.packager.mac.exe.html.php'; +$__autoload['wsPackagerPrecompiled'] = dirname(__FILE__) . '/class.ws.packager.precompiled.php'; $__autoload['wsPackagerWinHTML'] = dirname(__FILE__) . '/class.ws.packager.win.html.php'; diff --git a/inc/ws/Util/packager/class.ws.packager.php b/inc/ws/Util/packager/class.ws.packager.php index 7d1e946da..d95ef1cc8 100644 --- a/inc/ws/Util/packager/class.ws.packager.php +++ b/inc/ws/Util/packager/class.ws.packager.php @@ -16,7 +16,7 @@ class wsPackager protected $workingDir; protected $whole = true; protected $_clean = true; - protected $_compileOnConstruct=true; + protected $_compileOnConstruct = true; public $cleanOnDestruct = true; public static function package($book_id, $version, $zip = true, $cleanOnDestruct = true) @@ -24,26 +24,28 @@ class wsPackager global $packager; cubePHP::neverStop(); - if ($version == 'html') { + if ($version === 'html') { $packager = new wsPackagerHTML($book_id); - } else if ($version == 'scorm') { + } else if ($version === 'scorm') { $packager = new wsPackagerSCORM($book_id); - } else if($version=='sharepoint'){ - $packager=new wsPackagerSharepoint($book_id); - }elseif ($version == 'win-html') { + } else if ($version === 'sharepoint') { + $packager = new wsPackagerSharepoint($book_id); + } elseif ($version === 'win-html') { $packager = new wsPackagerWinHTML($book_id); - } else if ($version == 'phonegap') { + } else if ($version === 'phonegap') { $packager = new wsPackagerPhonegap($book_id); - } else if ($version == 'win-exe-html') { + } else if ($version === 'win-exe-html') { $packager = new wsPackagerWinEXEHTML($book_id); - } else if ($version == 'mac-exe-html') { + } else if ($version === 'mac-exe-html') { $packager = new wsPackagerMacEXEHTML($book_id); - } else if ($version == 'win-ins-html') { + } else if ($version === 'win-ins-html') { $packager = new wsPackagerWinINSTHTML($book_id); - } else if ($version == 'win-inss-html') { + } else if ($version === 'win-inss-html') { $packager = new wsPackagerWinINSTSilentHTML($book_id); - } else if ($version == 'win-cd-html') { + } else if ($version === 'win-cd-html') { $packager = new wsPackagerWinCDHTML($book_id); + } else if ($version === 'precompiled') { + $packager = new wsPackagerPrecompiled($book_id); } $packager->cleanOnDestruct = $packager->cleanOnDestruct && $cleanOnDestruct; @@ -76,7 +78,7 @@ class wsPackager $this->workingDir = $this->book->getAssetDir(); - if($this->_compileOnConstruct) { + if ($this->_compileOnConstruct) { $this->compile(); } } diff --git a/inc/ws/Util/packager/class.ws.packager.precompiled.php b/inc/ws/Util/packager/class.ws.packager.precompiled.php new file mode 100644 index 000000000..4f0c990aa --- /dev/null +++ b/inc/ws/Util/packager/class.ws.packager.precompiled.php @@ -0,0 +1,45 @@ +version = 'precompiled'; + } + + + public function prepareHTML5() + { + $res = parent::prepareHTML5(); + $dest = $this->vdir . 'm'; + + // Copy styles + $source = wsHTML5::getSourcesPath($this->book->parametres->mobileLVersion); + $styles = $source . '/style'; + $destLess = $dest . '/_less'; + $cmd = "cp -R $styles $destLess"; + `$cmd`; + + // Copy theme assets + $theme = WS_THEMES . '/' . $this->book->theme . '/'; + $destTheme = $dest . '/_theme'; + $cmd = "cp -R $theme $destTheme"; + `$cmd`; + + // Cleanup + $clean = ['data/thumbnails', 'data/background', 'data/contents', 'data/*.pdf', 'data/style', 'style']; + foreach ($clean as $item) { + $path = $dest . '/' . $item; + if (strstr($item, '.')) { + `rm -f $path`; + } else { + `rm -rf $path`; + } + } + + return $res; + } + + +} \ No newline at end of file