]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 26 Jan 2012 15:26:35 +0000 (15:26 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 26 Jan 2012 15:26:35 +0000 (15:26 +0000)
fluidbook/compile/index.html
inc/ws/Controlleur/class.ws.url.php
inc/ws/Util/packager/_common.php
inc/ws/Util/packager/class.ws.packager.html.php
inc/ws/Util/packager/class.ws.packager.php
inc/ws/Util/packager/class.ws.packager.v1.php [new file with mode: 0644]

index ee2b1395295b9c01118f4870dfd0f92c571d99b6..6db528074f3da206407e43557999f9e37377d2d5 100644 (file)
@@ -28,7 +28,7 @@
                        }else if(isBadMobile()){\r
                                $redirectPDF\r
                        }else{\r
-                               swfobject.embedSWF("$pathToIndex?junk=$junk", "fluidbook", "100%", "100%", "10.0.22","", getFlashvars($junk),   {"allowScriptAccess":"always","quality":"high","scale":"noscale","wmode":getWmode(),"allowFullScreen":"true"},{"bgcolor":"#$bgcolor"});\r
+                               swfobject.embedSWF("$pathToIndex?junk=$junk", "fluidbook", "100%", "100%", "$flashversion","", getFlashvars($junk),     {"allowScriptAccess":"always","quality":"high","scale":"noscale","wmode":getWmode(),"allowFullScreen":"true"},{"bgcolor":"#$bgcolor"});\r
                        }\r
                </script>\r
                $ga\r
