\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
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
$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
\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
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
$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
$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