$n = explode(',', $r->num);\r
$pages[$r->book_page] = array('document_id' => $r->document_id, 'document_page' => $r->document_page, 'defaultNum' => $n[$r->document_page-1]);\r
}\r
- fb($pages);\r
return $pages;\r
}\r
\r
{\r
$booleans = array('video_loop', 'video_auto_start', 'video_controls', 'video_sound_on');\r
$pages = $this->getPagesOfBook($book_id);\r
- $res = array();\r
+ $res = array\r
+ ();\r
foreach($pages as $page => $p) {\r
$csv = ROOT . '/docs/' . $p['document_id'] . '/p' . $p['document_page'] . '.csv';\r
$fp = fopen($csv, 'rb');\r
return $res;\r
}\r
\r
+ public function makeTextsIndexes($book_id, &$index)\r
+ {\r
+ $pages = $this->getPagesOfBook($book_id);\r
+ $index = array();\r
+ foreach($pages as $book_page => $infos) {\r
+ $file = ROOT . '/docs/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.txt';\r
+ $text = file_get_contents($file);\r
+ $text = mb_strtolower($text);\r
+ $words = cubeSearch::getWords($text, false, true, false);\r
+\r
+ $this->fillIndexWithWords($index, $book_page, $words);\r
+ }\r
+ ksort($index);\r
+ }\r
+\r
+ protected function fillIndexWithWords(&$index, $page, $words)\r
+ {\r
+ foreach($words as $word) {\r
+ $woa = cubeText::removeAccents($word);\r
+ if (!isset($index[$woa])) {\r
+ $index[$woa] = array('total' => 0, 'words' => array());\r
+ }\r
+ if (!isset($index[$woa]['words'][$word])) {\r
+ $index[$woa]['words'][$word] = array('total' => 0, 'pages' => array());\r
+ }\r
+ if (!isset($index[$woa]['words'][$word]['pages'][$page])) {\r
+ $index[$woa]['words'][$word]['pages'][$page] = 0;\r
+ }\r
+ $index[$woa]['total']++;\r
+ $index[$woa]['words'][$word]['total']++;\r
+ $index[$woa]['words'][$word]['pages'][$page]++;\r
+ }\r
+ }\r
+\r
public function getNumerotationFromDocs($book_id)\r
{\r
$pages = $this->getPagesOfBook($book_id);\r
\r
$daoDoc = new wsDAODocument($this->con);\r
$firstDoc = $daoDoc->selectById($pages[1]['document_id']);\r
- $size=$firstDoc->generalInfos['size'];\r
+ $size = $firstDoc->generalInfos['size'];\r
\r
$daoTheme = new wsDAOTheme($this->con);\r
$theme = $daoTheme->getThemeOfBook($book_id);\r
\r
+ $this->makeTextsIndexes($book_id, $index);\r
+\r
+\r
$flex = new cubeFlexCompiler('FluidbookDatas', ROOT . '/books/datasCompiler/' . $book_id, 'flash.display.Sprite', explode(';', AS3_SOURCES), MXMLC_PATH);\r
$flex->addVariable('links', $book->links);\r
$flex->addVariable('datas', $book->parametres->toStandardObject());\r
$flex->addVariable('numerotation', $book->numerotation);\r
$flex->addVariable('theme', $theme->parametres->toStandardObject());\r
$flex->addVariable('pages', count($pages));\r
- $flex->addVariable('fwidth',$size[0],false,true,'Number');\r
- $flex->addVariable('fheight',$size[1],false,true,'Number');\r
+ $flex->addVariable('fwidth', $size[0], false, true, 'Number');\r
+ $flex->addVariable('fheight', $size[1], false, true, 'Number');\r
+ $flex->addVariable('index', $index);\r
foreach($pages as $i => $infos) {\r
$flex->addBitmap(ROOT . '/docs/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.jpg', 'thumb' . $i);\r
}\r