$book = $dao->selectById($this->args['book_id']);\r
$book->traductions = wsLang::checkTranslations($book->traductions);\r
if ($book->traductions != array()) {\r
- $bookLang = $this->xml->addChild('book_lang', json_encode($book->traductions));\r
+ //$bookLang = $this->xml->addChild('book_lang', json_encode($book->traductions));\r
+ $bookLang =(array) $book->traductions;\r
+ fb($bookLang);\r
}\r
}\r
\r
if (!isset($bookLang)) {\r
$l->addAttribute('selected', '1');\r
} else {\r
- $bookLang->addAttribute('id', $lang->lang_id);\r
- $bookLang->addAttribute('nom', $nom . ' (' . __('modifié') . ')');\r
- $bookLang->addAttribute('selected', '1');\r
+ $trad = array_merge($lang->traductions, $bookLang);\r
+ $bl = $this->xml->addChild('book_lang', json_encode($trad));\r
+ $bl->addAttribute('id', $lang->lang_id);\r
+ $bl->addAttribute('nom', $nom . ' (' . __('modifié') . ')');\r
+ $bl->addAttribute('selected', '1');\r
}\r
}\r
}\r
$this->fields['externalChapters'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
'label' => __('Sommaire personnalisé'), 'grade' => 3, 'fileFilter' => $swfFilter, 'hint' => __('Laisser vide pour utiliser le sommaire classique'));\r
$this->fields['fullExternalChapters'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Sommaire totalement personnalisé"), 'grade' => 3, 'hint' => __('Supprime la flèche de fermeture, titre prédéfini et couleur de fond'));\r
- $this->fields['ongletsXML'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('XML de configuration des onglets'), 'grade' => 5);\r
- $this->fields['ongletsSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
- 'label' => __('SWF pour onglets personnalisés'), 'grade' => 3, 'fileFilter' => $swfFilter);\r
+\r
$this->fields['chaptersPosition'] = array('type' => 'combo', 'default' => 'center', 'editable' => true, 'label' => __("Position du sommaire"),\r
'datas' => array(__('Centré') => 'center',\r
__("Aligné sur l'icône") => 'chaptersIcon'));\r
$this->fields['chaptersCascade'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Sommaire en cascade"), 'grade' => 3);\r
\r
$this->forms['sommaire'] = array('label' => __('Sommaire'),\r
- 'fieldsnames' => array('displayChaptersIcon', 'displayChaptersAtStart', 'chaptersPage', 'chaptersPosition', 'chaptersCascade', '|', 'chaptersColMaxWidth', 'chaptersColumns', 'displayChaptersLine', '|', 'externalChapters', 'fullExternalChapters', '|', 'ongletsSWF', 'ongletsXML'));\r
+ 'fieldsnames' => array('displayChaptersIcon', 'displayChaptersAtStart', 'chaptersPage', 'chaptersPosition', 'chaptersCascade', '|', 'chaptersColMaxWidth', 'chaptersColumns', 'displayChaptersLine', '|', 'externalChapters', 'fullExternalChapters'));\r
// .\r
+\r
+ $this->fields['ongletsXML'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('XML de configuration des onglets'), 'grade' => 5);\r
+ $this->fields['ongletsSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
+ 'label' => __('SWF pour onglets personnalisés'), 'grade' => 3, 'fileFilter' => $swfFilter);\r
+\r
+ $this->fields['tabs2DSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
+ 'label' => __('SWF pour onglets 2D'), 'grade' => 3, 'fileFilter' => $swfFilter);\r
+\r
+ $this->forms['tabs'] = array('label' => __('Onglets'),\r
+ 'fieldsnames' => array('ongletsSWF', 'ongletsXML', '|', 'tabs2DSWF'));\r
+\r
$this->fields['customLinkClass'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Classe pour les liens personnalisés'), 'grade' => 5);\r
$this->fields['permanentLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Liens visibles en permanence'), 'grade' => 3);\r
$this->fields['linkBlinkTime'] = array('type' => 'float', 'default' => 1.0, 'editable' => true, 'label' => __("Temps d'apparition du lien à l'ouverture de la page (en secondes)"));\r
$this->forms['demo'] = array('label' => __('Lien de démo'),\r
'fieldsnames' => array('disableDemo', 'redirectDemo'));\r
}\r
-\r
}\r
-\r
?>
\ No newline at end of file
for ($i = 1; $i <= $this->generalInfos['pages']; $i++) {\r
$this->processOnePage($i);\r
}\r
+ $this->optimizeSVG();\r
+ }\r
+ \r
+ public function optimizeSVG(){\r
+ $scour=new cubeCommandLine('scour.php');\r
+ $scour->setPath(CONVERTER_PATH);\r
+ $scour->setNohup(true);\r
+ $scour->setArg(null, $this->html);\r
+ $scour->execute();\r
}\r
\r
public function processRange($pages) {\r
\r
$this->addToLog(implode("\n", $svglog), false, $page);\r
file_put_contents($svgFile, $svg->saveXML());\r
-\r
- $scour = new cubeCommandLine('scour.py');\r
- $scour->setArg('shorten-ids');\r
- $scour->setArg('set-precision', '3');\r
- $scour->setArg('indent', 'none');\r
- $scour->setArg('create-groups');\r
- $scour->setArg('i', $svgFile);\r
- $scour->setArg('o', $svgOpt);\r
- $scour->setNohup(true);\r
- $scour->execute();\r
}\r
\r
protected function checkObjectsNumber($file, $maxObjects, $page) {\r