]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 24 Aug 2010 16:27:38 +0000 (16:27 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 24 Aug 2010 16:27:38 +0000 (16:27 +0000)
inc/ws/DAO/class.ws.dao.book.php

index a035de9b405a711cb213b9ce5ceb1ee7e2ef4545..5cd42969a6ea7bbb27b3f261e9be3719ec21da81 100644 (file)
@@ -161,7 +161,6 @@ class wsDAOBook extends extranetDAO {
                        $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
@@ -364,7 +363,8 @@ class wsDAOBook extends extranetDAO {
        {\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
@@ -401,6 +401,40 @@ class wsDAOBook extends extranetDAO {
                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
@@ -420,11 +454,14 @@ class wsDAOBook extends extranetDAO {
 \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
@@ -434,8 +471,9 @@ class wsDAOBook extends extranetDAO {
                $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