From 8cd32707f3778672c9be7f9ae15de982f409290a Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Tue, 19 Nov 2019 19:14:38 +0000 Subject: [PATCH] wip #3202 @1 --- inc/ws/Metier/class.ws.book.parametres.php | 70 ++++++++++++++++------ 1 file changed, 51 insertions(+), 19 deletions(-) diff --git a/inc/ws/Metier/class.ws.book.parametres.php b/inc/ws/Metier/class.ws.book.parametres.php index 1b28327db..0fa7e6204 100644 --- a/inc/ws/Metier/class.ws.book.parametres.php +++ b/inc/ws/Metier/class.ws.book.parametres.php @@ -49,6 +49,10 @@ class wsBookParametres extends wsParametres $svgFilter->name = __('Fichier SVG') . ' (*.svg)'; $svgFilter->extensions = '*.svg'; + $tabsFilter = new stdClass(); + $tabsFilter->name = __('Fichier onglets') . ' (*.svg, *.zip)'; + $tabsFilter->extensions = '*.svg;*.zip'; + $imageExtraFilter = new stdClass(); $imageExtraFilter->name = __('Images') . ' (*.svg, *.jpg, *.png, *.gif)'; $imageExtraFilter->extensions = '*.svg;*.jpg;*.png;*.gif'; @@ -65,6 +69,7 @@ class wsBookParametres extends wsParametres $cssFilter->name = __('Feuille de style') . ' (.css)'; $cssFilter->extensions = '*.css'; + $branches = array('master : git (stable)' => 'stable', 'master : local (dev)' => 'dev'); $gitbranches = json_decode(file_get_contents(WS_CACHE . '/activebranches')); @@ -84,6 +89,9 @@ class wsBookParametres extends wsParametres __('Icône + Label') => 'icon', __('Image') => 'image']; + $pagesNumbers = array(__('Virtuelle') => 'virtual', + __('Physique') => 'physical'); + $this->fields['mobileLVersion'] = array('type' => 'combo', 'default' => 'stable', 'editable' => true, 'label' => __('Version logicielle'), 'grade' => 1, 'datas' => $branches @@ -351,8 +359,7 @@ class wsBookParametres extends wsParametres $this->fields['mobileChaptersStyle'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __('Style des chapîtres') . ' (' . __('version mobile') . ')' , 'datas' => array(__('Classique') => 'classic', __('INA') => 'ina')); - $this->fields['chaptersPagesNumber'] = array('type' => 'combo', 'default' => 'virtual', 'editable' => true, 'label' => __('Numérotation du sommaire'), 'datas' => array(__('Virtuelle') => 'virtual', - __('Physique') => 'physical')); + $this->fields['chaptersPagesNumber'] = array('type' => 'combo', 'default' => 'virtual', 'editable' => true, 'label' => __('Numérotation du sommaire'), 'datas' => $pagesNumbers); $this->fields['chaptersPosition'] = array('type' => 'combo', 'default' => 'center', 'editable' => true, 'label' => __("Position du sommaire"), 'datas' => array(__('Centré') => 'center', @@ -362,24 +369,34 @@ class wsBookParametres extends wsParametres $this->forms['sommaire'] = array('label' => __('Sommaire'), 'fieldsnames' => array('displayChaptersIcon', 'displayChaptersPopup', 'displayChaptersAtStart', 'chaptersPage', 'chaptersPosition', 'chaptersLevelLimit', 'chaptersCascade', 'chaptersPagesNumber', '|', 'chaptersColMaxWidth', 'chaptersColumns', 'displayChaptersLine', '|', 'externalChapters', 'fullExternalChapters', '|', 'externalChaptersHTML', '|', 'mobileChaptersStyle')); // . - - $this->fields['ongletsXML'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('XML de configuration des onglets'), 'grade' => 5); - $this->fields['ongletsSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('SWF pour onglets personnalisés'), 'grade' => 3, 'fileFilter' => $swfFilter); - - $this->fields['tabs2DSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('SWF pour onglets 2D'), 'grade' => 3, 'fileFilter' => $swfFilter); - $this->fields['tabsHTML5'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Onglets HTML5'), 'grade' => 3); - - $this->fields['flatTabsAbsolute'] = array('type' => 'boolean', 'default' => false, "editable" => true, - 'label' => __("Positionnement relatif à l'interface"), 'grade' => 5); - + 'label' => __('Fichier d\'onglets') . ' (SVG, ZIP)', 'grade' => 3, 'hint' => __('Charger un zip rendra les options ci-dessous inopérantes'), 'fileFilter' => $tabsFilter); + $this->fields['tabsSide'] = ['type' => 'combo', 'label' => __('Position des onglets'), 'editable' => true, 'default' => 'right', 'grade' => 5, + 'datas' => [ + __('Gauche') => 'left', + __('Droite') => 'right', + ] + ]; $this->fields['tabsPriority'] = ['type' => 'integer', 'min' => 0, 'max' => 100, 'default' => 15, 'editable' => true, 'label' => 'Priorité des onglets sur les contenus (%)', 'hint' => 'La valeur indique la réduction permise de la taille de la publication.']; - - $this->forms['tabs'] = array('label' => __('Onglets'), - 'fieldsnames' => array('ongletsSWF', 'ongletsXML', '|', 'tabs2DSWF', 'flatTabsAbsolute', '|', 'tabsHTML5', 'tabsPriority')); + $this->fields['tabsPages'] = ['type' => 'text', 'label' => __('Pages des onglets'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => __('Numéros de pages séparas par une virgule')]; + $this->fields['tabsSections'] = ['type' => 'text', 'label' => __('Sections des onglets'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => __('Numéros de pages séparés par une virgule')]; + $this->fields['tabsPagesNumbers'] = ['type' => 'combo', 'label' => __('Numérotation utilisée'), 'editable' => true, 'default' => 'virtual', 'grade' => 5, 'datas' => $pagesNumbers]; + $this->fields['tabsHideOnCover'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Cacher les onglets sur la couverture'), 'grade' => 5]; + $this->fields['tabsHideOnLastPage'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Cacher les onglets sur la dernière page'), 'grade' => 5]; + $this->fields['tabsHideOnPortrait'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Cacher les onglets lorsque le fluidbook est en mode portrait'), 'grade' => 5]; + $this->fields['tabsHideOnZoom'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Cacher les onglets lorsque le fluidbook est zoomé'), 'grade' => 5]; + $this->fields['tabsHideWhenOverlapingArrows'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Cacher les onglets lorsqu\'ils passent sous les flèches de navigation'), 'grade' => 5]; + $this->fields['tabsHideEdges'] = ['type' => 'combo', 'label' => __('Masquer les bordures du fluidbook'), 'editable' => true, 'default' => 'right', 'grade' => 5, + 'datas' => [ + __('Aucune') => 'none', + __('Gauche') => 'left', + __('Droite') => 'right', + __('Les deux') => 'both', + ] + ]; + $this->fields['tabsMargin'] = ['type' => 'float', 'label' => __('Marge des onglets'), 'editable' => true, 'default' => '-10', 'grade' => 5, 'hint' => __('Une marge négative = les onglets passent sous la publication')]; + $this->forms['tabs'] = ['label' => __('Onglets'), + 'fieldsnames' => ['tabsHTML5', 'tabsPages', 'tabsSections', 'tabsPagesNumbers', '|', 'tabsSide', 'tabsMargin', 'tabsHideOnCover', 'tabsHideOnLastPage', 'tabsHideEdges', '|', 'tabsPriority', 'tabsHideWhenOverlapingArrows', 'tabsHideOnPortrait', 'tabsHideOnZoom']]; $this->fields['customLinkClass'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Classe pour les liens personnalisés'), 'grade' => 5); $this->fields['permanentLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Liens visibles en permanence'), 'grade' => 3); @@ -397,7 +414,7 @@ class wsBookParametres extends wsParametres $this->fields['videoBigPlay'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher le gros bouton Play'), 'grade' => 3); $this->fields['brightcovePlayerId'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Brightcove Player Id'), 'grade' => 3); $this->fields['brightcovePlayerSecret'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Brightcove Player Secret'), 'grade' => 3); - $this->fields['inlineSlideshowTransitionDuration'] = array('type' => 'float', 'default' => 0.75, 'editable' => true, 'label' => __('Durée de la transition des diaporamas intégrés aux pages (s)')); + $this->fields['inlineSlideshowTransitionDuration'] = array('type' => 'float', 'default' => 0.75, 'editable' => true, 'label' => __('Durée de la transition des diaporamas intégrés aux pages(s)')); $this->fields['inlineSlideshowDuration'] = array('type' => 'float', 'default' => 7, 'editable' => true, 'label' => __('Temps d\'attente des diaporamas intégrés aux pages (s)')); $this->fields['textPopupStylesheet'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Feuille de style des popups de texte'), 'fileFilter' => $cssFilter]; $this->fields['textPopupWidth'] = ['type' => 'integer', 'default' => '600', 'editable' => true, 'label' => __('Largeur optimale des popups')]; @@ -615,6 +632,20 @@ class wsBookParametres extends wsParametres $this->forms['scorm'] = array('label' => __('SCORM'), 'fieldsnames' => array('scorm_enable', 'scorm_version', 'scorm_id', 'scorm_org', 'scorm_title', 'scorm_variables', '|', 'scorm_complete_on_exit', 'scorm_complete_on_last_page', '|', 'scorm_quizdata', 'scorm_score', 'scorm_score_min', 'scorm_quiz_as_questionnaire')); + + $this->fields['ongletsXML'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('XML de configuration des onglets'), 'grade' => 5); + $this->fields['ongletsSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true, + 'label' => __('SWF pour onglets personnalisés'), 'grade' => 3, 'fileFilter' => $swfFilter); + + $this->fields['tabs2DSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true, + 'label' => __('SWF pour onglets 2D'), 'grade' => 3, 'fileFilter' => $swfFilter); + + $this->fields['flatTabsAbsolute'] = array('type' => 'boolean', 'default' => false, "editable" => true, + 'label' => __("Positionnement relatif à l'interface"), 'grade' => 5); + + $this->forms['flashtabs'] = array('label' => __('Onglets Flash'), + 'fieldsnames' => array('ongletsSWF', 'ongletsXML', '|', 'tabs2DSWF', 'flatTabsAbsolute')); + $versions = wsUrl::getFluidbookVersions(false); $ignore = ['v1', 'v2', 'phonegap']; $fields = []; @@ -630,6 +661,7 @@ class wsBookParametres extends wsParametres $this->forms['downloads'] = array('label' => __('Versions disponibles au téléchargement'), 'fieldsnames' => $fields); + } } -- 2.39.5