]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Sat, 16 Jul 2011 15:04:18 +0000 (15:04 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Sat, 16 Jul 2011 15:04:18 +0000 (15:04 +0000)
images/ws/html5.png [new file with mode: 0644]
images/ws/macos.png
inc/ws/Controlleur/class.ws.url.php
inc/ws/Util/packager/html5/class.ws.packager.html5.links.php
inc/ws/Util/packager/html5/class.ws.packager.html5.php

diff --git a/images/ws/html5.png b/images/ws/html5.png
new file mode 100644 (file)
index 0000000..82b8968
Binary files /dev/null and b/images/ws/html5.png differ
index a8577d79fdea54751e5d5f82f2ba16a11896a5c2..d184cfe81935e05c1e15c032cdb1781581511298 100644 (file)
Binary files a/images/ws/macos.png and b/images/ws/macos.png differ
index 78e1e30932505e9be0df9449a428373925ee86e9..86074070c900076c62c52c6f80ec79fe455be9d2 100644 (file)
@@ -158,7 +158,7 @@ class wsUrl {
                $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 (wsDroits::admin()) {\r
-                       $versions['html5'] = array('title' => __('Version HTML5 (&alpha;)'), 'icon' => cubeMedia::silk('page_white_world.png'));\r
+                       $versions['html5'] = array('title' => __('Version HTML5 (&alpha;)'), 'icon' => cubeMedia::image(IMG . '/html5.png'));\r
                }\r
 \r
                $res = '<div class="contextMenu downbookContextMenu" id="' . $id . '">';\r
index 22aff77f21689fa386a79052c219640eb56da0f1..3a5c151997081faf2deb72e1bba0478f7287fc64 100644 (file)
@@ -184,7 +184,7 @@ class internalLink extends normalLink {
                if ($this->numerotation == 'physical') {
                        return $this->to;
                } else {
-                       return $this->to;
+                       return $this->packager->virtualToPhysical($this->to);
                }
        }
 
@@ -242,7 +242,7 @@ class webVideoLink extends videoLink {
 
        public function getEmbedURL() {
                if ($this->video_service == 0) {
-                       $url = 'http://www.youtube.com/embed/' . $this->to .'?html5=1';
+                       $url = 'http://www.youtube.com/embed/' . $this->to . '?html5=1';
                } else {
                        $url = 'http://www.dailymotion.com/embed/video/' . $this->to;
                }
index a6cdfed8669c700281eb88f645a40df1063139c0..450373e548cb010c69d6aa462d557cb14a5f44e4 100644 (file)
@@ -16,6 +16,7 @@ class wsPackagerHTML5 extends wsPackager {
        protected $scale;\r
        protected $multiply;\r
        protected $div = array();\r
+       protected $numerotation;\r
        protected static $resolutions = array(36, 72, 150);\r
        protected static $uaPrefixes = array('-moz-', '-webkit-', '-o-', '-ms-', '');\r
 \r
@@ -38,6 +39,7 @@ class wsPackagerHTML5 extends wsPackager {
                $this->pdf2htmlRatio = $imagesize[0] / $this->layouts[1]['width'];\r
                $this->scale = 4;\r
                $this->multiply = $this->pdf2htmlRatio * $this->scale;\r
+               $this->numerotation = explode(',', $this->book->numerotation);\r
 \r
                $this->createHTML();\r
        }\r
@@ -47,6 +49,14 @@ class wsPackagerHTML5 extends wsPackager {
                return $this->zip();\r
        }\r
 \r
+       public function virtualToPhysical($virtual) {\r
+               if (!in_array($virtual, $this->numerotation)) {\r
+                       return 1;\r
+               }\r
+               $p = array_search($virtual, $this->numerotation);\r
+               return $p + 1;\r
+       }\r
+\r
        protected function createHTML() {\r
                foreach ($this->layouts as $page => $layout) {\r
                        $this->div[$page] = array();\r
@@ -61,6 +71,7 @@ class wsPackagerHTML5 extends wsPackager {
                mkdir($this->vdir . '/data/thumbnails', 0777, true);\r
                mkdir($this->vdir . '/data/style', 0777, true);\r
                mkdir($this->vdir . '/data/links/pages', 0777, true);\r
+               mkdir($this->vdir . '/data/l10n/', 0777, true);\r
 \r
                foreach ($this->div as $n => $page) {\r
                        file_put_contents($this->vdir . '/data/contents/p' . $n . '.html', $this->writePage($page));\r
@@ -69,10 +80,25 @@ class wsPackagerHTML5 extends wsPackager {
                $this->writeImages();\r
                $linksCSS = $this->writeLinks();\r
                $this->writeCSS($this->vdir . '/data/style/style_%d.css', $linksCSS);\r
+               $this->writeLangs();\r
 \r
                file_put_contents($this->vdir . '/data/datas.js', $this->writeConfig());\r
        }\r
 \r
+       protected function writeLangs() {\r
+               global $core;\r
+               $daoLang = new wsDAOLang($core->con);\r
+               $lang = $daoLang->selectById($this->book->lang);\r
+               $langs = $daoLang->selectAll();\r
+\r
+\r
+               $traductions = (!count($this->book->traductions)) ? $lang->traductions : $this->book->traductions;\r
+               file_put_contents($this->vdir . '/data/l10n/default.json', json_encode($traductions));\r
+               foreach ($langs as $lang) {\r
+                       file_put_contents($this->vdir . '/data/l10n/' . $lang->lang_id . '.json', json_encode($lang->traductions));\r
+               }\r
+       }\r
+\r
        protected function writeLinks() {\r
                global $core;\r
                $daoDoc = new wsDAODocument($core->con);\r
@@ -106,6 +132,7 @@ class wsPackagerHTML5 extends wsPackager {
 \r
        protected function writeConfig() {\r
                $config = cubeObject::merge($this->book->parametres->toStandardObject(), $this->theme->parametres->toStandardObject());\r
+               $config->numerotation = explode(',', $this->book->numerotation);\r
                $config->id = $this->book->book_id;\r
                $config->cacheDate = TIME;\r
                return 'DATAS=' . json_encode($config) . ';';\r