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