$this->serialize();\r
if (!$this->reload) {\r
$this->currentDoc->globalOperations();\r
- $dao->putLinksFromCSV($this->currentDoc->document_id);\r
+ $log=$dao->putLinksFromCSV($this->currentDoc->document_id);\r
+ $this->currentDoc->addToLog($log);\r
} else if ($this->documentsPages[$doc->document_id] == 'all') {\r
$this->currentDoc->globalOperations();\r
}\r
\r
$res .= '</head>';\r
$res .= '<body style="background-color:#' . $theme->parametres->loadingBackColor . '" onload="this.focus();">';\r
- $res .= cubeMedia::flash2('index.swf', '100%', '100%', $fv, 'fluidbook','', 10, '#' . $theme->parametres->loadingBackColor, $alt, 'true', 'noscale', 'gpu', array('allowScriptAccess' => 'always'));\r
+ $res .= cubeMedia::flash2('index.swf', '100%', '100%', $fv, 'fluidbook', '', 10, '#' . $theme->parametres->loadingBackColor, $alt, 'true', 'noscale', 'gpu', array('allowScriptAccess' => 'always'));\r
$js = array($webcompile . 'fluidbook.js');\r
$jsvar = array();\r
\r
// cubePHP::neverStop();\r
$dao = new wsDAOBook($core->con);\r
header('Content-type: text/plain');\r
- ob_clean();\r
echo $dao->compile($args[1], 3, isset($args[2]));\r
exit;\r
}\r
\r
+ public static function testLinksCSV($args)\r
+ {\r
+ global $core;\r
+ commonDroits::min(5);\r
+\r
+ $dao=new wsDAODocument($core->con);\r
+ header('Content-type: text/plain');\r
+ ob_clean();\r
+ echo $dao->putLinksFromCSV($args[1]);\r
+ }\r
+\r
protected static function checkDocumentVersionOfBook($book_id)\r
{\r
global $core;\r
$flex->addVariable('numerotation', $book->numerotation, false, true, 'String');\r
$flexLight->addVariable('theme', $theme->parametres->toStandardObject(), false, true, 'JSONObject');\r
$flexLight->addVariable('pages', $book->parametres->pages);\r
- $flexLight->addVariable('fwidth', round($size[0],4), false, true, 'Number');\r
- $flexLight->addVariable('fheight', round($size[1],4), false, true, 'Number');\r
+ $flexLight->addVariable('fwidth', round($size[0], 4), false, true, 'Number');\r
+ $flexLight->addVariable('fheight', round($size[1], 4), false, true, 'Number');\r
$flexLight->addVariable('pagesInDatas', $complete, false, true, 'Boolean');\r
$flex->addVariable('index', $index, false, true, 'JSONObject');\r
$flex->addVariable('textes', $textes, false, true, 'JSONObject');\r
+\r
+ fb($pages);\r
+\r
foreach($pages as $i => $infos) {\r
- $swffile = WS_DOCS . '/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.swf';\r
+ $base = WS_DOCS . '/' . $infos['document_id'] . '/p' . $infos['document_page'];\r
+ $swffile = $base . '.swf';\r
if (file_exists($swffile)) {\r
$fsize = filesize($swffile);\r
} else {\r
$fsize = 0;\r
}\r
+\r
+ if ($complete) {\r
+ $flex->addSWF($swffile, 'page' . $i);\r
+ } else {\r
+ $filesToCopy['data/p' . $i. '.swf'] = $swffile;\r
+ }\r
+\r
if ($i == 1) {\r
- $flexLight->addBitmap(WS_DOCS . '/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.jpg', 'thumb1');\r
+ $flexLight->addBitmap($base . '.jpg', 'thumb1');\r
$flexLight->addVariable('size_p_' . $i, $fsize, false, true, 'Number');\r
} else {\r
- $flex->addBitmap(WS_DOCS . '/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.jpg', 'thumb' . $i);\r
+ $flex->addBitmap($base . '.jpg', 'thumb' . $i);\r
$flexLight->addVariable('size_p_' . $i, $fsize, false, true, 'Number');\r
}\r
}\r
$flex->addSound(WS_SOUNDS . '/' . $book->parametres->soundTheme . '/page-flip-2.mp3', 'soundPage1');\r
$flex->addSound(WS_SOUNDS . '/' . $book->parametres->soundTheme . '/cover-flip.mp3', 'soundCover0');\r
}\r
-\r
- if ($complete) {\r
- foreach($pages as $i => $infos) {\r
- $swffile = WS_DOCS . '/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.swf';\r
- $flex->addSWF($swffile, 'page' . $i);\r
- }\r
- } else {\r
- foreach($pages as $i => $infos) {\r
- $swffile = WS_DOCS . '/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.swf';\r
- $filesToCopy['data/p' . $infos['document_page'] . '.swf'] = $swffile;\r
- }\r
- }\r
// Theme assets\r
$themeRoot = WS_THEMES . '/' . $theme->theme_id . '/';\r
\r
\r
public function putLinksFromCSV($document_id)\r
{\r
+ $log = array('Copie des liens du PDF vers la base de données');\r
$document = $this->selectById($document_id);\r
\r
$booleans = array('video_loop', 'video_auto_start', 'video_controls', 'video_sound_on');\r
for($page = 1;$page <= $document->generalInfos['pages'];$page++) {\r
$csv = WS_DOCS . '/' . $document->document_id . '/p' . $page . '.csv';\r
if (!file_exists($csv)) {\r
+ $log[] = 'Links file of page ' . $page . ' not found';\r
continue;\r
}\r
- $c->update = filemtime($csv);\r
+\r
+ $log[] = 'Links file of page ' . $page . ' found';\r
+\r
+ $c->update = TIME;\r
+ $c->document_page = $page;\r
$fp = fopen($csv, 'rb');\r
$links = array();\r
while (true) {\r
if (in_array($k, $booleans)) {\r
$link[$col] = ($line[$k] == '1');\r
} else {\r
- $link[$col] = $line[$k];\r
+ $link[$col] = utf8_encode($line[$k]);\r
}\r
} else {\r
$link[$col] = $default;\r
$link['page'] = $page;\r
$links[] = $link;\r
}\r
- $c->links = json_encode($links);\r
- $c->insert();\r
+ $json = json_encode($links);\r
+ $c->links = $json;\r
+ try {\r
+ $c->insert();\r
+ }\r
+ catch(Exception $e) {\r
+ fb($e);\r
+ }\r
+\r
+ $log[] = 'Added ' . count($links) . ' links';\r
}\r
+\r
+ return implode("\n", $log);\r
}\r
\r
public function setLinksAndRulers($book_id, $links, $rulers)\r
$xml = simplexml_load_file('http://ws.fluidbook.com/books/' . $book_id . '/data/links.xml');\r
$links = $xml->xpath('//oneLink');\r
\r
- /*res.type = type;\r
- res.page = page;\r
- if (page == 0 && rect.x<pageWidth) {\r
- res.page = 1;\r
- res.left -= pageWidth;\r
- }else if(rect.x>=pageWidth && page!=totalPages){\r
- res.left = rect.x-pageWidth;\r
- res.page++;\r
- }else {\r
- res.left = rect.x;\r
- }\r
- res.top = rect.y;\r
- res.width = rect.width;\r
- res.height = rect.height;\r
- res.to = to;\r
- res.target = target;\r
- res.video_loop = video_loop;\r
- res.video_auto_start = video_auto_start;\r
- res.video_controls = video_controls;\r
- res.video_sound_on = video_sound_on;\r
- res.infobulle = infobulle;\r
- res.numerotation = numerotation;*/\r
-\r
$res = array();\r
$lpages = array();\r
foreach($links as $l) {\r
$rulers = array();\r
\r
$sql = 'SELECT *,CONCAT(document_id,\',\',document_page) AS doc_page FROM document_links WHERE (document_id,document_page) IN(' . implode(',', $couples) . ') ORDER BY `update` DESC, FIELD(doc_page,' . implode(',', $couples_order) . ') LIMIT ' . count($pages);\r
- fb($sql);\r
+\r
$r = $this->con->select($sql);\r
$i = 1;\r
while ($r->fetch()) {\r
$ttf2eot->setPath(CONVERTER_PATH);\r
$ttf2eot->setManualArg('< ' . $this->out . '/fonts/web/' . $fname . '.ttf');\r
$ttf2eot->execute();\r
- $this->addToLog($ttf2eot);\r
+ $this->addToLog($ttf2eot,false);\r
} else {\r
$fontforge = new cubeCommandLine('convert.pe');\r
$fontforge->setPath(CONVERTER_PATH);\r