]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 23 Feb 2010 13:46:13 +0000 (13:46 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 23 Feb 2010 13:46:13 +0000 (13:46 +0000)
inc/ws/Controlleur/class.ws.conversion.session.php
inc/ws/Controlleur/class.ws.flash.php
inc/ws/Metier/class.ws.document.php

index 6c0accbfaf5b13a8c2f068335ed32c993d77d860..dcd1e6e664355fa883f36ea335ff13cf70dad774 100644 (file)
@@ -6,10 +6,15 @@ class wsConversionSession {
        protected $guid;\r
        protected $progress = 0;\r
        protected $processing = false;\r
-       protected $inited=false;\r
+       protected $inited = false;\r
        protected $complete = false;\r
        protected $totalPages = null;\r
+       protected $currentDoc = null;\r
+       protected $currentDocPage = 0;\r
+       protected $totalDocPage = 0;\r
+       protected $totalDoc = 0;\r
        protected $processedPages = 0;\r
+       protected $processedDoc = 0;\r
 \r
        public function __construct($guid)\r
        {\r
@@ -32,7 +37,8 @@ class wsConversionSession {
                foreach($this->documents as $doc) {\r
                        $this->totalPages += $doc->getPagesNumber();\r
                }\r
-               $inited=true;\r
+               $this->totalDoc = count($this->documents);\r
+               $inited = true;\r
        }\r
 \r
        public function process()\r
@@ -42,11 +48,15 @@ class wsConversionSession {
                $this->serialize();\r
 \r
                foreach($this->documents as $doc) {\r
+                       $this->currentDoc = $doc;\r
                        for($i = 1;$i <= $doc->generalInfos['pages'];$i++) {\r
+                               $this->currentDocPage = $i;\r
+                               $this->totalDocPage = $doc->generalInfos['pages'];\r
+                               $this->setProgress(($this->processedPages / $this->totalPages) * 100);\r
                                $doc->processOnePage($i);\r
                                $this->processedPages++;\r
-                               $this->setProgress(($this->processedPages / $this->totalPages) * 100);\r
                        }\r
+                       $this->processedDoc++;\r
                }\r
 \r
                $this->complete = true;\r
@@ -56,7 +66,14 @@ class wsConversionSession {
 \r
        public function getProgress()\r
        {\r
-               return $this->progress;\r
+               return array("progress" => $this->progress,\r
+                       'currentDoc' => $this->currentDoc->file,\r
+                       'totalDoc' => $this->totalDoc,\r
+                       'currentDocPage' => $this->currentDocPage,\r
+                       'totalDocPage' => $this->totalDocPage,\r
+                       'totalPages' => $this->totalPages,\r
+                       'processedPages' => $this->processedPages,\r
+                       'processedDoc' => max($this->processedDoc + 1, $this->totalDoc));\r
        }\r
 \r
        public function setProgress($i)\r
@@ -82,7 +99,7 @@ class wsConversionSession {
 \r
        public function __destruct()\r
        {\r
-               //$this->serialize();\r
+               // $this->serialize();\r
        }\r
 \r
        public static function openFromGUID($guid)\r
index 096fc428ebcaef527978af9b854cd72c5218aa13..46fc00f9ea270b72fbf6fbb7dd7d48bd3c8bd5a6 100644 (file)
@@ -24,7 +24,7 @@ class wsFlash extends cubeFlashGateway {
                        $data = array();\r
                        $data['proprietaire'] = $core->user->utilisateur_id;\r
                        $data['pages'] = 0;\r
-                       $data['file'] = $infos['name'];\r
+                       $data['file'] = cubeFiles::tidyName($infos['name']);\r
                        $li = new wsDocumentLocalInfos();\r
                        $li->fileName = $this->args['fileName'];\r
                        $li->fileSize = $this->args['fileSize'];\r
@@ -94,9 +94,13 @@ class wsFlash extends cubeFlashGateway {
        {\r
                set_time_limit(1);\r
                $session = wsConversionSession::openFromGUID($_SESSION['sessionConversionGUID']);\r
-               $this->xml->addChild('progress', $session->getProgress());\r
-               $this->xml->addChild('totalPages',$session->getTotalPages());\r
-               $this->xml->addChild('processedPages',$session->getProcessedPages());\r
+               $p = $session->getProgress();\r
+               $this->xml->addChild('progress', $p['progress']);\r
+               $this->xml->addChild('processedDoc', $p['processedDoc']);\r
+               $this->xml->addChild('totalDoc', $p['totalDoc']);\r
+               $this->xml->addChild('currentDoc', $p['currentDoc']);\r
+               $this->xml->addChild('currentDocPage', $p['currentDocPage']);\r
+               $this->xml->addChild('totalDocPage', $p['totalDocPage']);\r
        }\r
 }\r
 \r
index 3b1218052c3bf924175e82227e10b8e190dabaae..47211fa17e7982d3063df05962b8a48747741487 100644 (file)
@@ -36,7 +36,8 @@ class wsDocument extends cubeMetier {
        const FLATTEN = 1;\r
        const POLY2BITMAP = 2;\r
        const BITMAP = 3;\r
-       const BARBARE = 4;\r
+       const BARBARE_PNM = 4;\r
+       const BARBARE_GS = 5;\r
 \r
        public function init()\r
        {\r
@@ -337,7 +338,7 @@ class wsDocument extends cubeMetier {
                }\r
 \r
                $out = $this->pdf2swf($page, $resolution, $quality, $storeAllChars, $method, $multiply);\r
-               if ($method < self::BARBARE) {\r
+               if ($method < self::BARBARE_PNM) {\r
                        // Analyse de la sortie pour détecter des typos manquantes\r
                        $overflow = false;\r
                        $overflowObjects = false;\r
@@ -471,7 +472,7 @@ disablelinks                Disable links.
                        unlink($this->out . 'p' . $page . '.swf');\r
                }\r
 \r
-               if ($method < self::BARBARE) {\r
+               if ($method < self::BARBARE_PNM) {\r
                        $resolution2multiply = array(72 => 2, 100 => 2, 150 => 3, 200 => 3, 300 => 3, 450 => 4, 600 => 5);\r
 \r
                        $pdf2swf = new cubeCommandLine('pdf2swf', null, true);\r
@@ -520,7 +521,7 @@ disablelinks                Disable links.
                        $this->addToLog($pdf2swf, true);\r
                        return array('outputfile' => $pdf2swf->outputfile, 'multiply' => $multiply, 'object' => $pdf2swf);\r
                } else {\r
-                       return array('outputfile' => $this->pdf2swfBarbare($page, $resolution, $quality), 'multiply' => 1);\r
+                       return array('outputfile' => $this->pdf2swfBarbare($page, $resolution, $quality, $method), 'multiply' => 1);\r
                }\r
        }\r
 \r
@@ -539,10 +540,14 @@ disablelinks                Disable links.
                $this->addToLog($swfcombine);\r
        }\r
 \r
-       protected function pdf2swfBarbare($page = null, $resolution = 150, $quality = 85)\r
+       protected function pdf2swfBarbare($page = null, $resolution = 150, $quality = 85, $method = 4)\r
        {\r
                // Fabrique les images\r
-               $this->makeShot($page, 'barbare', $resolution, $quality, 4, 'PNM');\r
+               if ($method == BARBARE_PNM) {\r
+                       $this->makeShot($page, 'barbare', $resolution, $quality, 4, 'PNM');\r
+               } elseif ($method == BARBARE_GS) {\r
+                       $this->makeShot($page, 'barbare', $resolution, $quality, 4, 'GS');\r
+               }\r
                // A partir des images, on crée les swf\r
                if (is_null($page)) {\r
                        $startpage = 1;\r