$versions['win-ins'] = array('title' => __('Version offline') . ' - ' . __('Installeur Auto-executable Windows'), 'icon' => cubeMedia::silk('application_view_tile.png'));\r
$versions['mac-exe'] = array('title' => __('Version offline') . ' - ' . __('Exécutable Mac OS X'), 'icon' => cubeMedia::image(IMG . '/macos.png'));\r
$versions['win-cd'] = array('title' => __('Version offline') . ' - ' . __('CD-ROM') . ' / ' . __('Clé USB'), 'icon' => cubeMedia::silk('cd.png'));\r
+ if ($droits->admin) {\r
+ $versions['phonegap'] = array('title' => __('Version offline') . ' - ' . __('Application mobile'), 'icon' => cubeMedia::image(IMG . '/phonegap.png'));\r
+ }\r
\r
$res = '<div class="contextMenu downbookContextMenu" id="' . $id . '">';\r
$res .= '<ul>';\r
\r
header('Content-type: text/plain');\r
ob_end_clean();\r
- echo $dao->compile($args[1], 3, false,true);\r
+ echo $dao->compile($args[1], 3, false, true);\r
exit;\r
}\r
\r
class wsHTML5Compiler {
- public static function factory($book_id, $version = 'stable') {
+ public static function factory($book_id, $version = 'stable', $phonegap = false, $dir = null) {
+ if (is_null($version)) {
+ global $core;
+ $dao = new wsDAOBook($core->con);
+ $book = $dao->selectById($book_id);
+ $version = $book->parametres->mobileLVersion;
+ }
+
if ($version == 'stable') {
- return new wsHTML5Compiler($book_id, $version);
+ return new wsHTML5Compiler($book_id, $version, $phonegap, $dir);
} else {
- return new wsHTML5CompilerDev($book_id, $version);
+ return new wsHTML5CompilerDev($book_id, $version, $phonegap, $dir);
}
}
'js/libs/fluidbook/fluidbook.help.js',
'js/libs/fluidbook/fluidbook.resize.js',
'js/libs/fluidbook/fluidbook.coquillette.js',
+ 'js/libs/fluidbook/fluidbook.stats.js',
'js/libs/fluidbook/fluidbook.js',
'js/main.js');
protected static $debugJsFiles = array(
protected $svg = true;
protected $config = array();
protected $assets = '';
+ protected $phonegap = false;
- function __construct($book_id, $version = 'stable') {
+ function __construct($book_id, $version = 'stable', $phonegap = false, $dir = null) {
global $core;
if ($version == 'stable') {
} else {
$this->assets = WS_COMPILE_ASSETS . '/_html5';
}
+ $this->phonegap = $phonegap;
cubePHP::set_memory('4G');
}
$this->book_id = $book_id;
- $this->vdir = $this->dir = WS_BOOKS . '/html5/' . $book_id . '/';
+ if (is_null($dir)) {
+ $this->dir = WS_BOOKS . '/html5/' . $book_id . '/';
+ } else {
+ $this->dir = $dir;
+ }
+ $this->vdir = $this->dir;
// Clean the folder
`rm -rf $this->vdir`;
$pagesContents = '';
- $script = '<script type="text/javascript" src="data/fluidbook.js"></script>' . "\n";
+ $script = '';
+ if ($this->phonegap) {
+ $script .= '<script type="text/javascript" src="data/cordova.js"></script>' . "\n";
+ }
+ $script .= '<script type="text/javascript" src="data/fluidbook.js"></script>' . "\n";
$script .= '<script type="text/javascript" src="data/search.js"></script>' . "\n";
$description = '';
}
file_put_contents($this->vdir . '/data/datas.js', $config);
+ if ($this->phonegap) {
+ $this->copy($this->assets . '/js/libs/phonegap/cordova.js', $this->vdir . '/data/cordova.js');
+ }
}
public function writeTexts() {
if (count($class)) {
$c = ' class="' . implode(' ', $class) . '"';
}
- return '<a href="' . $this->getURL() . '" target="' . $this->getTarget() . '"' . $c . $this->getAdditionnalContent() . '></a>';
+ return '<a href="' . $this->getURL() . '" target="' . $this->getTarget() . '"' . $c . $this->getAdditionnalContent() . $this->getTrack() . '></a>';
+ }
+
+ public function getTrack() {
+ return '';
}
public function getURL() {
return $this->target;
}
+ public function getTrack() {
+ return ' data-track="' . $this->getURL() . '"';
+ }
+
public function getCSS() {
}
return 'mailto:' . $this->to;
}
+ public function getTrack() {
+ return ' data-track="' . $this->to . '"';
+ }
+
public function getTarget() {
return '_self';
}
$__autoload['wsPackagerMacEXE'] = dirname(__FILE__) . '/class.ws.packager.mac.exe.php';\r
$__autoload['wsPackagerAIR'] = dirname(__FILE__) . '/class.ws.packager.air.php';\r
$__autoload['wsPackagerV1'] = dirname(__FILE__) . '/class.ws.packager.v1.php';\r
+$__autoload['wsPackagerPhonegap'] = dirname(__FILE__) . '/class.ws.packager.phonegap.php';\r
?>
\ No newline at end of file
--- /dev/null
+<?php
+
+class wsPackagerPhonegap extends wsPackager {
+
+ public function __construct($book_id, $vdir = null, $whole = true) {
+ parent::__construct($book_id, $vdir, $whole);
+ $this->version = 'phonegap';
+ }
+
+ protected function preparePackage() {
+ parent::preparePackage();
+
+ $compiler = wsHTML5Compiler::factory($this->book_id, null, true, $this->vdir);
+ $compiler->compile();
+ }
+
+ public function makePackage($zip) {
+ parent::makePackage($zip);
+ $res = $this->zip();
+ $this->postPackage();
+ return $res;
+ }
+
+}
+
+?>
$packager = new wsPackagerMacEXE($book_id);\r
} elseif ($version == 'v1') {\r
$packager = new wsPackagerV1($book_id);\r
+ } else if ($version == 'phonegap') {\r
+ $packager = new wsPackagerPhonegap($book_id);\r
}\r
\r
return $packager->makePackage($zip);\r
}\r
\r
public function makePackage($zip) {\r
- parent::makePackage();\r
+ parent::makePackage($zip);\r
$res = $this->zip();\r
$this->postPackage();\r
return $res;\r