]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 28 Feb 2011 13:44:16 +0000 (13:44 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 28 Feb 2011 13:44:16 +0000 (13:44 +0000)
inc/ws/Controlleur/class.ws.conversion.session.php
inc/ws/DAO/class.ws.dao.book.php
inc/ws/Metier/class.ws.document.php

index a04ae652855bebcf00d0884aea0b6ccd7dca93d7..f9b60b5c49c95cf483245b4138da57578bd6d78e 100644 (file)
@@ -99,6 +99,7 @@ class wsConversionSession {
 \r
                        $this->updateCountPages();\r
                        $this->currentDoc = $dao->updateFromObject($this->currentDoc);\r
+                       $doc_serialized = serialize($this->currentDoc);\r
 \r
                        foreach($docPages as $i => $page) {\r
                                $this->currentDocPage = $i + 1;\r
@@ -111,35 +112,48 @@ class wsConversionSession {
                                        while ($t->isAlive()) {\r
                                                usleep(100000);\r
                                        }\r
-                                       $t->setRunnable(array($this->currentDoc, 'processOnePage'));\r
-                                       $t->start($page, true);\r
+                                       $t->setRunnable(array('wsConversionSession', 'processPage'));\r
+                                       $t->start($doc_serialized, $page);\r
                                } else {\r
                                        $this->currentDoc->processOnePage($page, true);\r
                                }\r
                                $this->processedPages++;\r
                        }\r
 \r
-                       foreach($this->threads as $t) {\r
-                               while ($t->isAlive()) {\r
-                                       usleep(100000);\r
+                       if (cubeThread::available() && $this->nb_threads > 1) {\r
+                               foreach($this->threads as $t) {\r
+                                       while ($t->isAlive()) {\r
+                                               usleep(100000);\r
+                                       }\r
                                }\r
                        }\r
-                       $this->setProgress(($this->processedPages / $this->totalPages) * 100);\r
 \r
-                       $this->currentDoc = $dao->updateFromObject($this->currentDoc);\r
+                       $this->currentDoc = unserialize($doc_serialized);\r
+\r
+                       $core->reloadDBConnection();\r
                        if (!$this->reload) {\r
                                // On n'ajoute les fichiers à la fin du fluidbook que si l'on\r
                                // n'est pas en train de recharger le fluidbook\r
                                $daoBook->appendDocument($this->bookId, $this->currentDoc->document_id);\r
                        }\r
                        $this->processedDoc++;\r
+\r
+                       ob_flush();\r
                }\r
 \r
+               sleep(1);\r
+\r
                $this->complete = true;\r
                $this->processing = false;\r
                $this->setProgress(100);\r
        }\r
 \r
+       public static function processPage($doc_serialized, $page)\r
+       {\r
+               $doc = unserialize($doc_serialized);\r
+               $doc->processOnePage($page, true);\r
+       }\r
+\r
        public function updateCountPages()\r
        {\r
                $this->totalPages = 0;\r
index 4ece529e0013ffd6f083db8f86d6b63984f35439..a9d5dd12cbdfb18306799cab36fb1ba6558dd36f 100644 (file)
@@ -273,6 +273,8 @@ class wsDAOBook extends commonDAO {
                $c = $this->con->openCursor('books');\r
                $c->numerotation = json_encode($num);\r
                $c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
+\r
+               fb('Insert Document ! ' . $book_id . ' ' . $after_page . ' ' . $document_id);\r
        }\r
 \r
        protected function decalePages($book_id, $after_page, $decalage)\r
index 537d9823907f5796ad1a7af94697bfb4946be004..5e4277e358908ca4beb8cd3b46121d24258d6a2c 100644 (file)
@@ -74,8 +74,6 @@ class wsDocument extends cubeMetier {
                if (is_null($this->conversionInfos)) {\r
                        $this->conversionInfos = new wsDocumentConversionInfos();\r
                }\r
-\r
-\r
        }\r
 \r
        public function copyOriginalFromUpload($tmp_file)\r
@@ -786,7 +784,6 @@ disablelinks                Disable links.
 \r
                fwrite($pointer, $c);\r
        }\r
-\r
        public function __destruct()\r
        {\r
                if (isset($this->common_log_pointer) && is_resource($this->common_log_pointer)) {\r