From: vincent@cubedesigners.com Date: Thu, 21 Apr 2011 16:23:20 +0000 (+0000) Subject: (no commit message) X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=86d226dcd777d5fdafb59ced1586a67b396fc63a;p=cubeextranet.git --- diff --git a/inc/ws/Controlleur/class.ws.maintenance.php b/inc/ws/Controlleur/class.ws.maintenance.php index 1da3727f3..a27186acc 100644 --- a/inc/ws/Controlleur/class.ws.maintenance.php +++ b/inc/ws/Controlleur/class.ws.maintenance.php @@ -16,7 +16,11 @@ class wsMaintenance { global $core; $book_id = $args[0]; $dao = new wsDAODocument($core->con); - $dao->setLinksFromOldFluidbook($book_id); + if ($book_id < 10000) { + $dao->setLinksFromOldFluidbook($book_id); + } else { + $dao->setFluidbookLinksFromCSV($book_id); + } } public static function compactLinks() diff --git a/inc/ws/DAO/class.ws.dao.document.php b/inc/ws/DAO/class.ws.dao.document.php index 81454ee6a..27b2d0f05 100644 --- a/inc/ws/DAO/class.ws.dao.document.php +++ b/inc/ws/DAO/class.ws.dao.document.php @@ -18,6 +18,21 @@ class wsDAODocument extends commonDAO { return $document; } + public function setFluidbookLinksFromCSV($book_id) + { + $daoBook = new wsDAOBook($this->con); + $pages = $daoBook->getPagesOfBook($book_id); + + foreach($pages as $page => $infos) { + $docs[] = $infos['document_id']; + } + + $docs = array_unique($docs); + foreach($docs as $document_id) { + $this->putLinksFromCSV($document_id); + } + } + public function putLinksFromCSV($document_id) { $log = array('Copie des liens du PDF vers la base de données'); @@ -25,12 +40,14 @@ class wsDAODocument extends commonDAO { $booleans = array('video_loop', 'video_auto_start', 'video_controls', 'video_sound_on'); - $c = $this->con->openCursor('document_links'); + $links = array(); + + $c = $this->con->openCursor('document_links_versions'); $c->document_id = $document->document_id; - $c->rulers = json_encode(array()); - $c->links = json_encode(array()); for($page = 1;$page <= $document->generalInfos['pages'];$page++) { + $links[$page] = array(); + $csv = WS_DOCS . '/' . $document->document_id . '/p' . $page . '.csv'; if (!file_exists($csv)) { $log[] = 'Links file of page ' . $page . ' not found'; @@ -40,9 +57,8 @@ class wsDAODocument extends commonDAO { $log[] = 'Links file of page ' . $page . ' found'; $c->update = TIME; - $c->document_page = $page; $fp = fopen($csv, 'rb'); - $links = array(); + while (true) { $line = fgetcsv($fp, 512, ';', '"'); // End of file @@ -69,20 +85,16 @@ class wsDAODocument extends commonDAO { $k++; } $link['page'] = $page; - $links[] = $link; - } - $json = json_encode($links); - $c->links = $json; - try { - $c->insert(); - } - catch(Exception $e) { - fb($e); + $links[$page][] = $link; } $log[] = 'Added ' . count($links) . ' links'; } + $c->links = json_encode($links); + $c->rulers = '[]'; + $c->insert(); + return implode("\n", $log); } @@ -131,7 +143,7 @@ class wsDAODocument extends commonDAO { } foreach($tt['rulers'] as $ruler) { - $rulers[$doc_id][$doc_page][] = $link; + $rulers[$doc_id][$doc_page][] = $ruler; } } @@ -278,7 +290,7 @@ class wsDAODocument extends commonDAO { if (isset($tlinks[$infos['document_id']][$infos['document_page']])) { $l = $tlinks[$infos['document_id']][$infos['document_page']]; foreach($l as $link) { - $link=(array)$link; + $link = (array)$link; $link['page'] = $p; $links[] = $link; }