index 3ed76706d1da26a5f4c320e14cdaa737f078b383..abe198ad78cd5af348405df5652ac28f8c0b71e7 100644 (file)
@@ -164,13 +164,15 @@ class wsUrl {
                global $core;\r
 \r
                $versions = array();\r
-               $versions['html'] = array('title' => __('Version online'), 'icon' => cubeMedia::silk('page_white_world.png'));\r
+               $versions['html'] = array('title' => __('Version online'), 'icon' => cubeMedia::silk('page_world.png'));\r
+               if (wsDroits::admin()) {\r
+                       $versions['v1'] = array('title' => __('Version online') . ' - V1', 'icon' => cubeMedia::silk('page_white_world.png'));\r
+               }\r
                $versions['win-exe'] = array('title' => __('Version offline') . ' - ' . __('Executable Windows'), 'icon' => cubeMedia::silk('application_view_tile.png'));\r
                $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
 \r
-\r
                $res = '<div class="contextMenu downbookContextMenu" id="' . $id . '">';\r
                $res .= '<ul>';\r
                $res .= '<li class="head">' . __("Sélectionnez une version") . '</li>';\r
index 31f24a4abdb25a61cf2280e4578e32607116df79..0f48af8ffdc94fac451a2c560bd95b846db9e31a 100644 (file)
@@ -6,4 +6,5 @@ $__autoload['wsPackagerWinEXE'] = dirname(__FILE__) . '/class.ws.packager.win.ex
 $__autoload['wsPackagerWinCD'] = dirname(__FILE__) . '/class.ws.packager.win.cd.php';\r
 $__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
 ?>
\ No newline at end of file
index 6cb3b3e27bc99669f592886cd6d817333622009e..b0e9a445f780566768f93688c6fd0b7c0afb18ad 100644 (file)
@@ -9,6 +9,14 @@ class wsPackagerHTML extends wsPackager {
                $this->version = 'html';\r
        }\r
 \r
+       protected function getMinFlashVersion() {\r
+               return '10.0.22';\r
+       }\r
+\r
+       protected function getSWFFiles() {\r
+               return array('index.swf', 'player.swf');\r
+       }\r
+\r
        protected function preparePackage() {\r
                parent::preparePackage();\r
 \r
@@ -23,7 +31,10 @@ class wsPackagerHTML extends wsPackager {
                $this->copyFluidbookFiles();\r
                $this->mergeJavascript();\r
 \r
-               $this->copyOtherFiles(array('fluidbook.js', 'getflash.gif', 'index.html', 'index.swf', 'player.swf', 'style.css'));\r
+               $others = array('fluidbook.js', 'getflash.gif', 'index.html', 'style.css');\r
+               $others = array_merge($others, $this->getSWFFiles());\r
+\r
+               $this->copyOtherFiles($others);\r
 \r
                mkdir($this->vdir . '/pages/', 0777, true);\r
 \r
@@ -86,7 +97,8 @@ class wsPackagerHTML extends wsPackager {
                        'redirectPDF' => $redirectPDF,\r
                        'junk' => TIME,\r
                        'robots' => $robots,\r
-                       'favicon' => $favicon);\r
+                       'favicon' => $favicon,\r
+                       'flashversion' => $this->getMinFlashVersion());\r
 \r
                $this->origHTML = file_get_contents($this->vdir . '/index.html');\r
                $this->origHTML = $this->replaceHTML($toReplace);\r
index 47c387a326ca3e9ad798e3e2e7469d46ba556ea4..e6a15a508053585539d571c29092470886ca0219 100644 (file)
@@ -12,6 +12,7 @@ class wsPackager {
        protected $themeRoot;\r
        protected $daoBook;\r
        protected $zip;\r
+       protected $workingDir;\r
 \r
        public static function package($book_id, $version, $zip = true) {\r
                global $packager;\r
@@ -27,6 +28,8 @@ class wsPackager {
                        $packager = new wsPackagerWinINST($book_id);\r
                } elseif ($version == 'mac-exe') {\r
                        $packager = new wsPackagerMacEXE($book_id);\r
+               } elseif ($version == 'v1') {\r
+                       $packager = new wsPackagerV1($book_id);\r
                }\r
 \r
                return $packager->makePackage($zip);\r
@@ -50,6 +53,8 @@ class wsPackager {
                $daoTheme = new wsDAOTheme($core->con);\r
                $this->theme = $daoTheme->getThemeOfBook($book_id, true);\r
                $this->themeRoot = WS_THEMES . '/' . $this->theme->theme_id . '/';\r
+\r
+               $this->workingDir = WS_BOOKS . '/working/' . $book_id . '/';\r
        }\r
 \r
        protected function preparePackage() {\r
diff --git a/inc/ws/Util/packager/class.ws.packager.v1.php b/inc/ws/Util/packager/class.ws.packager.v1.php
new file mode 100644 (file)
index 0000000..bcdbb1e
--- /dev/null
@@ -0,0 +1,219 @@
+<?php
+
+class wsPackagerV1 extends wsPackagerHTML {
+
+       public function __construct($book_id) {
+               parent::__construct($book_id);
+               $this->version = 'v1';
+       }
+
+       protected function getMinFlashVersion() {
+               return '8';
+       }
+
+       protected function getSWFFiles() {
+               return array('_v1/index.swf' => 'index.swf');
+       }
+
+       protected function copyFluidbookFiles() {
+               parent::copyFluidbookFiles();
+               unlink($this->vdir . '/data/fd.swf');
+               unlink($this->vdir . '/data/fdl.swf');
+
+               $this->copyThumbnails();
+               $this->copyTexts();
+               $this->copyLinks();
+               $this->copyConfig();
+               $this->copyTheme();
+       }
+
+       protected function copyThumbnails() {
+               foreach ($this->pages as $book_page => $infos) {
+                       copy(WS_DOCS . '/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.jpg', $this->vdir . '/data/p' . $book_page . '.jpg');
+               }
+       }
+
+       protected function copyTexts() {
+               $xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8" ?><movie />');
+
+               foreach ($this->pages as $book_page => $infos) {
+                       $ftext = WS_DOCS . '/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.txt';
+                       if (file_exists($ftext)) {
+                               $xml->addChild('pageText', htmlspecialchars(file_get_contents($ftext)));
+                       } else {
+                               $xml->addChild('pageText', ' ');
+                       }
+               }
+
+               file_put_contents($this->vdir . '/data/texts.xml', $xml->asXML());
+       }
+
+       protected function copyLinks() {
+               global $core;
+
+               /* <oneLink>
+                 <page>0</page>
+                 <linkType>0</linkType>
+                 <linkTo>0</linkTo>
+                 <startX>0</startX>
+                 <endX>0</endX>
+                 <startY>0</startY>
+                 <endY>0</endY>
+                 </oneLink> */
+
+               $xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8" ?><links><oneLink /></links>');
+               $daoDoc = new wsDAODocument($core->con);
+               $daoDoc->getLinksAndRulers($this->book_id, $links, $rulers);
+
+               foreach ($links as $link) {
+                       $one = $xml->addChild('oneLink');
+
+                       if ($link['page'] % 2 == 1) {
+                               $link['page']--;
+                               $link['left']-=$this->book->parametres['width'];
+                       }
+
+                       if ($link['type'] > 6) {
+                               if ($link['type'] == 15) {
+                                       $link['type'] = 6;
+                               } else {
+                                       $link['type'] = 1;
+                               }
+                       }
+
+                       if ($link['type'] == 5 && $link['numerotation'] == 'virtual') {
+                               $link['to'] = $this->__virtualToPhysical($link['to']);
+                       }
+
+                       $one->addChild('page', $link['page']);
+                       $one->addChild('linkTo', $link['to']);
+                       $one->addChild('linkType', $link['type']);
+                       $one->addChild('startX', $link['left']);
+                       $one->addChild('endX', $link['left'] + $link['width']);
+                       $one->addChild('startY', $link['top']);
+                       $one->addChild('endY', $link['top'] + $link['height']);
+
+                       $this->_copyWorkingFile($link['to']);
+               }
+
+               // Chapters
+               /*
+                *   <chapters>
+                 <page>3</page>
+                 <level>0</level>
+                 <txt>c</txt>
+                 </chapters>
+                * 
+                */
+
+               foreach ($this->book->chapters as $c) {
+                       $chap = $xml->addChild('chapters');
+                       $chap->addChild('page', $this->__virtualToPhysical($c['page']));
+                       $chap->addChild('level', $c['level']);
+                       $chap->addChild('txt', htmlspecialchars($c['label']));
+               }
+
+               file_put_contents($this->vdir . '/data/links.xml', $xml->asXML());
+       }
+
+       protected function copyConfig() {
+               global $core;
+
+               $mapping = array('width' => 'sizeX'
+                       , 'height' => 'sizeY',
+                       'repeat' => 'patternFlag',
+                       'zoom' => 'maxZoom',
+                       'zoomw' => 'maxZoomScroll',
+                       'url_link' => 'logoLink',
+                       'pdf' => 'pdfFlag',
+                       'search' => 'searchFlag',
+                       'friend' => 'sendfriendFlag',
+                       'print' => 'printFlag',
+                       'bookmark' => 'bookmarkFlag',
+                       'email_title' => 'emailTitle',
+                       'email_body' => 'emailBody',
+                       'email_editable' => 'emailEditable',
+               );
+
+               $more = array('id' => $this->book_id,
+                       'pagesSplit' => 1,
+                       'pdfName' => 'document.pdf',
+                       'readingDir' => 'ltr');
+
+               $xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8" ?><movie />');
+               $extras = $xml->addChild('extras');
+               $allParams = $more;
+               foreach ($this->book->parametres as $k => $v) {
+                       $allParams[$k] = $v;
+               }
+               foreach ($this->theme->parametres as $k => $v) {
+                       $allParams[$k] = $v;
+               }
+
+               $daoDoc = new wsDAODocument($core->con);
+               $firstDoc = $daoDoc->selectById($this->pages[1]['document_id']);
+               $size = $firstDoc->generalInfos['size'];
+
+               $allParams['width'] = round($size[0], 2);
+               $allParams['height'] = round($size[1], 2);
+
+
+               $daoSignature = new wsDAOSignature($core->con);
+               $s = $daoSignature->selectById($this->book->parametres->signature);
+               $signature = array('fbCredit' => $s->main,
+                       'fbLink' => $s->mainLink,
+                       'partnerCredit' => $s->partner,
+                       'partnerLink' => $s->partnerLink);
+
+
+               $allParams = array_merge($allParams, $signature);
+               $allParams['firstPageNr'] = $this->__virtualToPhysical('1');
+
+               foreach ($allParams as $k => $v) {
+                       if ((stristr($k, 'color') || stristr($k, 'couleur')) && strlen($v) == 8) {
+                               $v = substr($v, 2);
+                       }
+                       $allParams[$k] = $v;
+
+
+                       if (isset($mapping[$k])) {
+                               $k = $mapping[$k];
+                       }
+
+                       $this->_copyWorkingFile($v);
+
+                       $xml->addChild($k, $v);
+                       $extras->addChild($k, $v);
+               }
+
+               $colors = $xml->addChild('colors');
+               $colors->addChild('color', '0x' . $allParams['couleurA']);
+               $colors->addChild('color', '0x' . $allParams['couleurB']);
+               $colors->addChild('color', '0x' . $allParams['couleurS']);
+
+               file_put_contents($this->vdir . '/data/data.xml', $xml->asXML());
+       }
+
+       public function copyTheme() {
+               
+       }
+
+       protected function _copyWorkingFile($file) {
+               $src = $this->workingDir . '/' . $file;
+               if (file_exists($src) && is_file($src)) {
+                       copy($src, $this->vdir . '/data/' . $file);
+               }
+       }
+
+       protected function __virtualToPhysical($page, $default = '') {
+               $n = explode(',', $this->book->numerotation);
+               $keys = array_keys($n, $page);
+               if (count($keys)) {
+                       return $keys[0];
+               }
+               return $default;
+       }
+
+}
+
+?>