From 115cd39e66d53a08da274c7bec26641c98bdbd22 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Mon, 9 May 2011 17:45:30 +0000 Subject: [PATCH] --- inc/ws/DAO/class.ws.dao.book.php | 18 +++++++++++++++--- inc/ws/Metier/class.ws.book.parametres.php | 2 +- inc/ws/Metier/class.ws.document.php | 7 ++++++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/inc/ws/DAO/class.ws.dao.book.php b/inc/ws/DAO/class.ws.dao.book.php index 3130b3fb7..051dfc85a 100644 --- a/inc/ws/DAO/class.ws.dao.book.php +++ b/inc/ws/DAO/class.ws.dao.book.php @@ -621,8 +621,12 @@ class wsDAOBook extends commonDAO { $flex->addVariable('index', $index, false, true, 'JSONObject'); $flex->addVariable('textes', $textes, false, true, 'JSONObject'); + $rasterized = array(); + $sizes = array(); + foreach ($pages as $i => $infos) { $base = WS_DOCS . '/' . $infos['document_id'] . '/p' . $infos['document_page']; + $baset = WS_DOCS . '/' . $infos['document_id'] . '/t' . $infos['document_page']; $swffile = $base . '.swf'; if (file_exists($swffile)) { $fsize = filesize($swffile); @@ -634,17 +638,25 @@ class wsDAOBook extends commonDAO { $flex->addSWF($swffile, 'page' . $i); } else { $filesToCopy['data/p' . $i . '.swf'] = $swffile; + if ($infos['method'] >= wsDocument::BARBARE_PNM) { + $rasterized[$i] = true; + $filesToCopy['data/t' . $i . '.swf'] = $baset . '.swf'; + } else { + $rasterized[$i] = false; + } } if ($i == 1) { $flexLight->addBitmap($base . '.jpg', 'thumb1'); - $flexLight->addVariable('size_p_' . $i, $fsize, false, true, 'Number'); } else { $flex->addBitmap($base . '.jpg', 'thumb' . $i); - $flexLight->addVariable('size_p_' . $i, $fsize, false, true, 'Number'); } + $sizes[$i] = $fsize; } + $flexLight->addVariable('rasterized', $rasterized, false, true, 'JSONObject'); + $flexLight->addVariable('sizes', $sizes, false, true, 'JSONObject'); + if ($book->parametres->soundTheme != '') { $flex->addSound(WS_SOUNDS . '/' . $book->parametres->soundTheme . '/corner-drag.mp3', 'soundDragCorner'); $flex->addSound(WS_SOUNDS . '/' . $book->parametres->soundTheme . '/corner-release.mp3', 'soundReleaseCorner'); @@ -681,7 +693,7 @@ class wsDAOBook extends commonDAO { $flexLight->addVariable('datasSize', filesize($compilerDir . '/FluidbookDatas.swf')); $res .= $flexLight->compile(); // Basket - if ($book->parametres->basket) { + if ($book->parametres->basket) { $formats = array('jpg', 'png', 'jpeg'); $referencesFile = $workingDir . '/' . $book->parametres->basketReferences; $references = array(); diff --git a/inc/ws/Metier/class.ws.book.parametres.php b/inc/ws/Metier/class.ws.book.parametres.php index f7793d901..8d454c67e 100644 --- a/inc/ws/Metier/class.ws.book.parametres.php +++ b/inc/ws/Metier/class.ws.book.parametres.php @@ -47,7 +47,7 @@ class wsBookParametres extends wsParametres { __('Mode 2D (caméra fixe et pages à plat)') => '1', __("Laisser le choix à l'utilisateur (mode 3D par défaut)") => '2', __("Laisser le choix à l'utilisateur (mode 2D par défaut)") => '3')); - $this->fields['viewMode'] = array('type' => 'combo', 'default' => '0', 'editable' => true, 'label' => __("Mode de visualisation (beta)"), + $this->fields['viewMode'] = array('type' => 'combo', 'default' => '3', 'editable' => true, 'label' => __("Mode de visualisation (beta)"), 'datas' => array(__('Classique') => '0', __("Diaporama") => '1'), 'grade' => 5); $this->fields['pagesBaseAngle'] = array('type' => 'integer', 'default' => '2', 'editable' => true, 'label' => __('Angle de base entre les pages'), 'grade' => 3, diff --git a/inc/ws/Metier/class.ws.document.php b/inc/ws/Metier/class.ws.document.php index 262f28dc2..2b409549a 100644 --- a/inc/ws/Metier/class.ws.document.php +++ b/inc/ws/Metier/class.ws.document.php @@ -802,13 +802,18 @@ class wsDocument extends cubeMetier { } elseif ($method == self::BARBARE_GS) { $this->makeShot($page, 'barbare', $resolution, $quality, 4, 'GS'); } + + $dim = getimagesize($this->out . 'barbare' . $page . '.jpg'); + // A partir des images, on crée les swf $jpeg2swf = new cubeCommandLine('jpeg2swf'); $jpeg2swf->setPath(CONVERTER_PATH); $jpeg2swf->setArg('--quality', $quality); $jpeg2swf->setArg('--output', $this->out . 'p' . $page . '.swf'); - //$jpeg2swf->setArg('--fit-to-movie'); $jpeg2swf->setArg('--flashversion', 10); + $jpeg2swf->setArg('--width', $dim[0] * (72 / $resolution)); + $jpeg2swf->setArg('--height', $dim[1] * (72 / $resolution)); + $jpeg2swf->setArg('--fit-to-movie'); $jpeg2swf->setArg(null, $this->out . 'barbare' . $page . '.jpg'); $jpeg2swf->execute(); $this->addToLog($jpeg2swf, true, $page); -- 2.39.5