]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 28 Jan 2011 10:16:30 +0000 (10:16 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 28 Jan 2011 10:16:30 +0000 (10:16 +0000)
importWs.php
inc/ws/DAO/class.ws.dao.book.php
inc/ws/Metier/class.ws.book.parametres.php
inc/ws/Metier/class.ws.document.php

index 79222b71d3b307e94e37f1daa448c2d8ea64a9e2..97161ea67f7c2463d99bfc5ef839299c609dc814 100644 (file)
@@ -24,6 +24,7 @@ try {
 \r
        touch(ROOT . '/cache/DB_TODO');\r
        $core->dbSync();\r
+       cubeDb::mysqlConvert($core->con);\r
 \r
        $grades = array(0 => 1, 0.4 => 1, '0.4' => 1, 0.5 => 1, '0.5' => 1, 1 => 1, 2 => 2, 3 => 3, 4 => 5);\r
 \r
@@ -309,11 +310,7 @@ try {
                while ($r->fetch()) {\r
                        $c = $core->con->openCursor('documents');\r
                        $c->document_id = $r->did;\r
-                       $c->file = $r->file;\r
-                       $c->proprietaire = getWsUser($r->uid);\r
                        $c->pages = $r->pages;\r
-                       $c->trim = $r->trim;\r
-                       $c->date = $r->date;\r
                        $c->version = 1;\r
                        $c->insert();\r
                        // TODO Copie des fichiers\r
@@ -345,7 +342,7 @@ try {
                        $c->lang = substr(getLangCode($r->lang), 0, 2);\r
                        $c->theme = $r->tid;\r
                        if (strlen($r->lang) > 2) {\r
-                               $c->traductions = json_encode($allTrads[$r->lang]);\r
+                               $c->traductions = json_encode($allTrads[mb_strtolower($r->lang)]);\r
                        } else {\r
                                $c->traductions = '';\r
                        }\r
@@ -356,7 +353,6 @@ try {
                        $c->compteur_visites = 20;\r
                        $c->date = $r->date;\r
                        $parametres = new wsBookParametres(new stdClass());\r
-                       $r->signature = $signatures[$r->tid];\r
                        $parametres->fromRecord($r);\r
 \r
                        $xml = @simplexml_load_string('<extras>' . $r->extras . '</extras>');\r
@@ -365,6 +361,22 @@ try {
                        } else {\r
                                fb('error on extras (Fluidbook # ' . $r->bid);\r
                        }\r
+\r
+                       $n = array();\r
+                       // Pages sans numéro\r
+                       $offset = $r->first_page_nr-1;\r
+                       for($i = 0;$i < $offset;$i++) {\r
+                               $n[] = '';\r
+                       }\r
+                       // Pages avec numero\r
+                       for($j = 1;$j + $offset <= $r->pages;$j++) {\r
+                               $n[] = $j;\r
+                       }\r
+                       $c->numerotation = implode(',', $n);\r
+\r
+                       $parametres->signature = $signatures[$r->tid];\r
+                       $parametres->title = $r->titre;\r
+                       $parametres->visualisationMode = '0';\r
                        $c->parametres = serialize($parametres);\r
                        $c->insert();\r
                }\r
index f35d5774f3184804d50e6eaaa3094a4d7a0f35fe..35b87c7ad0ca77fb73853aed2fd7e1d1665b1b7f 100644 (file)
@@ -360,9 +360,29 @@ class wsDAOBook extends commonDAO {
 \r
        public function setLang($book_id, $base, $traductions)\r
        {\r
+               // Cleanup user translations\r
+               $traductions = json_decode($traductions, true);\r
+               foreach($traductions as $k => $v) {\r
+                       $traductions[$k] = trim($v);\r
+               }\r
+\r
+               $daoLang = new wsDAOLang($this->con);\r
+               $lang = $daoLang->selectById($base);\r
+               // Cleanup base translations\r
+               $baseTraductions = $lang->traductions;\r
+               foreach($baseTraductions as $k => $v) {\r
+                       $baseTraductions[$k] = trim($v);\r
+               }\r
+               // Then compare them. If there is no differences, we don't save translations in the book\r
+               if ($traductions == $baseTraductions) {\r
+                       $t = '';\r
+               } else {\r
+                       $t = json_encode($traductions);\r
+               }\r
+\r
                $c = $this->con->openCursor('books');\r
                $c->lang = $base;\r
-               $c->traductions = json_encode(json_decode($traductions, true));\r
+               $c->traductions = $t;\r
                $c->changedate = TIME;\r
                $c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
        }\r
@@ -564,7 +584,9 @@ class wsDAOBook extends commonDAO {
                $flexLight->addVariable('datas', $book->parametres->toStandardObject(), false, true, 'JSONObject');\r
                $flexLight->addVariable('id', $book_id, false, true, 'uint');\r
 \r
-               $flex->addVariable('traductions', $book->traductions, false, true, 'JSONObject');\r
+               $traductions = (!count($book->traductions))?$lang->traductions:$book->traductions;\r
+\r
+               $flex->addVariable('traductions', $traductions, false, true, 'JSONObject');\r
                $flex->addVariable('chapters', $book->chapters, false, true, 'JSONObject');\r
                $flex->addVariable('extras', '<extras>' . $book->extras . '</extras>', false, true, 'XML');\r
                $flex->addVariable('numerotation', $book->numerotation, false, true, 'String');\r
index a9bbc33deee161f3f0b985d547c2c152832711c8..4f2ffffb72f1623863107b18953e3cda1f036b0e 100644 (file)
@@ -46,7 +46,7 @@ class wsBookParametres extends wsParametres {
                $this->fields['width'] = array('type' => 'float', 'default' => '', 'editable' => false, 'label' => __('Largeur'), 'extra' => false, 'grade' => 0);\r
                $this->fields['height'] = array('type' => 'float', 'default' => '', 'editable' => false, 'label' => __('Hauteur'), 'extra' => false, 'grade' => 0);\r
                // .\r
-               $this->fields['visualisationMode'] = array('type' => 'combo', 'default' => '3', 'editable' => true, 'label' => __("Mode de visualisation"), 'extra' => false, 'grade' => 1,\r
+               $this->fields['visualisationMode'] = array('type' => 'combo', 'default' => '0', 'editable' => true, 'label' => __("Mode de visualisation"), 'extra' => false, 'grade' => 1,\r
                        'datas' => array(__('Mode 3D') => '0',\r
                                __('Mode 2D (caméra fixe et pages à plat)') => '1',\r
                                __("Laisser le choix à l'utilisateur (mode 3D par défaut)") => '2',\r
index 33361c30f32e382ae5056a12ae896b5996aaf928..3e3fb255661ad8c7e9f9f1f5d274bd89b1222228 100644 (file)
@@ -361,7 +361,7 @@ class wsDocument extends cubeMetier {
 \r
        public function makeMiniShot($page)\r
        {\r
-               $this->makeShotFixedWidth($page, 'p', 100, 90, 4, 'GS');\r
+               $this->makeShotFixedWidth($page, 'p', 100, 90, 4, 'PNM');\r
        }\r
 \r
        public function makeRealShot($page)\r
@@ -432,7 +432,7 @@ class wsDocument extends cubeMetier {
                // Device\r
                $gs->setArg('-sDEVICE=jpeg');\r
                // Dispotion & colors\r
-               $gs->setArg('-dUseCIEColor');\r
+               // $gs->setArg('-dUseCIEColor');\r
                $gs->setArg('-dAutoRotatePages=/None');\r
                $gs->setArg('-dUseCropBox');\r
                // Resolution & Quality\r
@@ -465,12 +465,10 @@ class wsDocument extends cubeMetier {
                $pdftoppm->setArg('f', $page);\r
                $pdftoppm->setArg('l', $page);\r
 \r
+               $pdftoppm->setArg('-cropbox');\r
                $pdftoppm->setArg('-freetype yes');\r
                $pdftoppm->setArg('-aa ' . $antialiasing);\r
                $pdftoppm->setArg('-aaVector ' . $antialiasing);\r
-               if (!WINDOWS) {\r
-                       $pdftoppm->setArg('-t1lib yes');\r
-               }\r
                $pdftoppm->setArg('r', $resolution);\r
                $pdftoppm->setArg(null, $in);\r
                $pdftoppm->setArg(null, $this->out . 'ppm');\r