$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) {
{\r
return CubeIT_Graphics_Color::colorToCSS($color, $forceAlpha);\r
}\r
+\r
+ public static function getSourcesPath($version)\r
+ {\r
+ if ($version === 'stable') {\r
+ return WS_COMPILE_ASSETS . '/player/branches/master';\r
+ }\r
+ if ($version === 'dev') {\r
+ return WS_COMPILE_ASSETS . '/player/local/master';\r
+ }\r
+ list($branch, $location) = explode('|', $version);\r
+ return WS_COMPILE_ASSETS . '/player/' . ($location === 'git' ? 'branches' : $location) . '/' . $branch;\r
+ }\r
+\r
+\r
}
\ No newline at end of file
$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;
$__autoload['wsPackagerWinINSTSilentHTML'] = dirname(__FILE__) . '/class.ws.packager.win.inst.silent.html.php';\r
$__autoload['wsPackagerWinCDHTML'] = dirname(__FILE__) . '/class.ws.packager.win.cd.html.php';\r
$__autoload['wsPackagerMacEXEHTML'] = dirname(__FILE__) . '/class.ws.packager.mac.exe.html.php';\r
+$__autoload['wsPackagerPrecompiled'] = dirname(__FILE__) . '/class.ws.packager.precompiled.php';\r
\r
\r
$__autoload['wsPackagerWinHTML'] = dirname(__FILE__) . '/class.ws.packager.win.html.php';\r
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)
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;
$this->workingDir = $this->book->getAssetDir();
- if($this->_compileOnConstruct) {
+ if ($this->_compileOnConstruct) {
$this->compile();
}
}
--- /dev/null
+<?php\r
+\r
+class wsPackagerPrecompiled extends wsPackagerHTML\r
+{\r
+ public function __construct($book_id, $vdir = null, $whole = true)\r
+ {\r
+ parent::__construct($book_id, $vdir, $whole);\r
+ $this->version = 'precompiled';\r
+ }\r
+\r
+\r
+ public function prepareHTML5()\r
+ {\r
+ $res = parent::prepareHTML5();\r
+ $dest = $this->vdir . 'm';\r
+\r
+ // Copy styles\r
+ $source = wsHTML5::getSourcesPath($this->book->parametres->mobileLVersion);\r
+ $styles = $source . '/style';\r
+ $destLess = $dest . '/_less';\r
+ $cmd = "cp -R $styles $destLess";\r
+ `$cmd`;\r
+\r
+ // Copy theme assets\r
+ $theme = WS_THEMES . '/' . $this->book->theme . '/';\r
+ $destTheme = $dest . '/_theme';\r
+ $cmd = "cp -R $theme $destTheme";\r
+ `$cmd`;\r
+\r
+ // Cleanup\r
+ $clean = ['data/thumbnails', 'data/background', 'data/contents', 'data/*.pdf', 'data/style', 'style'];\r
+ foreach ($clean as $item) {\r
+ $path = $dest . '/' . $item;\r
+ if (strstr($item, '.')) {\r
+ `rm -f $path`;\r
+ } else {\r
+ `rm -rf $path`;\r
+ }\r
+ }\r
+\r
+ return $res;\r
+ }\r
+\r
+\r
+}
\ No newline at end of file