$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';
$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'));
__('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
$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',
$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);
$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')];
$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 = [];
$this->forms['downloads'] = array('label' => __('Versions disponibles au téléchargement'),
'fieldsnames' => $fields);
+
}
}