From: vincent@cubedesigners.com Date: Tue, 24 Aug 2010 16:27:38 +0000 (+0000) Subject: (no commit message) X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=e140430efb688cc456103599cc90a7b18ad035fa;p=cubeextranet.git --- diff --git a/inc/ws/DAO/class.ws.dao.book.php b/inc/ws/DAO/class.ws.dao.book.php index a035de9b4..5cd42969a 100644 --- a/inc/ws/DAO/class.ws.dao.book.php +++ b/inc/ws/DAO/class.ws.dao.book.php @@ -161,7 +161,6 @@ class wsDAOBook extends extranetDAO { $n = explode(',', $r->num); $pages[$r->book_page] = array('document_id' => $r->document_id, 'document_page' => $r->document_page, 'defaultNum' => $n[$r->document_page-1]); } - fb($pages); return $pages; } @@ -364,7 +363,8 @@ class wsDAOBook extends extranetDAO { { $booleans = array('video_loop', 'video_auto_start', 'video_controls', 'video_sound_on'); $pages = $this->getPagesOfBook($book_id); - $res = array(); + $res = array + (); foreach($pages as $page => $p) { $csv = ROOT . '/docs/' . $p['document_id'] . '/p' . $p['document_page'] . '.csv'; $fp = fopen($csv, 'rb'); @@ -401,6 +401,40 @@ class wsDAOBook extends extranetDAO { return $res; } + public function makeTextsIndexes($book_id, &$index) + { + $pages = $this->getPagesOfBook($book_id); + $index = array(); + foreach($pages as $book_page => $infos) { + $file = ROOT . '/docs/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.txt'; + $text = file_get_contents($file); + $text = mb_strtolower($text); + $words = cubeSearch::getWords($text, false, true, false); + + $this->fillIndexWithWords($index, $book_page, $words); + } + ksort($index); + } + + protected function fillIndexWithWords(&$index, $page, $words) + { + foreach($words as $word) { + $woa = cubeText::removeAccents($word); + if (!isset($index[$woa])) { + $index[$woa] = array('total' => 0, 'words' => array()); + } + if (!isset($index[$woa]['words'][$word])) { + $index[$woa]['words'][$word] = array('total' => 0, 'pages' => array()); + } + if (!isset($index[$woa]['words'][$word]['pages'][$page])) { + $index[$woa]['words'][$word]['pages'][$page] = 0; + } + $index[$woa]['total']++; + $index[$woa]['words'][$word]['total']++; + $index[$woa]['words'][$word]['pages'][$page]++; + } + } + public function getNumerotationFromDocs($book_id) { $pages = $this->getPagesOfBook($book_id); @@ -420,11 +454,14 @@ class wsDAOBook extends extranetDAO { $daoDoc = new wsDAODocument($this->con); $firstDoc = $daoDoc->selectById($pages[1]['document_id']); - $size=$firstDoc->generalInfos['size']; + $size = $firstDoc->generalInfos['size']; $daoTheme = new wsDAOTheme($this->con); $theme = $daoTheme->getThemeOfBook($book_id); + $this->makeTextsIndexes($book_id, $index); + + $flex = new cubeFlexCompiler('FluidbookDatas', ROOT . '/books/datasCompiler/' . $book_id, 'flash.display.Sprite', explode(';', AS3_SOURCES), MXMLC_PATH); $flex->addVariable('links', $book->links); $flex->addVariable('datas', $book->parametres->toStandardObject()); @@ -434,8 +471,9 @@ class wsDAOBook extends extranetDAO { $flex->addVariable('numerotation', $book->numerotation); $flex->addVariable('theme', $theme->parametres->toStandardObject()); $flex->addVariable('pages', count($pages)); - $flex->addVariable('fwidth',$size[0],false,true,'Number'); - $flex->addVariable('fheight',$size[1],false,true,'Number'); + $flex->addVariable('fwidth', $size[0], false, true, 'Number'); + $flex->addVariable('fheight', $size[1], false, true, 'Number'); + $flex->addVariable('index', $index); foreach($pages as $i => $infos) { $flex->addBitmap(ROOT . '/docs/' . $infos['document_id'] . '/p' . $infos['document_page'] . '.jpg', 'thumb' . $i); }