]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Wed, 13 Jul 2011 13:05:17 +0000 (13:05 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Wed, 13 Jul 2011 13:05:17 +0000 (13:05 +0000)
inc/ws/Controlleur/class.ws.ajax.php
inc/ws/Controlleur/class.ws.url.php
inc/ws/DAO/class.ws.dao.book.php
inc/ws/Metier/class.ws.book.parametres.php

index b26006b94c8f57028d7ce49207799da33552b1ab..51aa71767ecdc34ded51007d066260e27a9d936e 100644 (file)
@@ -168,7 +168,7 @@ class wsAjax extends cubeAjax {
                global $core;\r
                $dao = new wsDAOBook($core->con);\r
                if ($_POST['book'] != '') {\r
-                       $book = $dao->duplicate($_POST['book'], $core->user->utilisateur_id, $_POST['title']);\r
+                       $book = $dao->duplicate($_POST['book'], $core->user->utilisateur_id, $_POST['title'],isset($_POST['pages']));\r
                } else {\r
                        $book = $dao->creeEmpty($core->user->utilisateur_id, $core->user->lang, $_POST['title']);\r
                }\r
index f8fb2f2162be07b76fd5909af93e823c978b2e4b..78e1e30932505e9be0df9449a428373925ee86e9 100644 (file)
@@ -245,7 +245,9 @@ class wsUrl {
 \r
                $res = commonPage::bh();\r
                $res .= '<table class="liste">';\r
-               $res .= '<tr><td><a href="' . SITE_PATH . 'exportLangAsExcel/' . $lang_id . '">' . __('Exporter au format Excel') . '</a></td></tr>';\r
+               $res .= '<tr><td><a href="' . SITE_PATH . 'exportLangAsExcel/' . $lang_id . '">' . __('Exporter au format Excel') . '</a>';\r
+               $res.=' | <a href="' . SITE_PATH . 'exportAllLangsAsExcel/' . $lang_id . '">' . __('Exporter toutes les langues au format Excel') . '</a>';\r
+               $res.='</td></tr>';\r
                $res .= '</table>';\r
                $res .= commonPage::bf();\r
 \r
@@ -272,30 +274,83 @@ class wsUrl {
        public static function exportLangAsExcel($args) {\r
                global $core;\r
 \r
-               $dao = new wsDAOLang($core->con);\r
-\r
                $lang_id = $args[1];\r
-               $lang_name = cubeLang::getNameByCode($lang_id, 'en');\r
 \r
                $xls = new PHPExcel();\r
                $s = $xls->setActiveSheetIndex(0);\r
-               $s->setTitle($lang_name);\r
+\r
+               $lang_name = self::exportLangAsSheet($s, $lang_id, 'en');\r
+\r
+               $xls->setActiveSheetIndex(0);\r
+\r
+               ob_end_clean();\r
+               files::registerMimeTypes(array('xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'));\r
+               cubeHTTP::forceDownload('Fluidbook_' . $lang_name . '.xlsx', false);\r
+\r
+               $writer = new PHPExcel_Writer_Excel2007($xls);\r
+               $writer->save('php://output');\r
+\r
+               exit;\r
+       }\r
+\r
+       public static function exportAllLangsAsExcel($args) {\r
+               global $core;\r
+\r
+               $xls = new PHPExcel();\r
+\r
+               $dao = new wsDAOLang($core->con);\r
+               $all = $dao->selectAll();\r
+\r
+               $i = 0;\r
+               foreach ($all as $l) {\r
+                       try {\r
+                               $s = $xls->getSheet($i);\r
+                       } catch (Exception $e) {\r
+                               $s = $xls->createSheet($i);\r
+                       }\r
+                       self::exportLangAsSheet($s, $l->lang_id, 'en');\r
+                       $i++;\r
+               }\r
+\r
+               $xls->setActiveSheetIndex(0);\r
+\r
+               ob_end_clean();\r
+               files::registerMimeTypes(array('xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'));\r
+               cubeHTTP::forceDownload('Fluidbook_All_Languages.xlsx', false);\r
+\r
+               $writer = new PHPExcel_Writer_Excel2007($xls);\r
+               $writer->save('php://output');\r
+       }\r
+\r
+       public static function exportLangAsSheet($s, $lang_id, $ref_id='en') {\r
+               global $core;\r
+               $dao = new wsDAOLang($core->con);\r
+\r
 \r
                $lang = $dao->selectById($lang_id);\r
-               $en = $dao->selectById('en');\r
+               $ref = $dao->selectById($ref_id);\r
 \r
+               $lang_name = cubeLang::getNameByCode($lang_id, 'en');\r
+               $ref_name = cubeLang::getNameByCode($ref_id, 'en');\r
+\r
+               $s->setTitle(cubeText::str2URL($lang_name));\r
 \r
                $tab = cubeLang::getTranslationsList(PLAYER_SOURCES, array('php', 'as'), array(), $lang->traductions);\r
 \r
                $s->setCellValueByColumnAndRow(0, 1, 'ID', true);\r
-               $s->setCellValueByColumnAndRow(1, 1, 'English', true);\r
+               $s->setCellValueByColumnAndRow(1, 1, $ref_name, true);\r
                $s->setCellValueByColumnAndRow(2, 1, $lang_name, true);\r
 \r
                $j = 2;\r
                foreach ($tab as $msgid => $msgstr) {\r
                        $s->setCellValueByColumnAndRow(0, $j, $msgid);\r
-                       $s->setCellValueByColumnAndRow(1, $j, $en->traductions[$msgid]);\r
+                       $s->setCellValueByColumnAndRow(1, $j, $ref->traductions[$msgid]);\r
                        $s->setCellValueByColumnAndRow(2, $j, $msgstr);\r
+\r
+                       if ($msgstr == '') {\r
+                               $s->getStyleByColumnAndRow(2, $j)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);\r
+                               $s->getStyleByColumnAndRow(2, $j)->getFill()->getStartColor()->setARGB('FFFFFF00');\r
+                       }\r
                        $j++;\r
                }\r
 \r
@@ -303,16 +358,7 @@ class wsUrl {
                $s->getColumnDimensionByColumn(1)->setAutoSize(true);\r
                $s->getColumnDimensionByColumn(2)->setAutoSize(true);\r
 \r
-               $xls->setActiveSheetIndex(0);\r
-\r
-               ob_end_clean();\r
-               files::registerMimeTypes(array('xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'));\r
-               cubeHTTP::forceDownload('Fluidbook_' . $lang_name . '.xlsx', false);\r
-\r
-               $writer = new PHPExcel_Writer_Excel2007($xls);\r
-               $writer->save('php://output');\r
-\r
-               exit;\r
+               return $lang_name;\r
        }\r
 \r
        public static function getFonts() {\r
@@ -726,10 +772,11 @@ html{height:100%}' . "\n";
 \r
        public static function chooseExistingBook() {\r
                wsDroits::creation(true);\r
-               $res = '<tr><td colspan="2"><p style="width:600px;text-align:justify;"><em>' . __("Si votre nouvelle publication a des paramètres en commun avec une publication existante, veuillez rechercher cette publication afin d'attribuer par défaut à votre nouvelle publication les paramètres de l'existante") . '</em></p></td></tr>';\r
+               $res = '<tr><td colspan="2"><p style="width:600px;text-align:justify;"><em>a' . __("Si votre nouvelle publication a des paramètres en commun avec une publication existante, veuillez rechercher cette publication afin d'attribuer par défaut à votre nouvelle publication les paramètres de l'existante") . '</em></p></td></tr>';\r
                $res .= '<tr><td>' . __('Rechercher une publication') . ' : </td><td>' . form::field('book_nom', 64, 1024) . form::hidden('book', '') . '</td></tr>';\r
-               // $res .= '<tr><td colspan="2"><hr /></td></tr>';\r
                $res .= '<tr><td>' . __('Indiquez le titre de votre nouvelle publication') . '</td><td>' . form::field('title', 64, 1024) . '</td></tr>';\r
+               $res .= '<tr><td colspan="2"><label>' . form::checkbox('settings', '1', true, '', '', true, '') . __('Importer les paramètres de la publication') . '</td></tr>';\r
+               $res .= '<tr><td colspan="2"><label>' . form::checkbox('pages', '1', false) . __('Importer les pages et les liens') . '</td></tr>';\r
                return $res;\r
        }\r
 \r
index 14d14cf1bbc5488ce14fcfc691c497b37e722036..47571441de166c5a8189201c1b662acb507c6e1e 100644 (file)
@@ -119,9 +119,11 @@ class wsDAOBook extends commonDAO {
                return $this->selectById($book_id);\r
        }\r
 \r
-       public function duplicate($book_id, $createur, $nom) {\r
+       public function duplicate($book_id, $createur, $nom,$pages=false) {\r
                $r = $this->con->select('SELECT * FROM books_vue WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
 \r
+               $old_id=$book_id;\r
+               \r
                $parametres = unserialize($r->parametres);\r
                $parametres->setParent($this);\r
                $parametres->title = $nom;\r
@@ -140,7 +142,15 @@ class wsDAOBook extends commonDAO {
                $c->changedate = TIME;\r
                $c->compiledate = 0;\r
                $c->version = 2;\r
+               $c->traductions=$r->traductions;\r
+               $c->specialLinks=$r->specialLinks;\r
+               $c->specialRulers=$r->specialRulers;\r
                $book_id = $c->book_id = $this->getNextId();\r
+               if($pages){\r
+                       $c->numerotation=$r->numerotation;\r
+                       $c->chapters=$r->chapters;\r
+                       $this->con->execute('INSERT INTO book_pages SELECT '.$book_id.' AS book_id,book_page,document_id,document_page FROM book_pages WHERE book_id='.$old_id);\r
+               }\r
                $c->insert();\r
 \r
                return $this->selectById($book_id);\r
index de50f928f48fc2305ff376fd4587f1943e1ce07b..d4db169635a260a1c29c9e78c4b7742a3861978b 100644 (file)
@@ -147,7 +147,8 @@ class wsBookParametres extends wsParametres {
                $this->fields['basket'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Panier activé'), 'grade' => 5);\r
                $this->fields['basketManager'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __("Manager de panier"),\r
                        'datas' => array(__('Classic') => 'com.fluidbook.player.basket.BasketManager',\r
-                               __('Essilor') => 'com.fluidbook.player.basket.custom.essilor.EssilorBasketManager'), 'grade' => 5);\r
+                               __('Essilor') => 'com.fluidbook.player.basket.custom.essilor.EssilorBasketManager',\r
+                               __('Essilor Recap')=>'com.fluidbook.player.basket.cursor.essilorrecap.EssilorRecapBasketManager'), 'grade' => 5);\r
                $this->fields['basketReferences'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
                        'label' => __('Références produits'), 'grade' => 5, 'fileFilter' => $basketFilter, 'hint' => __('Fichier contenant les références produits'), 'dir' => 'commerce');\r
                $this->fields['basketImages'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r