]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 21 Apr 2011 16:23:20 +0000 (16:23 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 21 Apr 2011 16:23:20 +0000 (16:23 +0000)
inc/ws/Controlleur/class.ws.maintenance.php
inc/ws/DAO/class.ws.dao.document.php

index 1da3727f30ad096c09622da9a6456b4d613fe3ae..a27186acc7a9fdcf67211bae365f0cfafff9a7cf 100644 (file)
@@ -16,7 +16,11 @@ class wsMaintenance {
                global $core;\r
                $book_id = $args[0];\r
                $dao = new wsDAODocument($core->con);\r
-               $dao->setLinksFromOldFluidbook($book_id);\r
+               if ($book_id < 10000) {\r
+                       $dao->setLinksFromOldFluidbook($book_id);\r
+               } else {\r
+                       $dao->setFluidbookLinksFromCSV($book_id);\r
+               }\r
        }\r
 \r
        public static function compactLinks()\r
index 81454ee6adf31bf5739d39c99358d9bfb70e3615..27b2d0f05303aa745b07f670aa878313d4a1115b 100644 (file)
@@ -18,6 +18,21 @@ class wsDAODocument extends commonDAO {
                return $document;\r
        }\r
 \r
+       public function setFluidbookLinksFromCSV($book_id)\r
+       {\r
+               $daoBook = new wsDAOBook($this->con);\r
+               $pages = $daoBook->getPagesOfBook($book_id);\r
+\r
+               foreach($pages as $page => $infos) {\r
+                       $docs[] = $infos['document_id'];\r
+               }\r
+\r
+               $docs = array_unique($docs);\r
+               foreach($docs as $document_id) {\r
+                       $this->putLinksFromCSV($document_id);\r
+               }\r
+       }\r
+\r
        public function putLinksFromCSV($document_id)\r
        {\r
                $log = array('Copie des liens du PDF vers la base de donnĂ©es');\r
@@ -25,12 +40,14 @@ class wsDAODocument extends commonDAO {
 \r
                $booleans = array('video_loop', 'video_auto_start', 'video_controls', 'video_sound_on');\r
 \r
-               $c = $this->con->openCursor('document_links');\r
+               $links = array();\r
+\r
+               $c = $this->con->openCursor('document_links_versions');\r
                $c->document_id = $document->document_id;\r
-               $c->rulers = json_encode(array());\r
-               $c->links = json_encode(array());\r
 \r
                for($page = 1;$page <= $document->generalInfos['pages'];$page++) {\r
+                       $links[$page] = array();\r
+\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
@@ -40,9 +57,8 @@ class wsDAODocument extends commonDAO {
                        $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
+\r
                        while (true) {\r
                                $line = fgetcsv($fp, 512, ';', '"');\r
                                // End of file\r
@@ -69,20 +85,16 @@ class wsDAODocument extends commonDAO {
                                        $k++;\r
                                }\r
                                $link['page'] = $page;\r
-                               $links[] = $link;\r
-                       }\r
-                       $json = json_encode($links);\r
-                       $c->links = $json;\r
-                       try {\r
-                               $c->insert();\r
-                       }\r
-                       catch(Exception $e) {\r
-                               fb($e);\r
+                               $links[$page][] = $link;\r
                        }\r
 \r
                        $log[] = 'Added ' . count($links) . ' links';\r
                }\r
 \r
+               $c->links = json_encode($links);\r
+               $c->rulers = '[]';\r
+               $c->insert();\r
+\r
                return implode("\n", $log);\r
        }\r
 \r
@@ -131,7 +143,7 @@ class wsDAODocument extends commonDAO {
                        }\r
 \r
                        foreach($tt['rulers'] as $ruler) {\r
-                               $rulers[$doc_id][$doc_page][] = $link;\r
+                               $rulers[$doc_id][$doc_page][] = $ruler;\r
                        }\r
                }\r
 \r
@@ -278,7 +290,7 @@ class wsDAODocument extends commonDAO {
                        if (isset($tlinks[$infos['document_id']][$infos['document_page']])) {\r
                                $l = $tlinks[$infos['document_id']][$infos['document_page']];\r
                                foreach($l as $link) {\r
-                                       $link=(array)$link;\r
+                                       $link = (array)$link;\r
                                        $link['page'] = $p;\r
                                        $links[] = $link;\r
                                }\r