if($book->parametres->version==1){\r
$version='v1';\r
}\r
-\r
+ fb(time(),'start making package');\r
$package = wsPackager::package($book_id, $version, false);\r
\r
+ fb(time(),'start transfert');\r
if ($server == 'references') {\r
$root = '/home/fluidbook/dev/references';\r
$url = 'http://www.fluidbook.com/references/';\r
$cp = new cubeCommandLine('cp');\r
$cp->setPath(CONVERTER_PATH);\r
$cp->setArg('r');\r
- $cp->setArg('u');\r
- $cp->setArg('preserve','timestamps');\r
$cp->setArg(null, $package . '*');\r
$cp->setArg(null, $finalDir);\r
$cp->execute();\r
+ \r
+ fb(time(),'end transfert');\r
\r
$x->addClosePopup();\r
$x->addTruePopup($url . $dir . '/');\r
\r
\r
if ($v1 || $v2) {\r
+ fb(time(),'Compile PDF & Widget');\r
$this->compilePDF($book, $pages);\r
$this->compileWidget($book, $pages);\r
}\r
$res = '';\r
if ($v1) {\r
+ fb(time(),'Compile V1');\r
$res.=$this->compile1($book_id, $book, $pages);\r
$this->touchCompile($book_id, '1');\r
}\r
if ($v2) {\r
+ fb(time(),'Compile V2');\r
$res .= $this->compile3($book_id, $complete, $book, $pages);\r
$this->touchCompile($book_id, '2');\r
}\r
if ($html5) {\r
+ fb(time(),'Compile HTML5');\r
$res.=$this->compileHTML5($book_id);\r
$this->touchCompile($book_id, 'html5');\r
}\r
+ fb(time(),'End Compile');\r
return $res;\r
}\r
\r
class wsPackagerHTML extends wsPackager {\r
\r
protected $origHTML;\r
+ protected $_labels = array();\r
\r
public function __construct($book_id, $vdir = null, $whole = true) {\r
parent::__construct($book_id, $vdir, $whole);\r
\r
$this->copyOtherFiles($others);\r
\r
+ fb(time(), 'start prepare seo');\r
+\r
mkdir($this->vdir . '/pages/', 0777, true);\r
\r
$ga = '';\r
$this->origHTML = file_get_contents($this->vdir . '/index.html');\r
$this->origHTML = $this->replaceHTML($toReplace);\r
\r
+\r
+\r
$nav1 = $this->makeHTMLNav(true);\r
$nav = $this->makeHTMLNav(false);\r
$footer = $this->makeHTMLFooter();\r
\r
+ fb(time(), 'end prepare constant parts of seo');\r
+\r
foreach ($this->pages as $page => $infos) {\r
$pathToIndex = 'index.swf';\r
$pathToGetflash = 'getflash.gif';\r
$data = str_replace('$pathToGetflash', $pathToGetflash, $data);\r
$data = str_replace('$redirectScript', $redirectScript, $data);\r
\r
+\r
+\r
file_put_contents($this->vdir . $dest, $data);\r
\r
if (!$seoVersion) {\r
break;\r
}\r
}\r
+\r
+ fb(time(), 'end prepare seo');\r
}\r
\r
protected function getFlashvars() {\r
}\r
\r
public function prepareHTML5() {\r
+ fb(time(), 'start prepare html5');\r
if (!$this->whole) {\r
return;\r
}\r
- \r
+\r
$this->daoBook->compile($this->book_id, 'html5');\r
- \r
+\r
$dest = $this->vdir . 'm';\r
mkdir($dest, 0777, true);\r
\r
$rm->setArg(null, $dest . '/' . $f);\r
}\r
$rm->execute();\r
+ fb(time(), 'end prepare html5');\r
}\r
\r
public function makePackage($zip) {\r
}\r
\r
protected function _getLabelOfPage($page) {\r
- if($page==1){\r
- return $this->book->parametres->title;\r
+ if(!isset($this->_chapters)){\r
+ $this->_chapters = $this->book->chapters;\r
}\r
\r
- $chapters = $this->book->chapters;\r
- $virtual = $this->_getVirtualPage($page);\r
\r
+ if (isset($this->_labels[$page])) {\r
+ return $this->_labels[$page];\r
+ }\r
+\r
+\r
+ if ($page == 1) {\r
+ $this->_labels[1] = $this->book->parametres->title;\r
+\r
+ return $this->_labels[1];\r
+ }\r
+\r
\r
+ $virtual = $this->_getVirtualPage($page);\r
\r
$candidates = array();\r
foreach ($chapters as $c) {\r
}\r
}\r
if (!count($candidates)) {\r
- return $this->_getLabelOfPage($page-1);\r
+ $this->_labels[$page] = $this->_getLabelOfPage($page - 1);\r
+ return $this->_labels[$page];\r
}\r
\r
usort($candidates, array($this, '_sortCandidates'));\r
- $c=array_shift($candidates);\r
- return $c->label;\r
+ $c = array_shift($candidates);\r
+\r
+ $this->_labels[$page] = $c->label;\r
+ return $this->_labels[$page];\r
}\r
\r
protected function _sortCandidates($a, $b) {\r
}\r
\r
protected function _getVirtualPage($page) {\r
- $num = explode(',',$this->book->numerotation);\r
+ $num = explode(',', $this->book->numerotation);\r
if (isset($num[$page - 1])) {\r
return $num[$page - 1];\r
}\r