From 021cd6557185e391d99fdd99fcfeb7fd85390705 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Tue, 17 May 2022 18:37:07 +0000 Subject: [PATCH] wip #4211 @1 --- inc/ws/Metier/_class.ws.book.parametres.php | 1034 ++--- inc/ws/Metier/class.ws.book.parametres.php | 4304 +++++++++++++++---- inc/ws/Metier/class.ws.parametres.php | 30 +- 3 files changed, 4000 insertions(+), 1368 deletions(-) diff --git a/inc/ws/Metier/_class.ws.book.parametres.php b/inc/ws/Metier/_class.ws.book.parametres.php index 4c68b4e98..2b75ee04c 100644 --- a/inc/ws/Metier/_class.ws.book.parametres.php +++ b/inc/ws/Metier/_class.ws.book.parametres.php @@ -18,25 +18,25 @@ class wsBookParametres extends wsParametres // } // . - $swfFilter = ['name' => __('Animation SWF') . ' (*.swf)', 'extensions' => '*.swf']; - $multimediaFilter = ['name' => __('Archive ZIP') . ' (*.zip)', 'extensions' => '*.zip']; - $pdfFilter = ['name' => __('Document PDF') . ' (*.pdf)', 'extensions' => '*.pdf']; - - $basketFilter = ['name' => __('Liste de produits'), 'extensions' => ' (*.xml, *.xlsx)']; - $articlesFilter = ['name' => __('Liste d\'articles') . ' (*.xml)', 'extensions' => '*.xml']; - $htmlFilter = ['name' => __('Fichier HTML') . ' (*.html)', 'extensions' => '*.html']; - $imageFilter = ['name' => __('Images') . ' (*.jpg, *.png)', 'extensions' => '*.jpg;*.jpeg;*.png']; - $epsFilter = ['name' => __('Fichier vectoriel') . ' (*.ai, *.eps)', 'extensions' => '*.ai;*.eps']; - $svgFilter = ['name' => __('Fichier SVG') . ' (*.svg)', 'extensions' => '*.svg']; - $tabsFilter = ['name' => __('Fichier onglets') . ' (*.svg, *.zip)', 'extensions' => '*.svg;*.zip']; - $imageExtraFilter = ['name' => __('Images') . ' (*.svg, *.jpg, *.png, *.gif)', 'extensions' => '*.svg;*.jpg;*.png;*.gif']; - $soundFilter = ['name' => __('Fichier sonore') . ' (*.mp3, *.wav)', 'extensions' => '*.mp3;*.wav']; - $seoFilter = ['name' => __('Fichier Excel') . ' (.xlsx)', 'extensions' => '*.xlsx']; - $cssFilter = ['name' => __('Feuille de style') . ' (.css)', 'extensions' => '*.css']; - - - $target = [__("Dans la fenêtre courrante") => '_self', - __('Dans un nouvel onglet') => '_blank']; + $swfFilter = ['name' => $this->__('Animation SWF') . ' (*.swf)', 'extensions' => '*.swf']; + $multimediaFilter = ['name' => $this->__('Archive ZIP') . ' (*.zip)', 'extensions' => '*.zip']; + $pdfFilter = ['name' => $this->__('Document PDF') . ' (*.pdf)', 'extensions' => '*.pdf']; + + $basketFilter = ['name' => $this->__('Liste de produits'), 'extensions' => ' (*.xml, *.xlsx)']; + $articlesFilter = ['name' => $this->__('Liste d\'articles') . ' (*.xml)', 'extensions' => '*.xml']; + $htmlFilter = ['name' => $this->__('Fichier HTML') . ' (*.html)', 'extensions' => '*.html']; + $imageFilter = ['name' => $this->__('Images') . ' (*.jpg, *.png)', 'extensions' => '*.jpg;*.jpeg;*.png']; + $epsFilter = ['name' => $this->__('Fichier vectoriel') . ' (*.ai, *.eps)', 'extensions' => '*.ai;*.eps']; + $svgFilter = ['name' => $this->__('Fichier SVG') . ' (*.svg)', 'extensions' => '*.svg']; + $tabsFilter = ['name' => $this->__('Fichier onglets') . ' (*.svg, *.zip)', 'extensions' => '*.svg;*.zip']; + $imageExtraFilter = ['name' => $this->__('Images') . ' (*.svg, *.jpg, *.png, *.gif)', 'extensions' => '*.svg;*.jpg;*.png;*.gif']; + $soundFilter = ['name' => $this->__('Fichier sonore') . ' (*.mp3, *.wav)', 'extensions' => '*.mp3;*.wav']; + $seoFilter = ['name' => $this->__('Fichier Excel') . ' (.xlsx)', 'extensions' => '*.xlsx']; + $cssFilter = ['name' => $this->__('Feuille de style') . ' (.css)', 'extensions' => '*.css']; + + + $target = [$this->__("Dans la fenêtre courrante") => '_self', + $this->__('Dans un nouvel onglet') => '_blank']; $branches = array('master : git (stable)' => 'stable', 'master : local (dev)' => 'dev'); @@ -49,586 +49,586 @@ class wsBookParametres extends wsParametres $branches[$b . ' : local'] = $b . '|local'; } $extraVisibility = [ - __('Navigation horizontale') => 'horizontal', - __('Navigation burger') => 'burger', - __('Navigations horizontale et burger') => 'both']; + $this->__('Navigation horizontale') => 'horizontal', + $this->__('Navigation burger') => 'burger', + $this->__('Navigations horizontale et burger') => 'both']; $extraType = [ - __('Icône + Label') => 'icon', - __('Image') => 'image']; + $this->__('Icône + Label') => 'icon', + $this->__('Image') => 'image']; - $pagesNumbers = array(__('Virtuelle') => 'virtual', - __('Physique') => 'physical'); + $pagesNumbers = array($this->__('Virtuelle') => 'virtual', + $this->__('Physique') => 'physical'); $this->fields['mobileLVersion'] = array('type' => 'combo', 'default' => 'stable', 'editable' => true, - 'label' => __('Version logicielle'), 'grade' => 1, + 'label' => $this->__('Version logicielle'), 'grade' => 1, 'datas' => $branches ); - $this->fields['mobileVersion'] = array('type' => 'combo', 'default' => 'html5-desktop', 'editable' => true, 'label' => __('Version mobile'), 'grade' => 3, - 'datas' => array(__('Rediriger vers le PDF') => 'pdf', - __('Version HTML5 recommandée (vecteurs sur desktop)') => 'html5-desktop', - __('Version HTML5 vecteurs') => 'html5', - __("Version HTML5 en images") => 'html5-images') + $this->fields['mobileVersion'] = array('type' => 'combo', 'default' => 'html5-desktop', 'editable' => true, 'label' => $this->__('Version mobile'), 'grade' => 3, + 'datas' => array($this->__('Rediriger vers le PDF') => 'pdf', + $this->__('Version HTML5 recommandée (vecteurs sur desktop)') => 'html5-desktop', + $this->__('Version HTML5 vecteurs') => 'html5', + $this->__("Version HTML5 en images") => 'html5-images') ); // Deprecated - $this->fields['version'] = array('type' => 'combo', 'default' => '2', 'editable' => true, 'label' => __('Version'), 'datas' => array('1' => '1', '2' => '2'), 'grade' => 3); - $this->fields['email_editable'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => __("Permettre au lecteur de modifier le corps de l'email")); - $this->fields['askAcknowledge'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __("Demander au destinataire un accusé de réception"), 'grade' => 3); - $this->fields['sendasfluidbook'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __("Envoyer le mail comme Fluidbook"), 'grade' => 3, 'hint' => __("L'expéditeur apparaîtra en reply-to")); - $this->fields['email_mailto'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __("Envoyer le mail via le client mail du visiteur (mailto:)"), 'grade' => 3); - $this->fields['googleplus'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __('Google +')); - $this->fields['viadeo'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __('Viadeo')); - $this->fields['customSharer'] = array('type' => 'text', 'default' => '', 'editable' => false, 'label' => __("Classe personnalisée de partage"), 'grade' => 5); - $this->fields['friendWidth'] = array('type' => 'integer', 'default' => 319, 'editable' => false, 'label' => __('Largeur du menu'), 'grade' => 5); - $this->fields['friendHeight'] = array('type' => 'integer', 'default' => 500, 'editable' => false, 'label' => __('Largeur du menu'), 'grade' => 5); - $this->fields['visualisationMode'] = array('type' => 'combo', 'default' => '3', 'editable' => false, 'label' => __("Mode de visualisation 3D"), - 'datas' => array(__('Mode 3D') => '0', - __('Mode 2D (caméra fixe et pages à plat)') => '1', - __("Laisser le choix à l'utilisateur (mode 3D par défaut)") => '2', - __("Laisser le choix à l'utilisateur (mode 2D par défaut)") => '3')); - $this->fields['antialiasReading'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => __("Amélioration de la lisibilité en mode 2D")); - $this->fields['pagesBaseAngle'] = array('type' => 'integer', 'default' => 2, 'editable' => false, 'label' => __('Angle de base entre les pages'), 'grade' => 3, - 'hint' => __("0 : Publication à plat") . "\n" . __('2 : Valeur par défaut')); - $this->fields['preload'] = array('type' => 'integer', 'default' => 16, 'editable' => false, 'label' => __('Nombre de pages à précharger'), 'grade' => 3); - $this->fields['tooltipTimer'] = array('type' => 'float', 'default' => 3, "editable" => true, 'label' => __("Temps maximum d'apparition des infos-bulles (en secondes)")); - $this->fields['indexAutoScroll'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __('Activer le scroll automatique')); - $this->fields['printCoverWithMarks'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => __("Imprimer les couvertures avec les pages marquées"), 'grade' => 3); + $this->fields['version'] = array('type' => 'combo', 'default' => '2', 'editable' => true, 'label' => $this->__('Version'), 'datas' => array('1' => '1', '2' => '2'), 'grade' => 3); + $this->fields['email_editable'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__("Permettre au lecteur de modifier le corps de l'email")); + $this->fields['askAcknowledge'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__("Demander au destinataire un accusé de réception"), 'grade' => 3); + $this->fields['sendasfluidbook'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__("Envoyer le mail comme Fluidbook"), 'grade' => 3, 'hint' => $this->__("L'expéditeur apparaîtra en reply-to")); + $this->fields['email_mailto'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__("Envoyer le mail via le client mail du visiteur (mailto:)"), 'grade' => 3); + $this->fields['googleplus'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Google +')); + $this->fields['viadeo'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Viadeo')); + $this->fields['customSharer'] = array('type' => 'text', 'default' => '', 'editable' => false, 'label' => $this->__("Classe personnalisée de partage"), 'grade' => 5); + $this->fields['friendWidth'] = array('type' => 'integer', 'default' => 319, 'editable' => false, 'label' => $this->__('Largeur du menu'), 'grade' => 5); + $this->fields['friendHeight'] = array('type' => 'integer', 'default' => 500, 'editable' => false, 'label' => $this->__('Largeur du menu'), 'grade' => 5); + $this->fields['visualisationMode'] = array('type' => 'combo', 'default' => '3', 'editable' => false, 'label' => $this->__("Mode de visualisation 3D"), + 'datas' => array($this->__('Mode 3D') => '0', + $this->__('Mode 2D (caméra fixe et pages à plat)') => '1', + $this->__("Laisser le choix à l'utilisateur (mode 3D par défaut)") => '2', + $this->__("Laisser le choix à l'utilisateur (mode 2D par défaut)") => '3')); + $this->fields['antialiasReading'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__("Amélioration de la lisibilité en mode 2D")); + $this->fields['pagesBaseAngle'] = array('type' => 'integer', 'default' => 2, 'editable' => false, 'label' => $this->__('Angle de base entre les pages'), 'grade' => 3, + 'hint' => $this->__("0 : Publication à plat") . "\n" . $this->__('2 : Valeur par défaut')); + $this->fields['preload'] = array('type' => 'integer', 'default' => 16, 'editable' => false, 'label' => $this->__('Nombre de pages à précharger'), 'grade' => 3); + $this->fields['tooltipTimer'] = array('type' => 'float', 'default' => 3, "editable" => true, 'label' => $this->__("Temps maximum d'apparition des infos-bulles (en secondes)")); + $this->fields['indexAutoScroll'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Activer le scroll automatique')); + $this->fields['printCoverWithMarks'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__("Imprimer les couvertures avec les pages marquées"), 'grade' => 3); $this->fields['ambientSound'] = array('type' => 'freefile', 'default' => '', 'editable' => false, - 'label' => __('Ambiance sonore'), 'grade' => 3, 'fileFilter' => $soundFilter); + 'label' => $this->__('Ambiance sonore'), 'grade' => 3, 'fileFilter' => $soundFilter); $this->fields['ambientSoundVolume'] = array('type' => 'integer', 'default' => 50, 'editable' => false, - 'label' => __("Volume de l'ambiance sonore"), + 'label' => $this->__("Volume de l'ambiance sonore"), 'min' => 0, 'max' => 100); - $this->fields['offlineExport'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __('Téléchargement des versions offline'), "hint" => __('Valable si le téléchargement avancé est activé'), 'grade' => 3); - $this->fields['zoomMode'] = array('type' => 'combo', 'default' => '0', 'editable' => false, 'label' => __("Mode de zoom"), 'grade' => 3, - 'datas' => array(__('Normal') => '0', - __('Une page') => '1', - __('Zoom désactivé') => '2')); - $this->fields['displayChaptersLine'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => __("Affiche une ligne entre le label et le numéro de page"), 'grade' => 5); - $this->fields['fullExternalChapters'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __("Sommaire totalement personnalisé"), 'grade' => 3, 'hint' => __('Supprime la flèche de fermeture, titre prédéfini et couleur de fond')); + $this->fields['offlineExport'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Téléchargement des versions offline'), "hint" => $this->__('Valable si le téléchargement avancé est activé'), 'grade' => 3); + $this->fields['zoomMode'] = array('type' => 'combo', 'default' => '0', 'editable' => false, 'label' => $this->__("Mode de zoom"), 'grade' => 3, + 'datas' => array($this->__('Normal') => '0', + $this->__('Une page') => '1', + $this->__('Zoom désactivé') => '2')); + $this->fields['displayChaptersLine'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__("Affiche une ligne entre le label et le numéro de page"), 'grade' => 5); + $this->fields['fullExternalChapters'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__("Sommaire totalement personnalisé"), 'grade' => 3, 'hint' => $this->__('Supprime la flèche de fermeture, titre prédéfini et couleur de fond')); $this->fields['externalChapters'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Sommaire personnalisé'), 'grade' => 3, 'fileFilter' => $swfFilter, 'hint' => __('Laisser vide pour utiliser le sommaire classique')); - $this->fields['chaptersPosition'] = array('type' => 'combo', 'default' => 'center', 'editable' => false, 'label' => __("Position du sommaire"), - 'datas' => array(__('Centré') => 'center', - __("Aligné sur l'icône") => 'chaptersIcon')); - $this->fields['permanentLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __('Liens visibles en permanence'), 'grade' => 3); - $this->fields['linkTooltipManager'] = array('type' => 'text', 'default' => '', 'editable' => false, 'label' => __("Gestionnaire des info-bulles"), 'grade' => 5); - $this->fields['linkMultimediaPerformanceMode'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __('Mode perfomance pour les liens multimédia'), 'grade' => 5); - $this->fields['linkMultimediaQuality'] = array('type' => 'float', 'default' => 1.0, 'editable' => false, 'label' => __('Qualité de rendu des animations'), 'grade' => 5); - $this->fields['linkCornerSize'] = array('type' => 'integer', 'default' => 10, 'editable' => false, 'label' => __('Taille des liens de coins de page'), 'hint' => __("Pourcentage de la largeur de la page")); - $this->fields['videoReset'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __('Réinitialiser les vidéos après la lecture'), 'grade' => 3); - $this->fields['videoBigPlay'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => __('Afficher le gros bouton Play'), 'grade' => 3); - $this->fields['alwaysHTML5'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => __('Toujours utiliser la version HTML5'), 'grade' => 1); - $this->fields['html5priority'] = array('type' => 'combo', 'default' => 'true', 'editable' => false, 'label' => __("Rediriger vers la version HTML5"), 'grade' => 1, - 'datas' => array(__('Si l\'utilisateur a un appareil tactile') => 'false', - __('Si flash n\'est pas installé') => 'notinstalled', - __("Si flash n'est pas pas installé ou bloqué") => 'true')); - $this->fields['flashBlockedWait'] = array('type' => 'float', 'default' => 1.5, 'editable' => false, 'label' => __("Temps d'attente avant de considérer flash comme bloqué")); - $this->fields['widget'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __('Générer le widget'), 'grade' => 3); - $this->fields['widgetCover'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => __('Afficher la couverture') . ')', 'grade' => 3); - $this->fields['widgetSize'] = array('type' => 'integer', 'default' => 200, 'editable' => false, 'label' => __('Optimiser pour une hauteur de (en pixels)'), 'grade' => 3); - $this->fields['widgetQuality'] = array('type' => 'integer', 'default' => 85, 'min' => 0, 'max' => 100, 'editable' => false, 'label' => __('Qualité JPEG'), 'grade' => 3); - $this->fields['widgetStart'] = array('type' => 'integer', 'default' => 1, 'editable' => false, 'label' => __('Page de début'), 'grade' => 3); - $this->fields['widgetEnd'] = array('type' => 'integer', 'default' => 8, 'editable' => false, 'label' => __('Page de fin'), 'grade' => 3); -// $this->forms['widget'] = array('label' => __('Widget') . ' (' . __('Mini Fluidbook') . ')', + 'label' => $this->__('Sommaire personnalisé'), 'grade' => 3, 'fileFilter' => $swfFilter, 'hint' => $this->__('Laisser vide pour utiliser le sommaire classique')); + $this->fields['chaptersPosition'] = array('type' => 'combo', 'default' => 'center', 'editable' => false, 'label' => $this->__("Position du sommaire"), + 'datas' => array($this->__('Centré') => 'center', + $this->__("Aligné sur l'icône") => 'chaptersIcon')); + $this->fields['permanentLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Liens visibles en permanence'), 'grade' => 3); + $this->fields['linkTooltipManager'] = array('type' => 'text', 'default' => '', 'editable' => false, 'label' => $this->__("Gestionnaire des info-bulles"), 'grade' => 5); + $this->fields['linkMultimediaPerformanceMode'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Mode perfomance pour les liens multimédia'), 'grade' => 5); + $this->fields['linkMultimediaQuality'] = array('type' => 'float', 'default' => 1.0, 'editable' => false, 'label' => $this->__('Qualité de rendu des animations'), 'grade' => 5); + $this->fields['linkCornerSize'] = array('type' => 'integer', 'default' => 10, 'editable' => false, 'label' => $this->__('Taille des liens de coins de page'), 'hint' => $this->__("Pourcentage de la largeur de la page")); + $this->fields['videoReset'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Réinitialiser les vidéos après la lecture'), 'grade' => 3); + $this->fields['videoBigPlay'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__('Afficher le gros bouton Play'), 'grade' => 3); + $this->fields['alwaysHTML5'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__('Toujours utiliser la version HTML5'), 'grade' => 1); + $this->fields['html5priority'] = array('type' => 'combo', 'default' => 'true', 'editable' => false, 'label' => $this->__("Rediriger vers la version HTML5"), 'grade' => 1, + 'datas' => array($this->__('Si l\'utilisateur a un appareil tactile') => 'false', + $this->__('Si flash n\'est pas installé') => 'notinstalled', + $this->__("Si flash n'est pas pas installé ou bloqué") => 'true')); + $this->fields['flashBlockedWait'] = array('type' => 'float', 'default' => 1.5, 'editable' => false, 'label' => $this->__("Temps d'attente avant de considérer flash comme bloqué")); + $this->fields['widget'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Générer le widget'), 'grade' => 3); + $this->fields['widgetCover'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__('Afficher la couverture') . ')', 'grade' => 3); + $this->fields['widgetSize'] = array('type' => 'integer', 'default' => 200, 'editable' => false, 'label' => $this->__('Optimiser pour une hauteur de (en pixels)'), 'grade' => 3); + $this->fields['widgetQuality'] = array('type' => 'integer', 'default' => 85, 'min' => 0, 'max' => 100, 'editable' => false, 'label' => $this->__('Qualité JPEG'), 'grade' => 3); + $this->fields['widgetStart'] = array('type' => 'integer', 'default' => 1, 'editable' => false, 'label' => $this->__('Page de début'), 'grade' => 3); + $this->fields['widgetEnd'] = array('type' => 'integer', 'default' => 8, 'editable' => false, 'label' => $this->__('Page de fin'), 'grade' => 3); +// $this->forms['widget'] = array('label' => $this->__('Widget') . ' (' . $this->__('Mini Fluidbook') . ')', // 'fieldsnames' => array('widget', 'widgetCover', 'widgetSize', 'widgetQuality', 'widgetStart', 'widgetEnd')); - $this->fields['extras'] = array('type' => 'textarea', 'default' => '', 'editable' => false, 'label' => __('Extras'), 'grade' => 3); + $this->fields['extras'] = array('type' => 'textarea', 'default' => '', 'editable' => false, 'label' => $this->__('Extras'), 'grade' => 3); $this->fields['v1SWF'] = array('type' => 'freefile', 'default' => '', 'editable' => false, - 'label' => __('Index.swf spécifique'), 'grade' => 5, 'fileFilter' => $swfFilter); -// $this->forms['v1'] = array('label' => __('Options spécifiques au fluidbook version 1'), + 'label' => $this->__('Index.swf spécifique'), 'grade' => 5, 'fileFilter' => $swfFilter); +// $this->forms['v1'] = array('label' => $this->__('Options spécifiques au fluidbook version 1'), // 'fieldsnames' => array('extras', 'v1SWF')); - $this->fields['ongletsXML'] = array('type' => 'textarea', 'default' => '', 'editable' => false, 'label' => __('XML de configuration des onglets'), 'grade' => 5); + $this->fields['ongletsXML'] = array('type' => 'textarea', 'default' => '', 'editable' => false, 'label' => $this->__('XML de configuration des onglets'), 'grade' => 5); $this->fields['ongletsSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => false, - 'label' => __('SWF pour onglets personnalisés'), 'grade' => 3, 'fileFilter' => $swfFilter); + 'label' => $this->__('SWF pour onglets personnalisés'), 'grade' => 3, 'fileFilter' => $swfFilter); $this->fields['tabs2DSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => false, - 'label' => __('SWF pour onglets 2D'), 'grade' => 3, 'fileFilter' => $swfFilter); + 'label' => $this->__('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'), + 'label' => $this->__("Positionnement relatif à l'interface"), 'grade' => 5); +// $this->forms['flashtabs'] = array('label' => $this->__('Onglets Flash'), // 'fieldsnames' => array('ongletsSWF', 'ongletsXML', '|', 'tabs2DSWF', 'flatTabsAbsolute')); - $this->fields['viewMode'] = array('type' => 'combo', 'default' => '0', 'editable' => false, 'label' => __("Mode de visualisation (beta)"), - 'datas' => array(__('Classique') => '0', - __("Diaporama") => '1', + $this->fields['viewMode'] = array('type' => 'combo', 'default' => '0', 'editable' => false, 'label' => $this->__("Mode de visualisation (beta)"), + 'datas' => array($this->__('Classique') => '0', + $this->__("Diaporama") => '1', ), 'grade' => 5); - $this->fields['mobileServerConfig'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => __('Inclure les fichiers de configuration serveur'), 'grade' => 3); - $this->fields['mobileIconVector'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => __('Utiliser les icônes vectorielles')); -// $this->forms['mobile'] = array('label' => __('Version HTML5'), + $this->fields['mobileServerConfig'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Inclure les fichiers de configuration serveur'), 'grade' => 3); + $this->fields['mobileIconVector'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__('Utiliser les icônes vectorielles')); +// $this->forms['mobile'] = array('label' => $this->__('Version HTML5'), // 'fieldsnames' => array('alwaysHTML5', 'html5priority', 'flashBlockedWait', 'mobileIconVector', 'mobileServerConfig')); $this->fields['externalArchivesBack'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Image de fond'), 'grade' => 3, 'fileFilter' => $imageFilter); - $this->fields['archivesLink'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Lien'), 'grade' => 5); - $this->fields['printMode'] = array('type' => 'combo', 'default' => 'vector', 'editable' => true, 'label' => __("Mode d'impression"), - 'datas' => array(__('Bitmap') => 'bitmap', - __('Vectoriel') => 'vector', - __('PDF') => 'pdf')); + 'label' => $this->__('Image de fond'), 'grade' => 3, 'fileFilter' => $imageFilter); + $this->fields['archivesLink'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Lien'), 'grade' => 5); + $this->fields['printMode'] = array('type' => 'combo', 'default' => 'vector', 'editable' => true, 'label' => $this->__("Mode d'impression"), + 'datas' => array($this->__('Bitmap') => 'bitmap', + $this->__('Vectoriel') => 'vector', + $this->__('PDF') => 'pdf')); /** **/ - $this->fields['title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Titre de la publication"), 'embed' => false); - $this->fields['url_link'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => __("URL du lien de retour au site")); - $this->fields['signature'] = array('type' => 'combo', 'default' => '1', 'editable' => true, 'label' => __('Signature'), 'grade' => 3, 'datas' => wsDroits::getSignatures()); - $this->forms['important'] = array('label' => __('Description de la publication'), + $this->fields['title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre de la publication"), 'embed' => false); + $this->fields['url_link'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => $this->__("URL du lien de retour au site")); + $this->fields['signature'] = array('type' => 'combo', 'default' => '1', 'editable' => true, 'label' => $this->__('Signature'), 'grade' => 3,'datasFunc'=>'wsDroits::getSignatures()', 'datas' => wsDroits::getSignatures()); + $this->forms['important'] = array('label' => $this->__('Description de la publication'), 'fieldsnames' => array('mobileLVersion', 'mobileVersion', 'title', 'url_link', 'signature')); // . // . - $this->fields['assetsDir'] = ['type' => 'text', 'label' => __('Utiliser le dossier d\'assets du fluidbook'), 'default' => '', 'editable' => true, 'grade' => 5]; - $this->fields['linksAssets'] = ['type' => 'freefile', 'label' => __('Charger ou remplacer des fichiers de liens'), 'default' => '', 'editable' => true, 'grade' => 3, 'multiple' => true]; + $this->fields['assetsDir'] = ['type' => 'text', 'label' => $this->__('Utiliser le dossier d\'assets du fluidbook'), 'default' => '', 'editable' => true, 'grade' => 5]; + $this->fields['linksAssets'] = ['type' => 'freefile', 'label' => $this->__('Charger ou remplacer des fichiers de liens'), 'default' => '', 'editable' => true, 'grade' => 3, 'multiple' => true]; $this->forms['assets'] = [ - 'label' => __('Assets'), + 'label' => $this->__('Assets'), 'fieldsnames' => ['assetsDir', 'linksAssets'] ]; /** * */ - $this->fields['stats'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer les statistiques Fluidbook'), 'grade' => 3); - $this->fields['googleAnalytics'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Code Google Analytics'), 'size' => 10); - $this->fields['googleTagManager'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Code Google Tag Manager'), 'size' => 10); + $this->fields['stats'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer les statistiques Fluidbook'), 'grade' => 3); + $this->fields['googleAnalytics'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Code Google Analytics'), 'size' => 10); + $this->fields['googleTagManager'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Code Google Tag Manager'), 'size' => 10); $this->forms['basicStats'] = [ - 'label' => __('Statistiques'), + 'label' => $this->__('Statistiques'), 'fieldsnames' => ['stats', 'googleAnalytics', 'googleTagManager'], ]; - $this->fields['email_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Titre de l'email") . ' "' . __('Envoyer à un ami') . '"', 'hint' => __('Laisser vide pour utiliser la valeur par défaut')); - $this->fields['email_body'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Corps de l'email") . ' "' . __('Envoyer à un ami') . '"', 'hint' => __('Laisser vide pour utiliser la valeur par défaut')); + $this->fields['email_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre de l'email") . ' "' . $this->__('Envoyer à un ami') . '"', 'hint' => $this->__('Laisser vide pour utiliser la valeur par défaut')); + $this->fields['email_body'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__("Corps de l'email") . ' "' . $this->__('Envoyer à un ami') . '"', 'hint' => $this->__('Laisser vide pour utiliser la valeur par défaut')); - $this->fields['facebook_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Titre du contenu partagé"), 'hint' => __('Titre proposé sur les fonction de partage (par défaut, titre de la publication)')); - $this->fields['facebook_description'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Description du contenu partagé"), 'grade' => 1, 'hint' => __('Description proposée sur les fonctions de partage (par défaut, vide)')); - $this->fields['twitter_description'] = array('type' => 'textarea', 'default' => '%title% : %short%', 'editable' => true, 'label' => __("Contenu Partage court"), 'hint' => __('Contenu du partagé sur les partages courts')); + $this->fields['facebook_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre du contenu partagé"), 'hint' => $this->__('Titre proposé sur les fonction de partage (par défaut, titre de la publication)')); + $this->fields['facebook_description'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__("Description du contenu partagé"), 'grade' => 1, 'hint' => $this->__('Description proposée sur les fonctions de partage (par défaut, vide)')); + $this->fields['twitter_description'] = array('type' => 'textarea', 'default' => '%title% : %short%', 'editable' => true, 'label' => $this->__("Contenu Partage court"), 'hint' => $this->__('Contenu du partagé sur les partages courts')); $this->fields['facebook_image'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Miniature affichée'), 'fileFilter' => $imageFilter); + 'label' => $this->__('Miniature affichée'), 'fileFilter' => $imageFilter); - $this->fields['share'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer les fonctions de partage')); - $this->fields['friend'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('E-mail')); - $this->fields['facebook'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Facebook')); - $this->fields['twitter'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Twitter')); - $this->fields['whatsapp'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('WhatsApp')); - $this->fields['linkedin'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('LinkedIn')); - $this->fields['pinterest'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Pinterest')); + $this->fields['share'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer les fonctions de partage')); + $this->fields['friend'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('E-mail')); + $this->fields['facebook'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Facebook')); + $this->fields['twitter'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Twitter')); + $this->fields['whatsapp'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('WhatsApp')); + $this->fields['linkedin'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('LinkedIn')); + $this->fields['pinterest'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Pinterest')); - $this->forms['share'] = array('label' => __('Fonctions de partage'), + $this->forms['share'] = array('label' => $this->__('Fonctions de partage'), 'fieldsnames' => array('share', '|', 'email_title', 'email_body', 'email_editable', 'askAcknowledge', 'sendasfluidbook', 'email_mailto', '|', 'facebook_title', 'facebook_description', 'facebook_image', 'twitter_description', '|', 'friend', 'facebook', 'twitter', 'whatsapp', 'linkedin', 'pinterest', '|', 'googleplus', 'viadeo', '|', 'customSharer', '|', 'friendWidth', 'friendHeight')); //. - $this->fields['seoVersion'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Générer une version pour les moteurs de recherche')); - $this->fields['seoRobots'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Autoriser le parcours par les moteurs de recherche')); - $this->fields['seoDescription'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Meta tag Description')); - $this->fields['seoKeywords'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Meta tag Keywords')); - $this->fields['seoAdvanced'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Données SEO par page'), 'grade' => 5, 'fileFilter' => $seoFilter]; - $this->fields['seoBaseURL'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('URL de base'), 'grade' => 5); - - $this->forms['seo'] = array('label' => __('Optimisation pour les moteurs de recherche'), + $this->fields['seoVersion'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Générer une version pour les moteurs de recherche')); + $this->fields['seoRobots'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Autoriser le parcours par les moteurs de recherche')); + $this->fields['seoDescription'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Meta tag Description')); + $this->fields['seoKeywords'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Meta tag Keywords')); + $this->fields['seoAdvanced'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Données SEO par page'), 'grade' => 5, 'fileFilter' => $seoFilter]; + $this->fields['seoBaseURL'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('URL de base'), 'grade' => 5); + + $this->forms['seo'] = array('label' => $this->__('Optimisation pour les moteurs de recherche'), 'fieldsnames' => array('seoVersion', 'seoRobots', 'seoDescription', "seoKeywords", '|', 'seoBaseURL', 'seoAdvanced')); // . - $this->fields['pages'] = array('type' => 'integer', 'default' => 0, 'editable' => false, 'label' => __('Nombre de pages')); - $this->fields['width'] = array('type' => 'float', 'default' => 0, 'editable' => false, 'label' => __('Largeur')); - $this->fields['height'] = array('type' => 'float', 'default' => 0, 'editable' => false, 'label' => __('Hauteur')); + $this->fields['pages'] = array('type' => 'integer', 'default' => 0, 'editable' => false, 'label' => $this->__('Nombre de pages')); + $this->fields['width'] = array('type' => 'float', 'default' => 0, 'editable' => false, 'label' => $this->__('Largeur')); + $this->fields['height'] = array('type' => 'float', 'default' => 0, 'editable' => false, 'label' => $this->__('Hauteur')); // . - $this->fields['mobileTransitions'] = array('type' => 'combo', 'default' => 'flip3d', 'editable' => true, 'label' => __('Transitions entre les pages'), 'grade' => 3, - 'datas' => array(__('Aucune transition') => 'none', - __('Opacité') => 'fade', - __('Glisser') => 'slide', - __('Tourner (rigide)') => 'flip', - __('Tourner (souple)') => 'flip3d') + $this->fields['mobileTransitions'] = array('type' => 'combo', 'default' => 'flip3d', 'editable' => true, 'label' => $this->__('Transitions entre les pages'), 'grade' => 3, + 'datas' => array($this->__('Aucune transition') => 'none', + $this->__('Opacité') => 'fade', + $this->__('Glisser') => 'slide', + $this->__('Tourner (rigide)') => 'flip', + $this->__('Tourner (souple)') => 'flip3d') ); - $this->fields['mobileTransitionDuration'] = array('type' => 'float', 'default' => 0.5, 'editable' => true, 'label' => __('Durée de la transition')); - $this->fields['mobileTransitionDurationSlide'] = array('type' => 'float', 'default' => 0, 'editable' => true, 'label' => __('Durée de la transition (fade, slide)'), 'hint' => __('Laisser à zéro pour utiliser la valeur générale')); - $this->fields['mobileNavigationType'] = array('type' => 'combo', 'default' => 'book', 'editable' => true, 'label' => __('Mode de navigation'), 'grade' => 5, - 'datas' => array(__('Normal (automatique)') => 'book', - __('Normal (double page)') => 'landscape', - __('Normal (une page)') => 'portrait', - __('Mobile first') => 'mobilefirst', - __('Magazine tablette') => 'tab') + $this->fields['mobileTransitionDuration'] = array('type' => 'float', 'default' => 0.5, 'editable' => true, 'label' => $this->__('Durée de la transition')); + $this->fields['mobileTransitionDurationSlide'] = array('type' => 'float', 'default' => 0, 'editable' => true, 'label' => $this->__('Durée de la transition (fade, slide)'), 'hint' => $this->__('Laisser à zéro pour utiliser la valeur générale')); + $this->fields['mobileNavigationType'] = array('type' => 'combo', 'default' => 'book', 'editable' => true, 'label' => $this->__('Mode de navigation'), 'grade' => 5, + 'datas' => array($this->__('Normal (automatique)') => 'book', + $this->__('Normal (double page)') => 'landscape', + $this->__('Normal (une page)') => 'portrait', + $this->__('Mobile first') => 'mobilefirst', + $this->__('Magazine tablette') => 'tab') ); - $this->fields['forceWhiteBackground'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Ajouter un fond blanc aux pages')]; - $this->fields['rasterizePages'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Ecraser les pages'), 'hint' => '1-3,5 = 1,2,3,5', 'grade' => 1); - - $this->fields['vectorPages'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Conserver les pages en vecteur'), 'hint' => '1-3,5 = 1,2,3,5', 'grade' => 1); - $this->fields['extraXSpace'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => __('Marge supplémentaire horizontale'), 'grade' => 3); - $this->fields['mobileExtraXSpace'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => __('Marge supplémentaire horizontale'), 'grade' => 3); - $this->fields['extraYSpace'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => __('Marge supplémentaire verticale'), 'grade' => 3); - $this->fields['centerBook'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Centrer la publication sur les couvertures'), 'grade' => 2); - $this->fields['correctCenter'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Corriger les lignes blanches entre les pages'), 'grade' => 2); - $this->fields['maxResolution'] = array('type' => 'combo', 'default' => 300, 'editable' => true, 'datas' => array('300dpi' => 300, '150dpi' => 150, '125dpi' => 125, '100dpi' => 100), 'grade' => 2, 'label' => __('Résolution maximale des pages')); - $this->fields['JPEGQuality'] = array('type' => 'integer', 'default' => 85, 'editable' => true, 'grade' => 2, 'label' => __('Qualité JPEG')); - $this->fields['imageFormat'] = array('type' => 'combo', 'default' => 'jpg', 'editable' => true, 'datas' => array(/*__('Le plus léger') => 'best', */ - 'JPEG' => 'jpg', 'PNG' => 'png'), 'grade' => 2, 'label' => __('Format des images')); - $this->fields['svgToCanvas'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer le rendu svgtocanvas')]; - $this->fields['svgToCanvasUpscale'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => __('Upscale de la fonction svgtocanvas')]; - $this->fields['svgTextMethod'] = ['type' => 'combo', 'default' => 'pdftocairo', 'editable' => true, 'label' => __('Méthode d\'extraction des textes en SVG'), 'datas' => [__('Cairo') => 'pdf', __('Mu') => 'mu']]; - $this->fields['textsThickness'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => __('Epaisseur des textes')]; - $this->fields['textsThicknessPages'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Appliquer l\'épaisseur des texte sur les pages')]; + $this->fields['forceWhiteBackground'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Ajouter un fond blanc aux pages')]; + $this->fields['rasterizePages'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Ecraser les pages'), 'hint' => '1-3,5 = 1,2,3,5', 'grade' => 1); + + $this->fields['vectorPages'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Conserver les pages en vecteur'), 'hint' => '1-3,5 = 1,2,3,5', 'grade' => 1); + $this->fields['extraXSpace'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__('Marge supplémentaire horizontale'), 'grade' => 3); + $this->fields['mobileExtraXSpace'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__('Marge supplémentaire horizontale'), 'grade' => 3); + $this->fields['extraYSpace'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__('Marge supplémentaire verticale'), 'grade' => 3); + $this->fields['centerBook'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Centrer la publication sur les couvertures'), 'grade' => 2); + $this->fields['correctCenter'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Corriger les lignes blanches entre les pages'), 'grade' => 2); + $this->fields['maxResolution'] = array('type' => 'combo', 'default' => 300, 'editable' => true, 'datas' => array('300dpi' => 300, '150dpi' => 150, '125dpi' => 125, '100dpi' => 100), 'grade' => 2, 'label' => $this->__('Résolution maximale des pages')); + $this->fields['JPEGQuality'] = array('type' => 'integer', 'default' => 85, 'editable' => true, 'grade' => 2, 'label' => $this->__('Qualité JPEG')); + $this->fields['imageFormat'] = array('type' => 'combo', 'default' => 'jpg', 'editable' => true, 'datas' => array(/*$this->__('Le plus léger') => 'best', */ + 'JPEG' => 'jpg', 'PNG' => 'png'), 'grade' => 2, 'label' => $this->__('Format des images')); + $this->fields['svgToCanvas'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer le rendu svgtocanvas')]; + $this->fields['svgToCanvasUpscale'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => $this->__('Upscale de la fonction svgtocanvas')]; + $this->fields['svgTextMethod'] = ['type' => 'combo', 'default' => 'pdftocairo', 'editable' => true, 'label' => $this->__('Méthode d\'extraction des textes en SVG'), 'datas' => [$this->__('Cairo') => 'pdf', $this->__('Mu') => 'mu']]; + $this->fields['textsThickness'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => $this->__('Epaisseur des textes')]; + $this->fields['textsThicknessPages'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Appliquer l\'épaisseur des texte sur les pages')]; $this->fields['dynamicBackgroundColor'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => 'Couleur de fond dynamique', 'grade' => 3]; - $this->forms['3d_mode'] = array('label' => __('Options de visualisation'), + $this->forms['3d_mode'] = array('label' => $this->__('Options de visualisation'), 'fieldsnames' => array('mobileNavigationType', '|', 'mobileTransitions', 'mobileTransitionDuration', 'mobileTransitionDurationSlide', '|', 'forceWhiteBackground', 'rasterizePages', 'vectorPages', 'visualisationMode', 'antialiasReading', 'correctCenter', 'pagesBaseAngle', 'centerBook', '|', 'extraXSpace', 'mobileExtraXSpace', 'extraYSpace', '|', 'viewMode', '|', 'dynamicBackgroundColor', '|', 'svgToCanvas', 'svgToCanvasUpscale', 'svgTextMethod', 'textsThickness', 'textsThicknessPages', '|', 'imageFormat', 'maxResolution', 'JPEGQuality')); - $this->fields['rasterizeOnSafari'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Ecraser les pages pour Safari (Mac OS)'), 'grade' => 1); - $this->fields['performance3DMode'] = array('type' => 'combo', 'datas' => [__('Tester la machine') => 'auto', - __('Haute') => 'highPerf', - __('Moyenne') => 'lowPerf', - __('Basse') => 'veryLowPerf'], 'default' => 'auto', 'editable' => true, 'label' => __('Performance de la 3D'), 'grade' => 1); - $this->forms['performances'] = ['label' => __('Performances'), + $this->fields['rasterizeOnSafari'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Ecraser les pages pour Safari (Mac OS)'), 'grade' => 1); + $this->fields['performance3DMode'] = array('type' => 'combo', 'datas' => [$this->__('Tester la machine') => 'auto', + $this->__('Haute') => 'highPerf', + $this->__('Moyenne') => 'lowPerf', + $this->__('Basse') => 'veryLowPerf'], 'default' => 'auto', 'editable' => true, 'label' => $this->__('Performance de la 3D'), 'grade' => 1); + $this->forms['performances'] = ['label' => $this->__('Performances'), 'fieldsnames' => ['rasterizeOnSafari', 'performance3DMode']]; - $this->fields['maxPages'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => __("Nombre de pages maximal affiché à l'ouverture du fluidbook (pas de limite = 0)"), 'grade' => 3); + $this->fields['maxPages'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__("Nombre de pages maximal affiché à l'ouverture du fluidbook (pas de limite = 0)"), 'grade' => 3); - $this->fields['mobilePlugins'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Plugin'), 'grade' => 5); - $this->forms['general'] = array('label' => __('Fonctionnalités générales'), + $this->fields['mobilePlugins'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Plugin'), 'grade' => 5); + $this->forms['general'] = array('label' => $this->__('Fonctionnalités générales'), 'fieldsnames' => array('tooltipTimer', 'mobilePlugins', 'preload', 'maxPages', 'pages', 'width', 'height')); //. // - $this->fields['navOrder'] = array('type' => 'textarea', 'default' => 'index, chapters, search, print, friend, bookmark, pdf, notes, archives, basket, fullscreen, sound, 3d, extra, extra1, extra2, extra3, extra4, extra5, help, lang', 'editable' => true, 'label' => __('Ordre des icônes dans la nav'), 'grade' => 3); - $this->fields['navOrderH'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Ordre des icônes dans la nav') . ' (' . __('Si différente') . ')', 'grade' => 3); - $this->fields['menuBreakpoint'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Breakpoint burger menu'), 'hint' => 'Par défaut 1023px', 'grade' => 3); - $this->fields['mobileNavScale'] = array('type' => 'integer', 'default' => 100, 'editable' => true, 'label' => __('Taille du menu (en %)'), 'grade' => 3); - $this->forms['menu'] = array('label' => __('Menu'), 'fieldsnames' => ['navOrder', 'navOrderH', '|', 'mobileNavScale', 'menuBreakpoint', '|', 'afterSearchDisplayForHTML', '|']); + $this->fields['navOrder'] = array('type' => 'textarea', 'default' => 'index, chapters, search, print, friend, bookmark, pdf, notes, archives, basket, fullscreen, sound, 3d, extra, extra1, extra2, extra3, extra4, extra5, help, lang', 'editable' => true, 'label' => $this->__('Ordre des icônes dans la nav'), 'grade' => 3); + $this->fields['navOrderH'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Ordre des icônes dans la nav') . ' (' . $this->__('Si différente') . ')', 'grade' => 3); + $this->fields['menuBreakpoint'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Breakpoint burger menu'), 'hint' => 'Par défaut 1023px', 'grade' => 3); + $this->fields['mobileNavScale'] = array('type' => 'integer', 'default' => 100, 'editable' => true, 'label' => $this->__('Taille du menu (en %)'), 'grade' => 3); + $this->forms['menu'] = array('label' => $this->__('Menu'), 'fieldsnames' => ['navOrder', 'navOrderH', '|', 'mobileNavScale', 'menuBreakpoint', '|', 'afterSearchDisplayForHTML', '|']); - $this->fields['afterSearchDisplayForHTML'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher l\'image après le moteur de recherche sur la version HTML5'), 'grade' => 1); + $this->fields['afterSearchDisplayForHTML'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Afficher l\'image après le moteur de recherche sur la version HTML5'), 'grade' => 1); $extraNum = 5; for ($i = 0; $i <= $extraNum; $i++) { if ($i > 0) { $j = $i; - $this->fields['navExtraIcon' . $j] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Icône supplémentaire') . ' ' . $j, 'fileFilter' => $imageExtraFilter); - $this->fields['navExtraType' . $j] = array('type' => 'combo', 'datas' => $extraType, 'default' => 'icon', 'editable' => true, 'label' => __('Type')); - $this->fields['navExtraLink' . $j] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("URL") . ' ' . $j); - $this->fields['navExtraVisibility' . $j] = array('type' => 'combo', 'datas' => $extraVisibility, 'default' => 'both', 'editable' => true, 'label' => __("Visible") . ' ' . $j); + $this->fields['navExtraIcon' . $j] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Icône supplémentaire') . ' ' . $j, 'fileFilter' => $imageExtraFilter); + $this->fields['navExtraType' . $j] = array('type' => 'combo', 'datas' => $extraType, 'default' => 'icon', 'editable' => true, 'label' => $this->__('Type')); + $this->fields['navExtraLink' . $j] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("URL") . ' ' . $j); + $this->fields['navExtraVisibility' . $j] = array('type' => 'combo', 'datas' => $extraVisibility, 'default' => 'both', 'editable' => true, 'label' => $this->__("Visible") . ' ' . $j); $this->forms['menu']['fieldsnames'] = array_merge($this->forms['menu']['fieldsnames'], ['navExtraIcon' . $j, 'navExtraType' . $j, 'navExtraLink' . $j, 'navExtraVisibility' . $j, '|']); } else { $j = ''; - $this->fields['navExtraImage' . $j] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Image pour navigation'), 'fileFilter' => $imageExtraFilter); - $this->fields['navExtraImageMobile' . $j] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Image pour mobile'), 'fileFilter' => $imageExtraFilter); - $this->fields['navExtraLink' . $j] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("URL")); - $this->fields['navExtraTooltip' . $j] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Infobulle ou label")); + $this->fields['navExtraImage' . $j] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Image pour navigation'), 'fileFilter' => $imageExtraFilter); + $this->fields['navExtraImageMobile' . $j] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Image pour mobile'), 'fileFilter' => $imageExtraFilter); + $this->fields['navExtraLink' . $j] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("URL")); + $this->fields['navExtraTooltip' . $j] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Infobulle ou label")); $this->forms['menu']['fieldsnames'] = array_merge($this->forms['menu']['fieldsnames'], ['navExtraImage' . $j, 'navExtraImageMobile' . $j, 'navExtraLink' . $j, 'navExtraTooltip' . $j, '|']); } } - $this->fields['mobileBottomNav'] = ['type' => 'text', 'default' => '', 'editable' => 'true', 'label' => __('Barre de boutons en bas'), 'hint' => __('Identifiants des boutons séparés par des virgules')]; + $this->fields['mobileBottomNav'] = ['type' => 'text', 'default' => '', 'editable' => 'true', 'label' => $this->__('Barre de boutons en bas'), 'hint' => $this->__('Identifiants des boutons séparés par des virgules')]; $this->forms['menu']['fieldsnames'][] = 'mobileBottomNav'; - $this->fields['landingPage'] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Landing Page content'), 'grade' => 3); - $this->forms['landing'] = array('label' => __('Custom Landing Page'), 'fieldsnames' => array('landingPage')); + $this->fields['landingPage'] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Landing Page content'), 'grade' => 3); + $this->forms['landing'] = array('label' => $this->__('Custom Landing Page'), 'fieldsnames' => array('landingPage')); - $this->fields['fullscreen'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer le mode plein-écran')); - $this->fields['fullscreenAuto'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Lancer la publication en mode plein écran (lorsque possible)')); - $this->forms['fs'] = array('label' => __('Plein écran'), + $this->fields['fullscreen'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer le mode plein-écran')); + $this->fields['fullscreenAuto'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Lancer la publication en mode plein écran (lorsque possible)')); + $this->forms['fs'] = array('label' => $this->__('Plein écran'), 'fieldsnames' => array('fullscreen', 'fullscreenAuto')); - $this->fields['bookmark'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer les marques-pages')); - $this->fields['bookmarkView'] = array('type' => 'combo', 'datas' => [__('Réduit') => 'small', __('Complet') => 'large'], 'default' => 'small', 'editable' => true, 'label' => __('Menu des marques-pages')); - $this->fields['bookmarkEmpty'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Bouton pour effacer les marques-pages")); - $this->fields['bookmarkFunctionsMainMenu'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Fonctions vers menus généraux'), 'hint' => __('Les fonctions des marques pages (Télécharger, Imprimer, Envoyer) dirigent vers les menus généraux')); - $this->fields['bookmarkDisablePages'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Désactiver les marques-pages sur ces pages'), 'hint' => '1-3,5 = 1,2,3,5', 'grade' => 1]; - $this->fields['bookmarkSendEnable'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer l'envoi des marques-pages par e-mail")); - $this->fields['bookmarkPrint'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Activer l'impression des marques-pages")); - $this->fields['bookmark_email_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Titre de l'email") . ' "' . __('Envoyer à un ami') . '"', 'hint' => __('Laisser vide pour utiliser la valeur par défaut')); - $this->fields['bookmark_email_body'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Corps de l'email") . ' "' . __('Envoyer à un ami') . '"', 'hint' => __('Laisser vide pour utiliser la valeur par défaut')); - $this->fields['bookmarkCornerSize'] = array('type' => 'integer', 'default' => 8, 'editable' => true, 'label' => __("Taille des marques-pages"), 'hint' => __('Taille relative à la largeur de la page')); - $this->fields['bookmarkOffset'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => __("Décaler de x pixels vers l'intérieur")); - $this->fields['bookmarkBlinkOnPageChange'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Faire clignoter le marque page à l\'apparition de la page')); - $this->fields['bookmarkPermanentIcon'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Afficher l\'icône en permanance')]; - $this->fields['bookmarkUsePDF'] = array('type' => 'combo', 'default' => 'pages', 'editable' => true, 'label' => __('PDF à utiliser pour l\'envoi ou le téléchargement de pages marquées'), - 'datas' => [__('PDF des pages') => 'pages', - __('PDF de remplacement') => 'download', - __('PDF des miniatures') => 'thumbnails']); - $this->forms['bookmark'] = array('label' => __('Marques-pages'), + $this->fields['bookmark'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer les marques-pages')); + $this->fields['bookmarkView'] = array('type' => 'combo', 'datas' => [$this->__('Réduit') => 'small', $this->__('Complet') => 'large'], 'default' => 'small', 'editable' => true, 'label' => $this->__('Menu des marques-pages')); + $this->fields['bookmarkEmpty'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Bouton pour effacer les marques-pages")); + $this->fields['bookmarkFunctionsMainMenu'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Fonctions vers menus généraux'), 'hint' => $this->__('Les fonctions des marques pages (Télécharger, Imprimer, Envoyer) dirigent vers les menus généraux')); + $this->fields['bookmarkDisablePages'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Désactiver les marques-pages sur ces pages'), 'hint' => '1-3,5 = 1,2,3,5', 'grade' => 1]; + $this->fields['bookmarkSendEnable'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Activer l'envoi des marques-pages par e-mail")); + $this->fields['bookmarkPrint'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Activer l'impression des marques-pages")); + $this->fields['bookmark_email_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre de l'email") . ' "' . $this->__('Envoyer à un ami') . '"', 'hint' => $this->__('Laisser vide pour utiliser la valeur par défaut')); + $this->fields['bookmark_email_body'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__("Corps de l'email") . ' "' . $this->__('Envoyer à un ami') . '"', 'hint' => $this->__('Laisser vide pour utiliser la valeur par défaut')); + $this->fields['bookmarkCornerSize'] = array('type' => 'integer', 'default' => 8, 'editable' => true, 'label' => $this->__("Taille des marques-pages"), 'hint' => $this->__('Taille relative à la largeur de la page')); + $this->fields['bookmarkOffset'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__("Décaler de x pixels vers l'intérieur")); + $this->fields['bookmarkBlinkOnPageChange'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Faire clignoter le marque page à l\'apparition de la page')); + $this->fields['bookmarkPermanentIcon'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Afficher l\'icône en permanance')]; + $this->fields['bookmarkUsePDF'] = array('type' => 'combo', 'default' => 'pages', 'editable' => true, 'label' => $this->__('PDF à utiliser pour l\'envoi ou le téléchargement de pages marquées'), + 'datas' => [$this->__('PDF des pages') => 'pages', + $this->__('PDF de remplacement') => 'download', + $this->__('PDF des miniatures') => 'thumbnails']); + $this->forms['bookmark'] = array('label' => $this->__('Marques-pages'), 'fieldsnames' => array('bookmark', 'bookmarkView', 'bookmarkFunctionsMainMenu', 'bookmarkEmpty', '|', 'bookmarkSendEnable', 'bookmark_email_title', 'bookmark_email_body', '|', 'bookmarkPrint', '|', 'bookmarkCornerSize', 'bookmarkOffset', 'bookmarkPermanentIcon', 'bookmarkBlinkOnPageChange', '|', 'bookmarkDisablePages', 'bookmarkUsePDF')); - $this->fields['help'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer l'aide")); - $this->fields['helpBookmarks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Améliorer l'aide des marques-pages")); - $this->fields['helpStartup'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Afficher l'aide au démarrage")); - $this->fields['helpStartupTime'] = array('type' => 'integer', 'default' => 15, 'editable' => true, 'label' => __("Temps d'affichage en secondes")); - $this->fields['helpArrowTooltip'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Bulle affichée au niveau de la flèche de droite'), 'grade' => 5); - $this->fields['landscapeWarning'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Avertissement affiché sur mobile au chargement de la publication'), 'grade' => 5, 'embed' => false]; - $this->forms['help'] = array('label' => __('Aide'), + $this->fields['help'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Activer l'aide")); + $this->fields['helpBookmarks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Améliorer l'aide des marques-pages")); + $this->fields['helpStartup'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Afficher l'aide au démarrage")); + $this->fields['helpStartupTime'] = array('type' => 'integer', 'default' => 15, 'editable' => true, 'label' => $this->__("Temps d'affichage en secondes")); + $this->fields['helpArrowTooltip'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Bulle affichée au niveau de la flèche de droite'), 'grade' => 5); + $this->fields['landscapeWarning'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Avertissement affiché sur mobile au chargement de la publication'), 'grade' => 5, 'embed' => false]; + $this->forms['help'] = array('label' => $this->__('Aide'), 'fieldsnames' => array('help', '|', 'helpStartup', 'helpStartupTime', '|', 'helpBookmarks', '|', 'helpArrowTooltip', '|', 'landscapeWarning')); // . // $this->fields['pdfThumbnails'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('PDF utilisé pour générer les miniatures'), 'grade' => 1, 'fileFilter' => $pdfFilter); - $this->fields['indexMessage'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Message en haut"), 'grade' => 1, 'hint' => __('Message en haut de la vue index')); + 'label' => $this->__('PDF utilisé pour générer les miniatures'), 'grade' => 1, 'fileFilter' => $pdfFilter); + $this->fields['indexMessage'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__("Message en haut"), 'grade' => 1, 'hint' => $this->__('Message en haut de la vue index')); - $this->forms['index'] = array('label' => __('Vue d\'index (vignettes)'), 'fieldsnames' => array('indexAutoScroll', 'pdfThumbnails', 'indexMessage')); + $this->forms['index'] = array('label' => $this->__('Vue d\'index (vignettes)'), 'fieldsnames' => array('indexAutoScroll', 'pdfThumbnails', 'indexMessage')); // . // - $this->fields['print'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer l'impression")); - $this->fields['printFullBrochure'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Autoriser l'impression de la brochure complète")); - $this->fields['printPageRange'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Activer l'option pour imprimer une plage de pages")); + $this->fields['print'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Activer l'impression")); + $this->fields['printFullBrochure'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Autoriser l'impression de la brochure complète")); + $this->fields['printPageRange'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Activer l'option pour imprimer une plage de pages")); - $this->forms['print'] = array('label' => __('Impression'), + $this->forms['print'] = array('label' => $this->__('Impression'), 'fieldsnames' => array('print', 'printFullBrochure', 'printPageRange')); - $this->fields['search'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer le moteur de recherche')); - $this->fields['searchFullBurger'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Afficher le burger menu complet à l\'ouverture de la recheche')); - $this->fields['highlightResults'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Surligner les résultats')); - $this->fields['highlightAllOccurences'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Surligner toutes les occurences'), 'hint' => __('Même sur les pages non considérées comme un résultat')); - $this->fields['ignoreSearch'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Mots à ignorer'), - 'hint' => __('Liste des mots à ignorer séparés par des virgules'), 'grade' => 5); - $this->fields['ignoreSearchSeparators'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Caractères à ne pas considérer comme un séparateur de mot')); - $this->fields['ignoreWordLimit'] = ['type' => 'integer', 'default' => 3, 'editable' => true, 'label' => __('Ignorer les mots de moins de X caractères')]; - $this->fields['textExtraction'] = array('type' => 'combo', 'default' => 'pdfbox', 'editable' => true, 'label' => __("Méthode d'extraction des textes"), - 'datas' => array(__('PDFBox') => 'pdfbox', - __('Poppler') => 'poppler', - __('Fluidbook (expérimentation basée sur PDFBox)') => 'fluidbook')); - $this->fields['searchShowNoResultsPages'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Afficher les pages sans résultats")); + $this->fields['search'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer le moteur de recherche')); + $this->fields['searchFullBurger'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Afficher le burger menu complet à l\'ouverture de la recheche')); + $this->fields['highlightResults'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Surligner les résultats')); + $this->fields['highlightAllOccurences'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Surligner toutes les occurences'), 'hint' => $this->__('Même sur les pages non considérées comme un résultat')); + $this->fields['ignoreSearch'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Mots à ignorer'), + 'hint' => $this->__('Liste des mots à ignorer séparés par des virgules'), 'grade' => 5); + $this->fields['ignoreSearchSeparators'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Caractères à ne pas considérer comme un séparateur de mot')); + $this->fields['ignoreWordLimit'] = ['type' => 'integer', 'default' => 3, 'editable' => true, 'label' => $this->__('Ignorer les mots de moins de X caractères')]; + $this->fields['textExtraction'] = array('type' => 'combo', 'default' => 'pdfbox', 'editable' => true, 'label' => $this->__("Méthode d'extraction des textes"), + 'datas' => array($this->__('PDFBox') => 'pdfbox', + $this->__('Poppler') => 'poppler', + $this->__('Fluidbook (expérimentation basée sur PDFBox)') => 'fluidbook')); + $this->fields['searchShowNoResultsPages'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Afficher les pages sans résultats")); $this->fields['searchPageSelectionAlgorithm'] = array('type' => 'combo', 'editable' => true, 'default' => 'AND', - 'datas' => [__('les double-pages qui contiennent tous les mots recherchés (ET logique)') => 'AND', __('les double-page qui contiennent un des mots recherché (OU logique)') => 'OR'], 'label' => __('Algorithme de sélection des résultats')); + 'datas' => [$this->__('les double-pages qui contiennent tous les mots recherchés (ET logique)') => 'AND', $this->__('les double-page qui contiennent un des mots recherché (OU logique)') => 'OR'], 'label' => $this->__('Algorithme de sélection des résultats')); $this->fields['searchWordSelectionAlgorithm'] = array('type' => 'combo', 'editable' => true, 'default' => 'begins', - 'datas' => [__('mot commençant par la requête') => 'begins', __('mot correspondant exactement à la requête') => 'exact', __('mot contenant la requête') => 'contains', __('expression exacte') => 'expression'], - 'label' => __('Algorithme de sélection des occurences')); + 'datas' => [$this->__('mot commençant par la requête') => 'begins', $this->__('mot correspondant exactement à la requête') => 'exact', $this->__('mot contenant la requête') => 'contains', $this->__('expression exacte') => 'expression'], + 'label' => $this->__('Algorithme de sélection des occurences')); - $this->forms['search'] = array('label' => __('Moteur de recherche'), + $this->forms['search'] = array('label' => $this->__('Moteur de recherche'), 'fieldsnames' => array('search', '|', 'searchFullBurger', '|', 'ignoreWordLimit', 'ignoreSearch', 'ignoreSearchSeparators', '|', 'searchWordSelectionAlgorithm', 'searchPageSelectionAlgorithm', '|', 'highlightResults', 'highlightAllOccurences', '|', 'searchShowNoResultsPages', '|', 'textExtraction')); - $this->fields['soundTheme'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __("Thème sonore"), - 'datas' => array(__('Pas de son') => '', - __('Classique') => 'classic', - __("Papier épais") => 'heavy', - __("Papier fin") => 'light', - __("Silencieux") => 'silent', - __('Woosh') => 'woosh')); - $this->fields['soundOn'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer les effets sonores à l'ouverture")); - $this->forms['sound'] = array('label' => __('Effets sonores'), + $this->fields['soundTheme'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => $this->__("Thème sonore"), + 'datas' => array($this->__('Pas de son') => '', + $this->__('Classique') => 'classic', + $this->__("Papier épais") => 'heavy', + $this->__("Papier fin") => 'light', + $this->__("Silencieux") => 'silent', + $this->__('Woosh') => 'woosh')); + $this->fields['soundOn'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Activer les effets sonores à l'ouverture")); + $this->forms['sound'] = array('label' => $this->__('Effets sonores'), 'fieldsnames' => array('soundTheme', 'soundOn', '|', 'ambientSound', 'ambientSoundVolume')); // . - $this->fields['pdf'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer les fonctions de téléchargement")); - $this->fields['pdfName'] = array('type' => 'text', 'default' => 'document.pdf', 'editable' => true, 'label' => __("Nom du fichier PDF")); - $this->fields['pdfComplex'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Téchargement de PDF avancé'), "hint" => __("Permet à l'utilisateur de sélectionner les pages qu'il souhaite télécharger"), 'grade' => 3); - $this->fields['pdfComplexShowCurrent'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher les pages courrantes'), 'grade' => 3); - $this->fields['pdfCompress'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Compression du fichier PDF')); + $this->fields['pdf'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Activer les fonctions de téléchargement")); + $this->fields['pdfName'] = array('type' => 'text', 'default' => 'document.pdf', 'editable' => true, 'label' => $this->__("Nom du fichier PDF")); + $this->fields['pdfComplex'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Téchargement de PDF avancé'), "hint" => $this->__("Permet à l'utilisateur de sélectionner les pages qu'il souhaite télécharger"), 'grade' => 3); + $this->fields['pdfComplexShowCurrent'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Afficher les pages courrantes'), 'grade' => 3); + $this->fields['pdfCompress'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Compression du fichier PDF')); $this->fields['pdfReplace'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('PDF de remplacement'), 'grade' => 3, 'fileFilter' => $pdfFilter); - $this->forms['downloadpdf'] = array('label' => __('Fonction de téléchargement'), + 'label' => $this->__('PDF de remplacement'), 'grade' => 3, 'fileFilter' => $pdfFilter); + $this->forms['downloadpdf'] = array('label' => $this->__('Fonction de téléchargement'), 'fieldsnames' => array('pdf', 'pdfName', 'pdfReplace', 'pdfCompress', '|', 'pdfComplex', 'pdfComplexShowCurrent')); // . - $this->fields['zoom'] = array('type' => 'integer', 'default' => 200, 'editable' => true, 'label' => __('Zoom par défaut (atteint au clic)')); - $this->fields['zoomw'] = array('type' => 'integer', 'default' => 300, 'editable' => true, 'label' => __("Zoom maximal (atteint à l'aide de la molette)")); - $this->fields['hideHeaderOnZoom'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Cacher le menu lors du zoom')]; - $this->fields['zoomMouseMoveMode'] = ['type' => 'combo', 'default' => 'move', 'editable' => true, 'label' => __('Mode de déplacement des pages zoomées (souris)'), - 'datas' => [__('Bouger la souris') => 'move', __('Drag & drop') => __('dragndrop')]]; - $this->fields['zoomWheel'] = ['type' => 'combo', 'default' => 'wheel', 'editable' => true, 'label' => __('Zoom molette'), 'datas' => [ - __('Désactivé') => 'disabled', - __('Molette') => 'wheel', - __('Ctrl+Molette') => 'ctrlwheel', + $this->fields['zoom'] = array('type' => 'integer', 'default' => 200, 'editable' => true, 'label' => $this->__('Zoom par défaut (atteint au clic)')); + $this->fields['zoomw'] = array('type' => 'integer', 'default' => 300, 'editable' => true, 'label' => $this->__("Zoom maximal (atteint à l'aide de la molette)")); + $this->fields['hideHeaderOnZoom'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cacher le menu lors du zoom')]; + $this->fields['zoomMouseMoveMode'] = ['type' => 'combo', 'default' => 'move', 'editable' => true, 'label' => $this->__('Mode de déplacement des pages zoomées (souris)'), + 'datas' => [$this->__('Bouger la souris') => 'move', $this->__('Drag & drop') => $this->__('dragndrop')]]; + $this->fields['zoomWheel'] = ['type' => 'combo', 'default' => 'wheel', 'editable' => true, 'label' => $this->__('Zoom molette'), 'datas' => [ + $this->__('Désactivé') => 'disabled', + $this->__('Molette') => 'wheel', + $this->__('Ctrl+Molette') => 'ctrlwheel', ]]; - $this->fields['zoomClick'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Cliquer sur les pages pour zoomer')]; - $this->forms['zoom'] = array('label' => __('Zoom'), + $this->fields['zoomClick'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cliquer sur les pages pour zoomer')]; + $this->forms['zoom'] = array('label' => $this->__('Zoom'), 'fieldsnames' => array('zoomClick', 'zoomWheel', '|', 'zoom', 'zoomw', '|', 'zoomMouseMoveMode', 'hideHeaderOnZoom')); // . $this->fields['sliderImage'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Image pour le slider'), 'grade' => 3, 'fileFilter' => $imageExtraFilter); + 'label' => $this->__('Image pour le slider'), 'grade' => 3, 'fileFilter' => $imageExtraFilter); - $this->forms['slider'] = ['label' => __('Slider'), + $this->forms['slider'] = ['label' => $this->__('Slider'), 'fieldsnames' => ['sliderImage'], ]; - $this->fields['stats_score'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher les scores dans les rapports'), 'grade' => 5); - $this->fields['stats_exclude_ip'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Exclure les IP suivantes des statistiques'), 'grade' => 3, 'hint' => sprintf(__('Indiquer une adresse ip de la forme %s par ligne'), 'www.xxx.yyy.zzz')); - $this->fields['relay_url_params'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Relayer les paramètres d\'url dans les liens sortants'), 'grade' => 3]; - $this->fields['gtag_additional_code'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Code additionnel Google Tag Manager')); - $this->fields['googleAnalyticsCustom'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Code Stats personnalisé (placé avant fermeture de head)')); - $this->fields['statsCustom'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Code Stats personnalisé (placé avant fermeture du body)')); - $this->fields['xiti'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Code XiTi global')); - $this->fields['xiti_page'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Modèle code xiti (pour tags relatifs aux pages)')); + $this->fields['stats_score'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Afficher les scores dans les rapports'), 'grade' => 5); + $this->fields['stats_exclude_ip'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Exclure les IP suivantes des statistiques'), 'grade' => 3, 'hint' => sprintf($this->__('Indiquer une adresse ip de la forme %s par ligne'), 'www.xxx.yyy.zzz')); + $this->fields['relay_url_params'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Relayer les paramètres d\'url dans les liens sortants'), 'grade' => 3]; + $this->fields['gtag_additional_code'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Code additionnel Google Tag Manager')); + $this->fields['googleAnalyticsCustom'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Code Stats personnalisé (placé avant fermeture de head)')); + $this->fields['statsCustom'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Code Stats personnalisé (placé avant fermeture du body)')); + $this->fields['xiti'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Code XiTi global')); + $this->fields['xiti_page'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Modèle code xiti (pour tags relatifs aux pages)')); $this->fields['tagcommander_id'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => 'Tag commander ID', 'grade' => 3]; $this->fields['tagcommander_scriptname'] = ['type' => 'text', 'default' => 'tc_Multisite_Head.js,tc_Multisite_Analytics.js,tc_Multisite_Medias.js', 'editable' => true, 'label' => 'Nom du script Tagcommander', 'grade' => 3]; $this->fields['tagcommander_prod'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => 'Production', 'grade' => 3]; $this->fields['tagcommander_plan'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => 'Plan de taggage "Tag commander"', 'grade' => 3]; $this->fields['tagcommander_default_vars'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => 'Variables par défaut', 'grade' => 3]; - $this->fields['anchorsAliases'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Alias des ancres')]; - $this->forms['stats'] = array('label' => __('Statistiques avancées'), + $this->fields['anchorsAliases'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Alias des ancres')]; + $this->forms['stats'] = array('label' => $this->__('Statistiques avancées'), 'fieldsnames' => array('tagcommander_id', 'tagcommander_scriptname', 'tagcommander_prod', 'tagcommander_plan', 'tagcommander_default_vars', 'anchorsAliases', '|', 'stats_score', 'stats_exclude_ip', '|', 'relay_url_params', '|', 'gtag_additional_code', '|', 'googleAnalyticsCustom', 'statsCustom', '|', 'xiti', 'xiti_page')); - $this->fields['displayChaptersPopup'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Always display chapters in a popup'), 'grade' => 1); - $this->fields['displayChaptersIcon'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Affiche l'icône du sommaire"), 'grade' => 1); - $this->fields['chaptersCaptionDisplay'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher le titre "Sommaire" dans la popup'), 'grade' => 3]; - $this->fields['chaptersFontSize'] = ['type' => 'integer', 'default' => 100, 'min' => 50, 'max' => 120, 'editable' => true, 'label' => __('Taille du texte des élements du sommaire'), 'hint' => 'En % par rapport à la taille normale', 'grade' => 3]; - $this->fields['chaptersPage'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Faire pointer le sommaire sur la page'), 'grade' => 3, 'hint' => __('Laisser vide pour utiliser le sommaire classique'), 'size' => 5); - $this->fields['displayChaptersAtStart'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Afficher le sommaire au chargement de la publication"), 'grade' => 3); - $this->fields['chaptersColumns'] = array('type' => 'integer', 'default' => 1, 'editable' => true, 'label' => __('Afficher le sommaire sur x colonne(s)'), 'grade' => 3); - $this->fields['chaptersColMaxWidth'] = array('type' => 'integer', 'default' => 300, 'editable' => true, 'label' => __("Largeur max d'une colonne"), 'grade' => 3); - $this->fields['chaptersLevelLimit'] = array('type' => 'integer', 'default' => 5, 'editable' => true, 'label' => __('Limiter à x niveaux')); - $this->fields['chaptersIndent'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Indenter les éléments (pour les sommaires à plat)')]; + $this->fields['displayChaptersPopup'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Always display chapters in a popup'), 'grade' => 1); + $this->fields['displayChaptersIcon'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Affiche l'icône du sommaire"), 'grade' => 1); + $this->fields['chaptersCaptionDisplay'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Afficher le titre "Sommaire" dans la popup'), 'grade' => 3]; + $this->fields['chaptersFontSize'] = ['type' => 'integer', 'default' => 100, 'min' => 50, 'max' => 120, 'editable' => true, 'label' => $this->__('Taille du texte des élements du sommaire'), 'hint' => 'En % par rapport à la taille normale', 'grade' => 3]; + $this->fields['chaptersPage'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Faire pointer le sommaire sur la page'), 'grade' => 3, 'hint' => $this->__('Laisser vide pour utiliser le sommaire classique'), 'size' => 5); + $this->fields['displayChaptersAtStart'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Afficher le sommaire au chargement de la publication"), 'grade' => 3); + $this->fields['chaptersColumns'] = array('type' => 'integer', 'default' => 1, 'editable' => true, 'label' => $this->__('Afficher le sommaire sur x colonne(s)'), 'grade' => 3); + $this->fields['chaptersColMaxWidth'] = array('type' => 'integer', 'default' => 300, 'editable' => true, 'label' => $this->__("Largeur max d'une colonne"), 'grade' => 3); + $this->fields['chaptersLevelLimit'] = array('type' => 'integer', 'default' => 5, 'editable' => true, 'label' => $this->__('Limiter à x niveaux')); + $this->fields['chaptersIndent'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Indenter les éléments (pour les sommaires à plat)')]; $this->fields['externalChaptersHTML'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Sommaire personnalisé'), 'grade' => 3, 'fileFilter' => $multimediaFilter, 'hint' => __('Laisser vide pour utiliser le sommaire classique')); - $this->fields['mobileChaptersStyle'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __('Style des chapitres') - , 'datas' => array(__('Classique') => 'classic', - __('INA') => 'ina')); - $this->fields['chaptersPagesNumber'] = array('type' => 'combo', 'default' => 'virtual', 'editable' => true, 'label' => __('Numérotation du sommaire'), 'datas' => $pagesNumbers); - $this->fields['chaptersCascade'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Sommaire en cascade"), 'grade' => 3); - - $this->forms['sommaire'] = array('label' => __('Sommaire'), + 'label' => $this->__('Sommaire personnalisé'), 'grade' => 3, 'fileFilter' => $multimediaFilter, 'hint' => $this->__('Laisser vide pour utiliser le sommaire classique')); + $this->fields['mobileChaptersStyle'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => $this->__('Style des chapitres') + , 'datas' => array($this->__('Classique') => 'classic', + $this->__('INA') => 'ina')); + $this->fields['chaptersPagesNumber'] = array('type' => 'combo', 'default' => 'virtual', 'editable' => true, 'label' => $this->__('Numérotation du sommaire'), 'datas' => $pagesNumbers); + $this->fields['chaptersCascade'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Sommaire en cascade"), 'grade' => 3); + + $this->forms['sommaire'] = array('label' => $this->__('Sommaire'), 'fieldsnames' => array('chaptersCaptionDisplay', 'chaptersFontSize', '|', 'displayChaptersIcon', 'displayChaptersPopup', 'displayChaptersAtStart', 'chaptersPage', 'chaptersPosition', 'chaptersLevelLimit', 'chaptersCascade', 'chaptersPagesNumber', '|', 'chaptersColMaxWidth', 'chaptersColumns', 'displayChaptersLine', 'chaptersIndent', '|', 'externalChaptersHTML', '|', 'mobileChaptersStyle')); // . $this->fields['tabsHTML5'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - '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, + 'label' => $this->__('Fichier d\'onglets') . ' (SVG, ZIP)', 'grade' => 3, 'hint' => $this->__('Charger un zip rendra les options ci-dessous inopérantes'), 'fileFilter' => $tabsFilter); + $this->fields['tabsSide'] = ['type' => 'combo', 'label' => $this->__('Position des onglets'), 'editable' => true, 'default' => 'right', 'grade' => 5, 'datas' => [ - __('Gauche') => 'left', - __('Droite') => 'right', + $this->__('Gauche') => 'left', + $this->__('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->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['tabsHideOnPages'] = ['type' => 'text', 'label' => __('Cacher les onglets sur les pages'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => '1-3,5 = 1,2,3,5']; - $this->fields['tabsDisabledOnPages'] = ['type' => 'text', 'label' => __('Onglets inactifs sur les pages'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => '1-3,5 = 1,2,3,5']; - $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, + $this->fields['tabsPages'] = ['type' => 'text', 'label' => $this->__('Pages des onglets'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => $this->__('Numéros de pages séparas par une virgule')]; + $this->fields['tabsSections'] = ['type' => 'text', 'label' => $this->__('Sections des onglets'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => $this->__('Numéros de pages séparés par une virgule')]; + $this->fields['tabsPagesNumbers'] = ['type' => 'combo', 'label' => $this->__('Numérotation utilisée'), 'editable' => true, 'default' => 'virtual', 'grade' => 5, 'datas' => $pagesNumbers]; + $this->fields['tabsHideOnPages'] = ['type' => 'text', 'label' => $this->__('Cacher les onglets sur les pages'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => '1-3,5 = 1,2,3,5']; + $this->fields['tabsDisabledOnPages'] = ['type' => 'text', 'label' => $this->__('Onglets inactifs sur les pages'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => '1-3,5 = 1,2,3,5']; + $this->fields['tabsHideOnCover'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Cacher les onglets sur la couverture'), 'grade' => 5]; + $this->fields['tabsHideOnLastPage'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cacher les onglets sur la dernière page'), 'grade' => 5]; + $this->fields['tabsHideOnPortrait'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cacher les onglets lorsque le fluidbook est en mode portrait'), 'grade' => 5]; + $this->fields['tabsHideOnZoom'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cacher les onglets lorsque le fluidbook est zoomé'), 'grade' => 5]; + $this->fields['tabsHideWhenOverlapingArrows'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cacher les onglets lorsqu\'ils passent sous les flèches de navigation'), 'grade' => 5]; + $this->fields['tabsHideEdges'] = ['type' => 'combo', 'label' => $this->__('Masquer les bordures du fluidbook'), 'editable' => true, 'default' => 'right', 'grade' => 5, 'datas' => [ - __('Aucune') => 'none', - __('Gauche') => 'left', - __('Droite') => 'right', - __('Les deux') => 'both', + $this->__('Aucune') => 'none', + $this->__('Gauche') => 'left', + $this->__('Droite') => 'right', + $this->__('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->fields['tabsLinkWidth'] = ['type' => 'float', 'label' => __('Largeur des onglets'), 'editable' => true, 'default' => 30, 'grade' => 5, 'hint' => __('Largeur réservée pour les onglets et largeur de la zone cliquable des liens')]; - $this->forms['tabs'] = ['label' => __('Onglets'), + $this->fields['tabsMargin'] = ['type' => 'float', 'label' => $this->__('Marge des onglets'), 'editable' => true, 'default' => -10, 'grade' => 5, 'hint' => $this->__('Une marge négative = les onglets passent sous la publication')]; + $this->fields['tabsLinkWidth'] = ['type' => 'float', 'label' => $this->__('Largeur des onglets'), 'editable' => true, 'default' => 30, 'grade' => 5, 'hint' => $this->__('Largeur réservée pour les onglets et largeur de la zone cliquable des liens')]; + $this->forms['tabs'] = ['label' => $this->__('Onglets'), 'fieldsnames' => ['tabsHTML5', 'tabsPages', 'tabsSections', 'tabsPagesNumbers', 'tabsDisabledOnPages', '|', 'tabsSide', 'tabsMargin', '|', 'tabsHideOnPages', 'tabsHideOnCover', 'tabsHideOnLastPage', 'tabsHideEdges', '|', 'tabsPriority', 'tabsLinkWidth', 'tabsHideWhenOverlapingArrows', 'tabsHideOnPortrait', 'tabsHideOnZoom']]; /*** **/ - $this->fields['customLinkClass'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Classe pour les liens personnalisés'), 'grade' => 5); - $this->fields['ignoreLinksTypes'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Ignorer les liens de type'), 'hint' => __('Liste des numéros séparés par des virgules'), 'grade' => 5); - $this->fields['mobileLinksRevealAnim'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Animer les liens après un changement de page"), 'grade' => 3); - $this->fields['linkBlinkTime'] = array('type' => 'float', 'default' => 1.0, 'editable' => true, 'label' => __("Temps d'apparition du lien à l'ouverture de la page (en secondes)")); - $this->fields['linkBlinkRepetition'] = ['type' => 'integer', 'default' => 1, 'editable' => true, 'label' => __('Nombre de clignotement lors de l\'apparition des liens')]; - $this->fields['linkTracker'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Tracking des liens'), 'grade' => 5); - $this->fields['linkTrackerRegexp'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Tracking des liens applicables aux liens du domaine'), 'grade' => 5); - $this->fields['linkFilePrefix'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Préfixer les liens de téléchargement')); - $this->fields['linkTooltipMaxWidth'] = array('type' => 'integer', 'default' => 140, 'editable' => true, 'label' => __('Largeur max des infobulles des liens de type "infobulle"')); - $this->fields['openLinkAtStartup'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Déclencher un lien à l\'ouverture du fluidbook')]; - - $this->fields['mobileIgnoreBackgroundLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Ignorer les liens de background')); - $this->forms['links'] = array('label' => __('Liens'), + $this->fields['customLinkClass'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Classe pour les liens personnalisés'), 'grade' => 5); + $this->fields['ignoreLinksTypes'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Ignorer les liens de type'), 'hint' => $this->__('Liste des numéros séparés par des virgules'), 'grade' => 5); + $this->fields['mobileLinksRevealAnim'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Animer les liens après un changement de page"), 'grade' => 3); + $this->fields['linkBlinkTime'] = array('type' => 'float', 'default' => 1.0, 'editable' => true, 'label' => $this->__("Temps d'apparition du lien à l'ouverture de la page (en secondes)")); + $this->fields['linkBlinkRepetition'] = ['type' => 'integer', 'default' => 1, 'editable' => true, 'label' => $this->__('Nombre de clignotement lors de l\'apparition des liens')]; + $this->fields['linkTracker'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Tracking des liens'), 'grade' => 5); + $this->fields['linkTrackerRegexp'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Tracking des liens applicables aux liens du domaine'), 'grade' => 5); + $this->fields['linkFilePrefix'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Préfixer les liens de téléchargement')); + $this->fields['linkTooltipMaxWidth'] = array('type' => 'integer', 'default' => 140, 'editable' => true, 'label' => $this->__('Largeur max des infobulles des liens de type "infobulle"')); + $this->fields['openLinkAtStartup'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Déclencher un lien à l\'ouverture du fluidbook')]; + + $this->fields['mobileIgnoreBackgroundLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Ignorer les liens de background')); + $this->forms['links'] = array('label' => $this->__('Liens'), 'fieldsnames' => array('permanentLinks', 'mobileLinksRevealAnim', 'linkBlinkTime', 'linkBlinkRepetition', '|', 'openLinkAtStartup', '|', 'customLinkClass', 'ignoreLinksTypes', 'mobileIgnoreBackgroundLinks', 'linkTooltipManager', 'linkCornerSize', 'linkTooltipMaxWidth', '|', 'linkTracker', 'linkTrackerRegexp', '|', 'linkFilePrefix')); //. - $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->fields['iframePopupMaxWidth'] = ['type' => 'integer', 'default' => 0, 'editable' => true, 'label' => __('Largeur maximale des popups iframe')]; - $this->fields['OAMChromeFactor'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => __('Facteur OAM Chrome')]; - $this->fields['OAMIEFactor'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => __('Facteur OAM IE11')]; + $this->fields['textPopupStylesheet'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Feuille de style des popups de texte'), 'fileFilter' => $cssFilter]; + $this->fields['textPopupWidth'] = ['type' => 'integer', 'default' => 600, 'editable' => true, 'label' => $this->__('Largeur optimale des popups')]; + $this->fields['iframePopupMaxWidth'] = ['type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__('Largeur maximale des popups iframe')]; + $this->fields['OAMChromeFactor'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => $this->__('Facteur OAM Chrome')]; + $this->fields['OAMIEFactor'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => $this->__('Facteur OAM IE11')]; - $this->forms['multimedia'] = ['label' => __('Multimedia'), + $this->forms['multimedia'] = ['label' => $this->__('Multimedia'), 'fieldsnames' => ['textPopupStylesheet', 'textPopupWidth', '|', 'iframePopupMaxWidth', '|', 'OAMChromeFactor', 'OAMIEFactor']]; - $pdfRendererOptions = [__('Navigateur') => 'native', 'PDF.js' => 'pdfjs', 'PDF.js (legacy)' => 'pdfjs-legacy']; - $pdfRenderOptionsIframe = array_merge($pdfRendererOptions, [__('Ecraser en SVG') => 'svg']); + $pdfRendererOptions = [$this->__('Navigateur') => 'native', 'PDF.js' => 'pdfjs', 'PDF.js (legacy)' => 'pdfjs-legacy']; + $pdfRenderOptionsIframe = array_merge($pdfRendererOptions, [$this->__('Ecraser en SVG') => 'svg']); - $this->fields['PDFRenderer'] = ['type' => 'combo', 'datas' => $pdfRendererOptions, 'default' => 'native', 'editable' => true, 'label' => __('Rendu des PDF (téléchargement)')]; - $this->fields['PDFRendererIframe'] = ['type' => 'combo', 'datas' => $pdfRenderOptionsIframe, 'default' => 'native', 'editable' => true, 'label' => __('Rendu des PDF (iframes)')]; + $this->fields['PDFRenderer'] = ['type' => 'combo', 'datas' => $pdfRendererOptions, 'default' => 'native', 'editable' => true, 'label' => $this->__('Rendu des PDF (téléchargement)')]; + $this->fields['PDFRendererIframe'] = ['type' => 'combo', 'datas' => $pdfRenderOptionsIframe, 'default' => 'native', 'editable' => true, 'label' => $this->__('Rendu des PDF (iframes)')]; $this->fields['PDFJSCSS'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => 'Styles PDF.js']; $this->forms['pdf'] = ['label' => 'PDF', 'fieldsnames' => ['PDFRenderer', 'PDFRendererIframe', '|', 'PDFJSCSS']]; $slideshowPopupLibraries = [ - 'Splide (' . __('défaut') . ')' => 'splide', + 'Splide (' . $this->__('défaut') . ')' => 'splide', 'Vacheron' => 'vacheron']; $slideshowInlineLibraries = [ - 'Simple (' . __('défaut') . ')' => 'dummy', + 'Simple (' . $this->__('défaut') . ')' => 'dummy', 'Vacheron' => 'vacheron']; - $this->fields['slideshowCaptionSize'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Taille de police de la légende du diaporama'), 'hint' => __('Laisser vide pour utiliser la valeur par défaut')); - $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['inlineSlideshowLibrary'] = ['type' => 'combo', 'datas' => $slideshowInlineLibraries, 'default' => 'dummy', 'editable' => true, 'grade' => 3, 'label' => __('Librarie utilisée pour les slideshow intégrés aux pages')]; - $this->fields['popupSlideshowLibrary'] = ['type' => 'combo', 'datas' => $slideshowPopupLibraries, 'default' => 'splide', 'editable' => true, 'grade' => 3, 'label' => __('Librarie utilisée pour les slideshow popup')]; + $this->fields['slideshowCaptionSize'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Taille de police de la légende du diaporama'), 'hint' => $this->__('Laisser vide pour utiliser la valeur par défaut')); + $this->fields['inlineSlideshowTransitionDuration'] = array('type' => 'float', 'default' => 0.75, 'editable' => true, 'label' => $this->__('Durée de la transition des diaporamas intégrés aux pages(s)')); + $this->fields['inlineSlideshowDuration'] = array('type' => 'float', 'default' => 7, 'editable' => true, 'label' => $this->__('Temps d\'attente des diaporamas intégrés aux pages (s)')); + $this->fields['inlineSlideshowLibrary'] = ['type' => 'combo', 'datas' => $slideshowInlineLibraries, 'default' => 'dummy', 'editable' => true, 'grade' => 3, 'label' => $this->__('Librarie utilisée pour les slideshow intégrés aux pages')]; + $this->fields['popupSlideshowLibrary'] = ['type' => 'combo', 'datas' => $slideshowPopupLibraries, 'default' => 'splide', 'editable' => true, 'grade' => 3, 'label' => $this->__('Librarie utilisée pour les slideshow popup')]; - $this->forms['slideshow'] = ['label' => __('Slideshow'), + $this->forms['slideshow'] = ['label' => $this->__('Slideshow'), 'fieldsnames' => ['inlineSlideshowLibrary', 'popupSlideshowLibrary', '|', 'slideshowCaptionSize', '|', 'inlineSlideshowTransitionDuration', 'inlineSlideshowDuration']]; - $this->fields['webvideoAsLocal'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Intégrer les webvidéos en local')]; - $this->fields['mobileVideosPath'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Chemin vers les vidéos'), 'grade' => 5); - $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['bigPlayImage'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Image pour le bouton "Big Play"'), 'grade' => 3, 'fileFilter' => $imageExtraFilter]; - $this->forms['videos'] = array('label' => __('Vidéos'), + $this->fields['webvideoAsLocal'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Intégrer les webvidéos en local')]; + $this->fields['mobileVideosPath'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Chemin vers les vidéos'), 'grade' => 5); + $this->fields['brightcovePlayerId'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Brightcove Player Id'), 'grade' => 3); + $this->fields['brightcovePlayerSecret'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Brightcove Player Secret'), 'grade' => 3); + $this->fields['bigPlayImage'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Image pour le bouton "Big Play"'), 'grade' => 3, 'fileFilter' => $imageExtraFilter]; + $this->forms['videos'] = array('label' => $this->__('Vidéos'), 'fieldsnames' => array('webvideoAsLocal', '|', 'mobileVideosPath', '|', 'brightcovePlayerId', 'brightcovePlayerSecret', '|', 'bigPlayImage')); //. - $this->fields['audioPlayerTheme'] = ['type' => 'combo', 'default' => 'native', 'editable' => true, 'label' => __('Apparence du lecteur audio'), 'datas' => [__('Apparence native du navigateur') => 'native', __('Zone cliquable invisible') => 'invisible', __('Circulaire') => 'redbull']]; - $this->forms['audio'] = ['label' => __('Lecteur audio'), + $this->fields['audioPlayerTheme'] = ['type' => 'combo', 'default' => 'native', 'editable' => true, 'label' => $this->__('Apparence du lecteur audio'), 'datas' => [$this->__('Apparence native du navigateur') => 'native', $this->__('Zone cliquable invisible') => 'invisible', $this->__('Circulaire') => 'redbull']]; + $this->forms['audio'] = ['label' => $this->__('Lecteur audio'), 'fieldsnames' => ['audioPlayerTheme']]; //. $this->fields['downloadPortionPDF'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => 'PDF utilisé pour le téléchargement des extraits']; - $this->fields['downloadPortionZoom'] = ['type' => 'integer', 'default' => 8, 'editable' => false, 'editable' => true, 'label' => __('Zoom des images extraites')]; - $this->forms['downloadportion'] = array('label' => __('Téléchargement d\'extraits'), + $this->fields['downloadPortionZoom'] = ['type' => 'integer', 'default' => 8, 'editable' => false, 'editable' => true, 'label' => $this->__('Zoom des images extraites')]; + $this->forms['downloadportion'] = array('label' => $this->__('Téléchargement d\'extraits'), 'fieldsnames' => ['downloadPortionPDF', 'downloadPortionZoom']); $this->fields['product_zoom_references'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Références produits'), 'grade' => 3, 'fileFilter' => $basketFilter, 'hint' => __('Fichier contenant les références produits'), 'dir' => 'commerce'); - $this->fields['product_zoom_buttons_order'] = ['type' => 'combo', 'datas' => [__('De la droite vers la gauche') => 'right', __('De la gauche vers la droite') => 'left'], 'editable' => true, 'grade' => 3, 'default' => 'right', 'label' => __('Order des boutons')]; + 'label' => $this->__('Références produits'), 'grade' => 3, 'fileFilter' => $basketFilter, 'hint' => $this->__('Fichier contenant les références produits'), 'dir' => 'commerce'); + $this->fields['product_zoom_buttons_order'] = ['type' => 'combo', 'datas' => [$this->__('De la droite vers la gauche') => 'right', $this->__('De la gauche vers la droite') => 'left'], 'editable' => true, 'grade' => 3, 'default' => 'right', 'label' => $this->__('Order des boutons')]; $icons = [ - __('Aucune') => 'none', - __('Partage') => 'nav-share', - __('Ecran') => 'icon-site', - __('Télécharger') => 'nav-download', + $this->__('Aucune') => 'none', + $this->__('Partage') => 'nav-share', + $this->__('Ecran') => 'icon-site', + $this->__('Télécharger') => 'nav-download', 'PDF' => 'icon-pdf', 'Video' => 'icon-video', - __('Lien') => 'icon-link', - __('Code') => 'icon-code', - __('QR code') => 'icon-qr', - __('Article') => 'icon-article', - __('Panier (sac)') => 'nav-basket', - __('Panier (caddie)') => 'nav-cart-caddie', - __('Panier (wishlist)') => 'nav-cart-wishlist', - __('360°') => 'icon-360', - __('Photo') => 'icon-photo']; + $this->__('Lien') => 'icon-link', + $this->__('Code') => 'icon-code', + $this->__('QR code') => 'icon-qr', + $this->__('Article') => 'icon-article', + $this->__('Panier (sac)') => 'nav-basket', + $this->__('Panier (caddie)') => 'nav-cart-caddie', + $this->__('Panier (wishlist)') => 'nav-cart-wishlist', + $this->__('360°') => 'icon-360', + $this->__('Photo') => 'icon-photo']; $actions = [ - __('Désactiver') => 'disabled', - __('Ouvrir un lien') => 'link', - __('Ouvrir en iframe') => 'iframe', - __('Copier un contenu') => 'copy', - __('Web Vidéo') => 'video', - __('Vidéo') => 'videofile', - __('Vidéo (boucle, sans contrôle)') => 'videogif', - __('Voir une image') => 'image', - __('Ajouter au panier') => 'addtocart' + $this->__('Désactiver') => 'disabled', + $this->__('Ouvrir un lien') => 'link', + $this->__('Ouvrir en iframe') => 'iframe', + $this->__('Copier un contenu') => 'copy', + $this->__('Web Vidéo') => 'video', + $this->__('Vidéo') => 'videofile', + $this->__('Vidéo (boucle, sans contrôle)') => 'videogif', + $this->__('Voir une image') => 'image', + $this->__('Ajouter au panier') => 'addtocart' ]; $f = []; for ($i = 1; $i <= 3; $i++) { - $this->fields['product_zoom_label_' . $i] = ['type' => 'text', 'label' => __('Label du bouton') . ' ' . $i, 'default' => '', 'editable' => true, 'grade' => 3]; - $this->fields['product_zoom_tooltip_' . $i] = ['type' => 'text', 'label' => __('Label de l\'infobulle') . ' ' . $i, 'default' => '', 'editable' => true, 'grade' => 3]; - $this->fields['product_zoom_icon_' . $i] = ['type' => 'combo', 'datas' => $icons, 'label' => __('Icône du bouton') . ' ' . $i, 'default' => 'click', 'editable' => true, 'grade' => 3]; - $this->fields['product_zoom_action_' . $i] = ['type' => 'combo', 'datas' => $actions, 'label' => __('Action du bouton') . ' ' . $i, 'default' => 'disabled', 'editable' => true, 'grade' => 3]; + $this->fields['product_zoom_label_' . $i] = ['type' => 'text', 'label' => $this->__('Label du bouton') . ' ' . $i, 'default' => '', 'editable' => true, 'grade' => 3]; + $this->fields['product_zoom_tooltip_' . $i] = ['type' => 'text', 'label' => $this->__('Label de l\'infobulle') . ' ' . $i, 'default' => '', 'editable' => true, 'grade' => 3]; + $this->fields['product_zoom_icon_' . $i] = ['type' => 'combo', 'datas' => $icons, 'label' => $this->__('Icône du bouton') . ' ' . $i, 'default' => 'click', 'editable' => true, 'grade' => 3]; + $this->fields['product_zoom_action_' . $i] = ['type' => 'combo', 'datas' => $actions, 'label' => $this->__('Action du bouton') . ' ' . $i, 'default' => 'disabled', 'editable' => true, 'grade' => 3]; $f[] = '|'; $f[] = 'product_zoom_label_' . $i; $f[] = 'product_zoom_tooltip_' . $i; $f[] = 'product_zoom_icon_' . $i; $f[] = 'product_zoom_action_' . $i; } - $this->fields['product_share_enabled'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'grade' => '3', 'label' => __('Activer le bouton de partage')]; - $this->fields['product_share_link'] = ['type' => 'combo', 'default' => 'product', 'editable' => true, 'label' => __('Lien de partage'), 'datas' => [__('Lien du produit') => 'product', __('Lien vers la page du fluidbook') => 'page']]; - $this->fields['product_email_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Titre de l'email") . ' "' . __('Envoyer à un ami') . '"'); - $this->fields['product_email_body'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Corps de l'email") . ' "' . __('Envoyer à un ami') . '"'); - $this->fields['product_tweet'] = array('type' => 'textarea', 'default' => '%short%', 'editable' => true, 'label' => __("Contenu Partage court"), 'hint' => __('Contenu du partagé sur les partages courts')); - $this->forms['product_zoom'] = ['label' => __('Zooms produits'), 'fieldsnames' => array_merge(["product_zoom_references", '|', 'product_zoom_buttons_order'], $f, ['|', 'product_share_enabled', 'product_share_link', 'product_email_title', 'product_email_body', 'product_tweet'])]; - - $this->fields['audiodescriptionTexts'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Contenus textuels pour l\'audiodescription ou les lecteurs d\'écran'), 'fileFilter' => $seoFilter]; - $this->fields['audiodescriptionVoice'] = ['type' => 'combo', 'datas' => wsDroits::getTTSVoices(), 'editable' => true, 'default' => '', 'label' => __('Voix pour l\'audiodescription')]; - $this->forms['accessibility'] = ['label' => __('Accessibilité'), + $this->fields['product_share_enabled'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'grade' => '3', 'label' => $this->__('Activer le bouton de partage')]; + $this->fields['product_share_link'] = ['type' => 'combo', 'default' => 'product', 'editable' => true, 'label' => $this->__('Lien de partage'), 'datas' => [$this->__('Lien du produit') => 'product', $this->__('Lien vers la page du fluidbook') => 'page']]; + $this->fields['product_email_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre de l'email") . ' "' . $this->__('Envoyer à un ami') . '"'); + $this->fields['product_email_body'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__("Corps de l'email") . ' "' . $this->__('Envoyer à un ami') . '"'); + $this->fields['product_tweet'] = array('type' => 'textarea', 'default' => '%short%', 'editable' => true, 'label' => $this->__("Contenu Partage court"), 'hint' => $this->__('Contenu du partagé sur les partages courts')); + $this->forms['product_zoom'] = ['label' => $this->__('Zooms produits'), 'fieldsnames' => array_merge(["product_zoom_references", '|', 'product_zoom_buttons_order'], $f, ['|', 'product_share_enabled', 'product_share_link', 'product_email_title', 'product_email_body', 'product_tweet'])]; + + $this->fields['audiodescriptionTexts'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Contenus textuels pour l\'audiodescription ou les lecteurs d\'écran'), 'fileFilter' => $seoFilter]; + $this->fields['audiodescriptionVoice'] = ['type' => 'combo','datasFunc'=>'wsDroits::getTTSVoices()', 'datas' => wsDroits::getTTSVoices(), 'editable' => true, 'default' => '', 'label' => $this->__('Voix pour l\'audiodescription')]; + $this->forms['accessibility'] = ['label' => $this->__('Accessibilité'), 'fieldsnames' => ['audiodescriptionTexts', 'audiodescriptionVoice'] ]; @@ -637,58 +637,58 @@ class wsBookParametres extends wsParametres // Splashscreen - $this->fields['splashImage'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Image'), 'grade' => 3, 'fileFilter' => $imageFilter]; - $this->fields['splashURL'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => __('URL'), 'grade' => 3]; - $this->fields['splashTarget'] = ['type' => 'combo', 'datas' => $target, 'default' => '_self', 'editable' => true, 'label' => __('Ouvrir le lien'), 'grade' => 3]; - $this->fields['splashMinimalTime'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => __('Temps minimal d\'affichage'), 'grade' => 3]; + $this->fields['splashImage'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Image'), 'grade' => 3, 'fileFilter' => $imageFilter]; + $this->fields['splashURL'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('URL'), 'grade' => 3]; + $this->fields['splashTarget'] = ['type' => 'combo', 'datas' => $target, 'default' => '_self', 'editable' => true, 'label' => $this->__('Ouvrir le lien'), 'grade' => 3]; + $this->fields['splashMinimalTime'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => $this->__('Temps minimal d\'affichage'), 'grade' => 3]; - $this->forms['splash'] = ['label' => __('Ecran de chargement'), 'fieldsnames' => ['splashImage', 'splashURL', 'splashTarget', 'splashMinimalTime']]; + $this->forms['splash'] = ['label' => $this->__('Ecran de chargement'), 'fieldsnames' => ['splashImage', 'splashURL', 'splashTarget', 'splashMinimalTime']]; // Notes $this->fields['notes'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => 'Activer les notes', 'grade' => 3]; - $this->forms['notes'] = ['label' => __('Notes'), 'fieldsnames' => ['notes']]; + $this->forms['notes'] = ['label' => $this->__('Notes'), 'fieldsnames' => ['notes']]; // Articles $this->fields['articlesFile'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => 'Articles', 'grade' => 3, 'fileFilter' => $articlesFilter]; - $this->fields['articlesFormat'] = ['type' => 'combo', 'default' => 'fluidbook', 'editable' => true, 'label' => 'Format', 'grade' => 3, 'datas' => [__('Fluidbook') => 'fluidbook', 'Business Immo' => 'business-immo']]; - $this->fields['articlesFont'] = ['type' => 'combo', 'label' => __('Police des articles'), 'default' => 'OpenSans', 'datas' => self::$fonts, 'editable' => true, 'grade' => 3]; - $this->fields['articlesImages'] = ['type' => 'freefile', 'label' => __('Images des articles'), 'default' => '', 'hint' => __('Les noms des fichiers doivent être les même que ceux des balises du XML'), 'editable' => true, 'grade' => 3, 'dir' => 'articles', 'multiple' => true]; - $this->fields['articlesShare'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer le partage'), 'grade' => 3]; - $this->fields['articlesPrint'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer l\'impression'), 'grade' => 3]; - $this->fields['articlesStyle'] = ['type' => 'combo', 'default' => true, 'editable' => true, 'label' => __('Style'), 'grade' => 3, 'datas' => ['Défaut' => 'default', 'Atlantic' => 'atlantic', 'Harmonie Mutuelle' => 'harmonie-mutuelle', 'Business Immo' => 'business-immo']]; + $this->fields['articlesFormat'] = ['type' => 'combo', 'default' => 'fluidbook', 'editable' => true, 'label' => 'Format', 'grade' => 3, 'datas' => [$this->__('Fluidbook') => 'fluidbook', 'Business Immo' => 'business-immo']]; + $this->fields['articlesFont'] = ['type' => 'combo', 'label' => $this->__('Police des articles'), 'default' => 'OpenSans', 'datas' => self::$fonts, 'editable' => true, 'grade' => 3]; + $this->fields['articlesImages'] = ['type' => 'freefile', 'label' => $this->__('Images des articles'), 'default' => '', 'hint' => $this->__('Les noms des fichiers doivent être les même que ceux des balises du XML'), 'editable' => true, 'grade' => 3, 'dir' => 'articles', 'multiple' => true]; + $this->fields['articlesShare'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer le partage'), 'grade' => 3]; + $this->fields['articlesPrint'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer l\'impression'), 'grade' => 3]; + $this->fields['articlesStyle'] = ['type' => 'combo', 'default' => true, 'editable' => true, 'label' => $this->__('Style'), 'grade' => 3, 'datas' => ['Défaut' => 'default', 'Atlantic' => 'atlantic', 'Harmonie Mutuelle' => 'harmonie-mutuelle', 'Business Immo' => 'business-immo']]; - $this->forms['articles'] = ['label' => __('Articles'), 'fieldsnames' => ['articlesFile', 'articlesImages', '|', 'articlesShare', 'articlesPrint', '|', 'articlesStyle', 'articlesFont']]; + $this->forms['articles'] = ['label' => $this->__('Articles'), 'fieldsnames' => ['articlesFile', 'articlesImages', '|', 'articlesShare', 'articlesPrint', '|', 'articlesStyle', 'articlesFont']]; //. $this->fields['externalArchives'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Archives'), 'grade' => 3, 'fileFilter' => $imageFilter); - $this->fields['archivesLabel'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Label'), 'grade' => 5); - $this->forms['archives'] = array('label' => __('Archives'), + 'label' => $this->__('Archives'), 'grade' => 3, 'fileFilter' => $imageFilter); + $this->fields['archivesLabel'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Label'), 'grade' => 5); + $this->forms['archives'] = array('label' => $this->__('Archives'), 'fieldsnames' => array('externalArchives', 'archivesLabel')); // . - $this->fields['form'] = array('type' => 'combo', 'default' => '', 'editable' => true, 'grade' => 5, 'label' => __('Formulaire'), 'datas' => - array(__('Aucun') => '', + $this->fields['form'] = array('type' => 'combo', 'default' => '', 'editable' => true, 'grade' => 5, 'label' => $this->__('Formulaire'), 'datas' => + array($this->__('Aucun') => '', 'Bulle Groupe' => 'bulle', 'Bourbon / Suggestions' => 'bourbon', 'Avery' => 'avery', ), ); - $this->forms['form'] = array('label' => __('Formulaire'), + $this->forms['form'] = array('label' => $this->__('Formulaire'), 'fieldsnames' => array('form')); - $this->fields['cookieConsent'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Message cookie')); - $this->fields['cookieConsentMessage'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Texte du consentement')); - $this->fields['cookieConsentAutoclose'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => __('Masquer automatiquement après x secondes')); - $this->forms['privacy'] = array('label' => __('Respect de la vie privée'), + $this->fields['cookieConsent'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Message cookie')); + $this->fields['cookieConsentMessage'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Texte du consentement')); + $this->fields['cookieConsentAutoclose'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__('Masquer automatiquement après x secondes')); + $this->forms['privacy'] = array('label' => $this->__('Respect de la vie privée'), 'fieldsnames' => array('cookieConsent', 'cookieConsentMessage', 'cookieConsentAutoclose')); //. - $this->fields['basket'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Panier activé'), 'grade' => 5); - $this->fields['cartIcon'] = ['type' => 'combo', 'datas' => [__('Sac') => 'nav-basket', __('Caddie') => 'nav-cart-caddie', __('Wishlist') => 'nav-cart-wishlist'], 'default' => 'nav-basket', 'label' => __('Icône'), 'editable' => true, 'grade' => 5]; - $this->fields['basketManager'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __("Manager de panier"), - 'datas' => array(__('Classic') => 'com.fluidbook.player.basket.BasketManager', + $this->fields['basket'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Panier activé'), 'grade' => 5); + $this->fields['cartIcon'] = ['type' => 'combo', 'datas' => [$this->__('Sac') => 'nav-basket', $this->__('Caddie') => 'nav-cart-caddie', $this->__('Wishlist') => 'nav-cart-wishlist'], 'default' => 'nav-basket', 'label' => $this->__('Icône'), 'editable' => true, 'grade' => 5]; + $this->fields['basketManager'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => $this->__("Manager de panier"), + 'datas' => array($this->__('Classic') => 'com.fluidbook.player.basket.BasketManager', 'Grdf' => 'com.fluidbook.player.basket.custom.grdf.GrdfBasketManager', 'Grdf 2013' => 'com.fluidbook.player.basket.custom.grdf.grdf2013.GrdfBasketManager2013', 'Grdf 2015' => 'com.fluidbook.player.basket.custom.grdf.grdf2015.GrdfBasketManager2015', @@ -709,131 +709,131 @@ class wsBookParametres extends wsParametres 'Thiriet' => 'Thiriet', ), 'grade' => 5); - $this->fields['cartLinkAppearance'] = ['type' => 'combo', 'default' => 'link', 'editable' => true, 'label' => __('Apparence des liens panier'), 'grade' => 3, 'datas' => [__('Lien') => 'link', __('Boutons + et - avec overlay') => 'overlay']]; + $this->fields['cartLinkAppearance'] = ['type' => 'combo', 'default' => 'link', 'editable' => true, 'label' => $this->__('Apparence des liens panier'), 'grade' => 3, 'datas' => [$this->__('Lien') => 'link', $this->__('Boutons + et - avec overlay') => 'overlay']]; $this->fields['basketReferences'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Références produits'), 'grade' => 3, 'fileFilter' => $basketFilter, 'hint' => __('Fichier contenant les références produits'), 'dir' => 'commerce'); + 'label' => $this->__('Références produits'), 'grade' => 3, 'fileFilter' => $basketFilter, 'hint' => $this->__('Fichier contenant les références produits'), 'dir' => 'commerce'); $this->fields['basketImages'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Images des produits'), 'grade' => 3, + 'label' => $this->__('Images des produits'), 'grade' => 3, 'multiple' => true, 'dir' => 'commerce'); $this->fields['basketPDFBackground'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Fond du PDF (bon de commande)'), 'grade' => 5, 'fileFilter' => $epsFilter, 'hint' => __('Fond du bon de commande'), 'dir' => 'commerce'); + 'label' => $this->__('Fond du PDF (bon de commande)'), 'grade' => 5, 'fileFilter' => $epsFilter, 'hint' => $this->__('Fond du bon de commande'), 'dir' => 'commerce'); $this->fields['cartHeaderImage'] = ['type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Header panier'), 'grade' => 3, 'fileFilter' => $imageFilter, 'dir' => 'commerce']; + 'label' => $this->__('Header panier'), 'grade' => 3, 'fileFilter' => $imageFilter, 'dir' => 'commerce']; $this->fields['cartHeaderMobileImage'] = ['type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => __('Header panier (mobile)'), 'grade' => 3, 'fileFilter' => $imageFilter, 'dir' => 'commerce']; + 'label' => $this->__('Header panier (mobile)'), 'grade' => 3, 'fileFilter' => $imageFilter, 'dir' => 'commerce']; $this->fields['cartExtraSettings'] = ['type' => 'textarea', 'default' => '', 'editable' => true, - 'label' => __('Paramètres panier'), 'grade' => 3]; + 'label' => $this->__('Paramètres panier'), 'grade' => 3]; - $this->forms['basket'] = array('label' => __('Panier'), + $this->forms['basket'] = array('label' => $this->__('Panier'), 'fieldsnames' => array('basket', 'basketManager', '|', 'cartIcon', 'cartLinkAppearance', '|', 'basketReferences', 'basketImages', '|', 'cartHeaderImage', 'cartHeaderMobileImage', 'cartExtraSettings')); // . - $this->fields['offlineLink'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => __("URL du Fluidbook"), 'hint' => __('URL du fluidbook utilisée pour la version Offline (CD-ROM, clé USB, Exécutables)')); - $this->fields['offlineTitle'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Titre de l'application")); - $this->fields['offlineWindowsInstallPath'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Chemin d\'installation par défaut'), 'hint' => __('Par défaut') . ': %LOCALAPPDATA%/%title%']; - $this->fields['offlineWindowsProfilePath'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Répertoire de stockage du profile'), 'hint' => __('Par défaut') . ': %LOCALAPPDATA%/%title%']; - $this->fields['offlineEnableAdvancedPrinting'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer le menu d\'impression avancée')]; - $this->fields['debugConsole'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Activer la console de débuggage')]; - $this->forms['offline'] = array('label' => __('Version offline'), + $this->fields['offlineLink'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => $this->__("URL du Fluidbook"), 'hint' => $this->__('URL du fluidbook utilisée pour la version Offline (CD-ROM, clé USB, Exécutables)')); + $this->fields['offlineTitle'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre de l'application")); + $this->fields['offlineWindowsInstallPath'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Chemin d\'installation par défaut'), 'hint' => $this->__('Par défaut') . ': %LOCALAPPDATA%/%title%']; + $this->fields['offlineWindowsProfilePath'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Répertoire de stockage du profile'), 'hint' => $this->__('Par défaut') . ': %LOCALAPPDATA%/%title%']; + $this->fields['offlineEnableAdvancedPrinting'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer le menu d\'impression avancée')]; + $this->fields['debugConsole'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Activer la console de débuggage')]; + $this->forms['offline'] = array('label' => $this->__('Version offline'), 'fieldsnames' => array('offlineTitle', 'offlineLink', '|', 'offlineWindowsInstallPath', 'offlineWindowsProfilePath', '|', 'offlineEnableAdvancedPrinting', '|', 'debugConsole')); $this->fields['mobilefirstFluidbookId'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => 'Identifiant du fluidbook "Mobile first"', 'grade' => 5]; $this->fields['mobilefirstBreakpoint'] = ['type' => 'text', 'default' => '640', 'editable' => true, 'label' => 'Breakpoint du passage à la version "Mobile first" (en pixels)', 'grade' => 5]; - $this->forms['mobilefirst'] = ['label' => __('Mobile first'), + $this->forms['mobilefirst'] = ['label' => $this->__('Mobile first'), 'fieldsnames' => ['mobilefirstFluidbookId', 'mobilefirstBreakpoint']]; - $this->fields['phonegapId'] = array('type' => 'text', 'default' => 'com.fluidbook.phonegap.$id', 'editable' => true, 'label' => __("Identifiant de l'identifiant"), 'grade' => 5, 'hint' => __('De la forme') . ' com.fluidbook.phonegap.xxxxx'); - $this->fields['phonegapVersion'] = array('type' => 'text', 'default' => '1.0.0', 'editable' => true, 'label' => __("Version de l'application"), 'grade' => 5, 'hint' => __('De la forme') . ' 1.2.3'); - $this->fields['phonegapPlugins'] = array('type' => 'textarea', 'default' => 'ChildBrowser', 'editable' => true, 'label' => __('Plugins Phonegap'), 'grade' => 5); + $this->fields['phonegapId'] = array('type' => 'text', 'default' => 'com.fluidbook.phonegap.$id', 'editable' => true, 'label' => $this->__("Identifiant de l'identifiant"), 'grade' => 5, 'hint' => $this->__('De la forme') . ' com.fluidbook.phonegap.xxxxx'); + $this->fields['phonegapVersion'] = array('type' => 'text', 'default' => '1.0.0', 'editable' => true, 'label' => $this->__("Version de l'application"), 'grade' => 5, 'hint' => $this->__('De la forme') . ' 1.2.3'); + $this->fields['phonegapPlugins'] = array('type' => 'textarea', 'default' => 'ChildBrowser', 'editable' => true, 'label' => $this->__('Plugins Phonegap'), 'grade' => 5); $defaultScreenshots = "P,0\nL,2\nL,index"; - $this->fields['appScreenshots'] = array('type' => 'textarea', 'default' => $defaultScreenshots, 'editable' => true, 'label' => 'Générer les screenshots', 'grade' => 5, 'hint' => __('Une ligne par vue à générer de la forme X,Y (X : P(ortrait) ou L(andscape), Y : numéro de page ou vue (1, index))')); + $this->fields['appScreenshots'] = array('type' => 'textarea', 'default' => $defaultScreenshots, 'editable' => true, 'label' => 'Générer les screenshots', 'grade' => 5, 'hint' => $this->__('Une ligne par vue à générer de la forme X,Y (X : P(ortrait) ou L(andscape), Y : numéro de page ou vue (1, index))')); - $this->forms['phonegap'] = array('label' => __('Applications mobile'), + $this->forms['phonegap'] = array('label' => $this->__('Applications mobile'), 'fieldsnames' => array('phonegapId', 'phonegapVersion', 'phonegapPlugins', 'appScreenshots')); - $this->fields['secureURL'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => __('URL de sécurisation'), 'grade' => 5, 'hint' => __('URL intérrogé pour vérifier si le visiteur à les droits pour consulter la publication')); - $this->fields['secureURLRedirect'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => __('Redirection'), 'grade' => 5, 'hint' => __("Si l'authentification échoue, redirection vers cette adresse")); + $this->fields['secureURL'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => $this->__('URL de sécurisation'), 'grade' => 5, 'hint' => $this->__('URL intérrogé pour vérifier si le visiteur à les droits pour consulter la publication')); + $this->fields['secureURLRedirect'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => $this->__('Redirection'), 'grade' => 5, 'hint' => $this->__("Si l'authentification échoue, redirection vers cette adresse")); $this->fields['secureClientSidePassword'] = ['type' => 'freefile', 'label' => 'Sécurisation par mot de passe côté client', 'editable' => true, 'default' => '', 'grade' => 3, 'fileFilter' => $htmlFilter]; $this->fields['secureClientSidePasswordCredentials'] = ['type' => 'textarea', 'label' => 'Utilisateurs / mots de passe', 'editable' => true, 'default' => '', 'grade' => 3, 'hint' => 'Format user:password par ligne']; - $this->fields['preventRightClick'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Essayer d'empêcher le clic droit"), 'grade' => 1); - $this->fields['restrictPrint'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Restreindre l'impression"), 'grade' => 5); - $this->fields['restrictDownload'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Restreindre le téléchargement du pdf"), 'grade' => 5); - $this->fields['restrictSendBookmark'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Restreindre l'envoi de marques-pages"), 'grade' => 5); - $this->fields['restrictPrintDownload'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Paramètre de l\'url permettant de désactiver la restriction (non vide pour activer les restrictions)'), 'grade' => 5, 'hint' => __("Ne pas indiquer le ?")]; - $this->fields['recaptcha'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Activer reCATPCHA v3 (clé du site)')]; - $this->forms['secure'] = array('label' => __('Sécurisation'), + $this->fields['preventRightClick'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Essayer d'empêcher le clic droit"), 'grade' => 1); + $this->fields['restrictPrint'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Restreindre l'impression"), 'grade' => 5); + $this->fields['restrictDownload'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Restreindre le téléchargement du pdf"), 'grade' => 5); + $this->fields['restrictSendBookmark'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Restreindre l'envoi de marques-pages"), 'grade' => 5); + $this->fields['restrictPrintDownload'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Paramètre de l\'url permettant de désactiver la restriction (non vide pour activer les restrictions)'), 'grade' => 5, 'hint' => $this->__("Ne pas indiquer le ?")]; + $this->fields['recaptcha'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Activer reCATPCHA v3 (clé du site)')]; + $this->forms['secure'] = array('label' => $this->__('Sécurisation'), 'fieldsnames' => array('secureURL', 'secureURLRedirect', '|', 'secureClientSidePassword', 'secureClientSidePasswordCredentials', '|', 'preventRightClick', '|', 'restrictPrintDownload', 'restrictPrint', 'restrictDownload', 'restrictSendBookmark', '|', 'recaptcha')); - $this->fields['home'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Accueil de l'interface multibrochure"), 'grade' => 5); - $this->fields['multilang'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Langues'), 'hint' => __('Code langue') . ',' . __('Code pays') . ',' . __('URL')); - $this->fields['country'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Pays de la brochure')); - $this->fields['multilangDisplay'] = array('type' => 'combo', 'default' => 'lang', 'editable' => true, 'label' => __('Affichage'), - 'datas' => array(__('Langue') => 'lang', - __('Langue') . ' (' . __('Pays') . ')' => 'lang_country', - __('Pays') . ' (' . __('Langue') . ')' => 'country_lang')); - $this->forms['multibrochure'] = array('label' => __('Multibrochure'), + $this->fields['home'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Accueil de l'interface multibrochure"), 'grade' => 5); + $this->fields['multilang'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Langues'), 'hint' => $this->__('Code langue') . ',' . $this->__('Code pays') . ',' . $this->__('URL')); + $this->fields['country'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Pays de la brochure')); + $this->fields['multilangDisplay'] = array('type' => 'combo', 'default' => 'lang', 'editable' => true, 'label' => $this->__('Affichage'), + 'datas' => array($this->__('Langue') => 'lang', + $this->__('Langue') . ' (' . $this->__('Pays') . ')' => 'lang_country', + $this->__('Pays') . ' (' . $this->__('Langue') . ')' => 'country_lang')); + $this->forms['multibrochure'] = array('label' => $this->__('Multibrochure'), 'fieldsnames' => array('home', 'country', 'multilangDisplay', 'multilang')); - $this->fields['plv'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Activer le mode PLV'), 'grade' => 3); - $this->fields['plvTimer'] = array('type' => 'integer', 'min' => 1, 'max' => 60, 'default' => 5, 'editable' => true, 'label' => __('Temps'), 'grade' => 3); - $this->fields['plvMode'] = array('type' => 'combo', 'default' => 'first', 'editable' => true, 'label' => __('Arrivé à la dernière page'), 'grade' => 3, - 'datas' => array(__('Remonter vers la première page') => 'back', - __('Recommencer à la première page') => 'first')); - $this->forms['plv'] = array('label' => __('Mode PLV'), + $this->fields['plv'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Activer le mode PLV'), 'grade' => 3); + $this->fields['plvTimer'] = array('type' => 'integer', 'min' => 1, 'max' => 60, 'default' => 5, 'editable' => true, 'label' => $this->__('Temps'), 'grade' => 3); + $this->fields['plvMode'] = array('type' => 'combo', 'default' => 'first', 'editable' => true, 'label' => $this->__('Arrivé à la dernière page'), 'grade' => 3, + 'datas' => array($this->__('Remonter vers la première page') => 'back', + $this->__('Recommencer à la première page') => 'first')); + $this->forms['plv'] = array('label' => $this->__('Mode PLV'), 'fieldsnames' => array('plv', 'plvTimer', 'plvMode')); - $this->fields['themeEnableAfterSearch'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Afficher l'image supplémentaire à droite du moteur de recherche"), 'grade' => 3); - $this->forms['theme'] = array('label' => __('Options du thème'), + $this->fields['themeEnableAfterSearch'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Afficher l'image supplémentaire à droite du moteur de recherche"), 'grade' => 3); + $this->forms['theme'] = array('label' => $this->__('Options du thème'), 'fieldsnames' => array('themeEnableAfterSearch')); - $this->fields['forceCompileOnDownload'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Forcer la compilation lors du téléchargement'), 'grade' => 3); - $this->fields['embedAllLibraries'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Intégrer toutes les bibliothèques JS'), 'grade' => 3); - $this->fields['htmlExtension'] = array('type' => 'text', 'default' => 'html', 'editable' => true, 'label' => __('Extension des fichiers html'), 'grade' => 5, 'hint' => __('Ex : php, htm, html, phtml, asp, aspx'), 'grade' => 5); - $this->fields['actualHtmlExtension'] = array('type' => 'text', 'default' => 'html', 'editable' => false, 'label' => __('Extension des fichiers html réellement appliquée au fluidbook'), 'grade' => 5, 'hint' => __('Ex : php, htm, html, phtml, asp'), 'grade' => 5); - $this->fields['htmlPrepend'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Code à insérer en tête des fichiers'), 'grade' => 5); - $this->fields['baseUrl'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Base de l\'url'), 'grade' => 5,); + $this->fields['forceCompileOnDownload'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Forcer la compilation lors du téléchargement'), 'grade' => 3); + $this->fields['embedAllLibraries'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Intégrer toutes les bibliothèques JS'), 'grade' => 3); + $this->fields['htmlExtension'] = array('type' => 'text', 'default' => 'html', 'editable' => true, 'label' => $this->__('Extension des fichiers html'), 'grade' => 5, 'hint' => $this->__('Ex : php, htm, html, phtml, asp, aspx'), 'grade' => 5); + $this->fields['actualHtmlExtension'] = array('type' => 'text', 'default' => 'html', 'editable' => false, 'label' => $this->__('Extension des fichiers html réellement appliquée au fluidbook'), 'grade' => 5, 'hint' => $this->__('Ex : php, htm, html, phtml, asp'), 'grade' => 5); + $this->fields['htmlPrepend'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Code à insérer en tête des fichiers'), 'grade' => 5); + $this->fields['baseUrl'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Base de l\'url'), 'grade' => 5,); - $this->forms['package'] = array('label' => __('Option d\'export'), + $this->forms['package'] = array('label' => $this->__('Option d\'export'), 'fieldsnames' => array('htmlExtension', "actualHtmlExtension", 'htmlPrepend', 'baseUrl', 'forceCompileOnDownload', 'embedAllLibraries')); - $this->fields['disableDemo'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Désactiver le lien de démo'), 'grade' => 5); - $this->fields['redirectDemo'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Rediriger le lien de démo vers'), 'grade' => 5); - $this->forms['demo'] = array('label' => __('Lien de démo'), + $this->fields['disableDemo'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Désactiver le lien de démo'), 'grade' => 5); + $this->fields['redirectDemo'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Rediriger le lien de démo vers'), 'grade' => 5); + $this->forms['demo'] = array('label' => $this->__('Lien de démo'), 'fieldsnames' => array('disableDemo', 'redirectDemo')); - $this->fields['gamify_coins_pages'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Attribuer des coins lors de la visite des pages')); - $this->forms['gamify'] = ['label' => __('Gamification'), + $this->fields['gamify_coins_pages'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Attribuer des coins lors de la visite des pages')); + $this->forms['gamify'] = ['label' => $this->__('Gamification'), 'fieldsnames' => ['gamify_coins_pages']]; - $this->fields['scorm_enable'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Activer SCORM'), 'grade' => 5); - $this->fields['scorm_version'] = array('type' => 'combo', 'default' => '1.2', 'editable' => true, 'label' => __('Version du standard SCORM'), 'grade' => 5, + $this->fields['scorm_enable'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Activer SCORM'), 'grade' => 5); + $this->fields['scorm_version'] = array('type' => 'combo', 'default' => '1.2', 'editable' => true, 'label' => $this->__('Version du standard SCORM'), 'grade' => 5, 'datas' => array( - __('SCORM 1.2') => '1.2', - __('SCORM 2004 3rd edition') => '2004.3', - __('SCORM 2004 4th edition') => '2004', + $this->__('SCORM 1.2') => '1.2', + $this->__('SCORM 2004 3rd edition') => '2004.3', + $this->__('SCORM 2004 4th edition') => '2004', ) ); - $this->fields['scorm_id'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Identifiant SCORM'), 'grade' => 5); - $this->fields['scorm_org'] = array('type' => 'text', 'default' => 'ACME-ORG-1350650111249', 'editable' => true, 'label' => __('Organisation SCORM'), 'grade' => 5); - $this->fields['scorm_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Titre SCORM'), 'grade' => 5, 'hint' => __('Laisser vide pour utiliser le titre de la publication')); - $this->fields['scorm_variables'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Variables SCORM'), 'grade' => 5, 'hint' => __('Laisser vide pour utiliser le titre de la publication')); - $this->fields['scorm_score'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Activer le support du score'), 'grade' => 5); - $this->fields['scorm_score_min'] = array('type' => 'integer', 'min' => 0, 'max' => 100, 'default' => 50, 'editable' => true, 'label' => __('Score minimal pour marquer le contenu comme réussi'), 'grade' => 5); - $this->fields['scorm_quiz_as_questionnaire'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Traiter les quiz comme des questionnaires (toutes les réponses sont considérées comme correctes)'), 'grade' => 5); - $this->fields['scorm_quizdata'] = array('type' => 'freefile', 'editable' => true, 'default' => '', 'label' => __('Données de quiz')); + $this->fields['scorm_id'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Identifiant SCORM'), 'grade' => 5); + $this->fields['scorm_org'] = array('type' => 'text', 'default' => 'ACME-ORG-1350650111249', 'editable' => true, 'label' => $this->__('Organisation SCORM'), 'grade' => 5); + $this->fields['scorm_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Titre SCORM'), 'grade' => 5, 'hint' => $this->__('Laisser vide pour utiliser le titre de la publication')); + $this->fields['scorm_variables'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Variables SCORM'), 'grade' => 5, 'hint' => $this->__('Laisser vide pour utiliser le titre de la publication')); + $this->fields['scorm_score'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Activer le support du score'), 'grade' => 5); + $this->fields['scorm_score_min'] = array('type' => 'integer', 'min' => 0, 'max' => 100, 'default' => 50, 'editable' => true, 'label' => $this->__('Score minimal pour marquer le contenu comme réussi'), 'grade' => 5); + $this->fields['scorm_quiz_as_questionnaire'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Traiter les quiz comme des questionnaires (toutes les réponses sont considérées comme correctes)'), 'grade' => 5); + $this->fields['scorm_quizdata'] = array('type' => 'freefile', 'editable' => true, 'default' => '', 'label' => $this->__('Données de quiz')); $this->fields['scorm_complete_coins'] = ['type' => 'integer', 'default' => 0, 'label' => 'Marquer le cours comme "Complete" lorsque le visiteur accumule X coins', 'editable' => true]; $this->fields['scorm_complete_on_exit'] = ['type' => 'boolean', 'default' => false, 'label' => 'Marquer le cours comme "Complete" à la fermeture de la fenêtre', 'editable' => true]; $this->fields['scorm_complete_on_last_page'] = ['type' => 'boolean', 'default' => false, 'label' => 'Marquer le cours comme "Complete" lorsque le visiteur atteint la dernière page', 'editable' => true]; - $this->fields['scorm_force_attempts'] = ['type' => 'boolean', 'default' => false, 'label' => __('Forcer la création d\'un "attempt" à chaque ouverture'), 'editable' => true]; - $this->fields['scorm_pass_on_complete'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Marquer le cours comme Pass lorsqu'il est terminé") . ' (' . __('SCORM 2004 seulement') . ')']; - $this->fields['scorm_score100_on_complete'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Marquer le cours comme réussi à 100% lorsqu'il est terminé")]; - $this->fields['scorm_commit_immediately'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Envoyer les données immédiatement au LMS") . ' (' . __('Peut provoquer des ralentissement sur certains LMS') . ')']; + $this->fields['scorm_force_attempts'] = ['type' => 'boolean', 'default' => false, 'label' => $this->__('Forcer la création d\'un "attempt" à chaque ouverture'), 'editable' => true]; + $this->fields['scorm_pass_on_complete'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Marquer le cours comme Pass lorsqu'il est terminé") . ' (' . $this->__('SCORM 2004 seulement') . ')']; + $this->fields['scorm_score100_on_complete'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Marquer le cours comme réussi à 100% lorsqu'il est terminé")]; + $this->fields['scorm_commit_immediately'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Envoyer les données immédiatement au LMS") . ' (' . $this->__('Peut provoquer des ralentissement sur certains LMS') . ')']; - $this->forms['scorm'] = array('label' => __('SCORM'), + $this->forms['scorm'] = array('label' => $this->__('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_complete_coins', '|', 'scorm_pass_on_complete', 'scorm_score100_on_complete', '|', 'scorm_quizdata', 'scorm_score', 'scorm_score_min', 'scorm_quiz_as_questionnaire', '|', 'scorm_force_attempts', 'scorm_commit_immediately')); $versions = wsUrl::getFluidbookVersions(false); @@ -843,12 +843,12 @@ class wsBookParametres extends wsParametres if (in_array($k, $ignore)) { continue; } - $this->fields['download_' . $k] = ['type' => 'boolean', 'editable' => true, 'default' => false, 'label' => $version['title'], 'grade' => 3]; + $this->fields['download_' . $k] = ['type' => 'boolean', 'editable' => true, 'default' => false, 'label' => $this->__($version['title']), 'grade' => 3]; $fields[] = 'download_' . $k; } $this->fields['download_online']['default'] = true; - $this->forms['downloads'] = array('label' => __('Versions disponibles au téléchargement'), + $this->forms['downloads'] = array('label' => $this->__('Versions disponibles au téléchargement'), 'fieldsnames' => $fields); } } diff --git a/inc/ws/Metier/class.ws.book.parametres.php b/inc/ws/Metier/class.ws.book.parametres.php index bb76de7df..adab4fa14 100644 --- a/inc/ws/Metier/class.ws.book.parametres.php +++ b/inc/ws/Metier/class.ws.book.parametres.php @@ -1,854 +1,3472 @@ 'OpenSans', 'Montserrat' => 'Montserrat', 'Arial, Helvetica, sans-serif (police système)' => 'Arial', 'Police système sans-serif' => 'sans-serif']; - /** - * wsBookParametres::initFields() - * - * @return - */ protected function initFields() { parent::initFields(); - // if (is_null($this->parent)) { - // return; - // } - - // . - $swfFilter = ['name' => $this->__('Animation SWF') . ' (*.swf)', 'extensions' => '*.swf']; - $multimediaFilter = ['name' => $this->__('Archive ZIP') . ' (*.zip)', 'extensions' => '*.zip']; - $pdfFilter = ['name' => $this->__('Document PDF') . ' (*.pdf)', 'extensions' => '*.pdf']; - - $basketFilter = ['name' => $this->__('Liste de produits'), 'extensions' => ' (*.xml, *.xlsx)']; - $articlesFilter = ['name' => $this->__('Liste d\'articles') . ' (*.xml)', 'extensions' => '*.xml']; - $htmlFilter = ['name' => $this->__('Fichier HTML') . ' (*.html)', 'extensions' => '*.html']; - $imageFilter = ['name' => $this->__('Images') . ' (*.jpg, *.png)', 'extensions' => '*.jpg;*.jpeg;*.png']; - $epsFilter = ['name' => $this->__('Fichier vectoriel') . ' (*.ai, *.eps)', 'extensions' => '*.ai;*.eps']; - $svgFilter = ['name' => $this->__('Fichier SVG') . ' (*.svg)', 'extensions' => '*.svg']; - $tabsFilter = ['name' => $this->__('Fichier onglets') . ' (*.svg, *.zip)', 'extensions' => '*.svg;*.zip']; - $imageExtraFilter = ['name' => $this->__('Images') . ' (*.svg, *.jpg, *.png, *.gif)', 'extensions' => '*.svg;*.jpg;*.png;*.gif']; - $soundFilter = ['name' => $this->__('Fichier sonore') . ' (*.mp3, *.wav)', 'extensions' => '*.mp3;*.wav']; - $seoFilter = ['name' => $this->__('Fichier Excel') . ' (.xlsx)', 'extensions' => '*.xlsx']; - $cssFilter = ['name' => $this->__('Feuille de style') . ' (.css)', 'extensions' => '*.css']; - - - $target = [$this->__("Dans la fenêtre courrante") => '_self', - $this->__('Dans un nouvel onglet') => '_blank']; - - $branches = array('master : git (stable)' => 'stable', - 'master : local (dev)' => 'dev'); - $gitbranches = json_decode(file_get_contents(WS_CACHE . '/activebranches')); - foreach ($gitbranches as $b) { - if ($b == 'master') { - continue; - } - $branches[$b . ' : git'] = $b . '|git'; - $branches[$b . ' : local'] = $b . '|local'; - } - $extraVisibility = [ - $this->__('Navigation horizontale') => 'horizontal', - $this->__('Navigation burger') => 'burger', - $this->__('Navigations horizontale et burger') => 'both']; - - $extraType = [ - $this->__('Icône + Label') => 'icon', - $this->__('Image') => 'image']; - - $pagesNumbers = array($this->__('Virtuelle') => 'virtual', - $this->__('Physique') => 'physical'); - - $this->fields['mobileLVersion'] = array('type' => 'combo', 'default' => 'stable', 'editable' => true, - 'label' => $this->__('Version logicielle'), 'grade' => 1, - 'datas' => $branches - ); - $this->fields['mobileVersion'] = array('type' => 'combo', 'default' => 'html5-desktop', 'editable' => true, 'label' => $this->__('Version mobile'), 'grade' => 3, - 'datas' => array($this->__('Rediriger vers le PDF') => 'pdf', - $this->__('Version HTML5 recommandée (vecteurs sur desktop)') => 'html5-desktop', - $this->__('Version HTML5 vecteurs') => 'html5', - $this->__("Version HTML5 en images") => 'html5-images') - ); - - // Deprecated - $this->fields['version'] = array('type' => 'combo', 'default' => '2', 'editable' => true, 'label' => $this->__('Version'), 'datas' => array('1' => '1', '2' => '2'), 'grade' => 3); - $this->fields['email_editable'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__("Permettre au lecteur de modifier le corps de l'email")); - $this->fields['askAcknowledge'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__("Demander au destinataire un accusé de réception"), 'grade' => 3); - $this->fields['sendasfluidbook'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__("Envoyer le mail comme Fluidbook"), 'grade' => 3, 'hint' => $this->__("L'expéditeur apparaîtra en reply-to")); - $this->fields['email_mailto'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__("Envoyer le mail via le client mail du visiteur (mailto:)"), 'grade' => 3); - $this->fields['googleplus'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Google +')); - $this->fields['viadeo'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Viadeo')); - $this->fields['customSharer'] = array('type' => 'text', 'default' => '', 'editable' => false, 'label' => $this->__("Classe personnalisée de partage"), 'grade' => 5); - $this->fields['friendWidth'] = array('type' => 'integer', 'default' => 319, 'editable' => false, 'label' => $this->__('Largeur du menu'), 'grade' => 5); - $this->fields['friendHeight'] = array('type' => 'integer', 'default' => 500, 'editable' => false, 'label' => $this->__('Largeur du menu'), 'grade' => 5); - $this->fields['visualisationMode'] = array('type' => 'combo', 'default' => '3', 'editable' => false, 'label' => $this->__("Mode de visualisation 3D"), - 'datas' => array($this->__('Mode 3D') => '0', - $this->__('Mode 2D (caméra fixe et pages à plat)') => '1', - $this->__("Laisser le choix à l'utilisateur (mode 3D par défaut)") => '2', - $this->__("Laisser le choix à l'utilisateur (mode 2D par défaut)") => '3')); - $this->fields['antialiasReading'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__("Amélioration de la lisibilité en mode 2D")); - $this->fields['pagesBaseAngle'] = array('type' => 'integer', 'default' => 2, 'editable' => false, 'label' => $this->__('Angle de base entre les pages'), 'grade' => 3, - 'hint' => $this->__("0 : Publication à plat") . "\n" . $this->__('2 : Valeur par défaut')); - $this->fields['preload'] = array('type' => 'integer', 'default' => 16, 'editable' => false, 'label' => $this->__('Nombre de pages à précharger'), 'grade' => 3); - $this->fields['tooltipTimer'] = array('type' => 'float', 'default' => 3, "editable" => true, 'label' => $this->__("Temps maximum d'apparition des infos-bulles (en secondes)")); - $this->fields['indexAutoScroll'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Activer le scroll automatique')); - $this->fields['printCoverWithMarks'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__("Imprimer les couvertures avec les pages marquées"), 'grade' => 3); - $this->fields['ambientSound'] = array('type' => 'freefile', 'default' => '', 'editable' => false, - 'label' => $this->__('Ambiance sonore'), 'grade' => 3, 'fileFilter' => $soundFilter); - $this->fields['ambientSoundVolume'] = array('type' => 'integer', 'default' => 50, 'editable' => false, - 'label' => $this->__("Volume de l'ambiance sonore"), - 'min' => 0, 'max' => 100); - $this->fields['offlineExport'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Téléchargement des versions offline'), "hint" => $this->__('Valable si le téléchargement avancé est activé'), 'grade' => 3); - $this->fields['zoomMode'] = array('type' => 'combo', 'default' => '0', 'editable' => false, 'label' => $this->__("Mode de zoom"), 'grade' => 3, - 'datas' => array($this->__('Normal') => '0', - $this->__('Une page') => '1', - $this->__('Zoom désactivé') => '2')); - $this->fields['displayChaptersLine'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__("Affiche une ligne entre le label et le numéro de page"), 'grade' => 5); - $this->fields['fullExternalChapters'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__("Sommaire totalement personnalisé"), 'grade' => 3, 'hint' => $this->__('Supprime la flèche de fermeture, titre prédéfini et couleur de fond')); - $this->fields['externalChapters'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Sommaire personnalisé'), 'grade' => 3, 'fileFilter' => $swfFilter, 'hint' => $this->__('Laisser vide pour utiliser le sommaire classique')); - $this->fields['chaptersPosition'] = array('type' => 'combo', 'default' => 'center', 'editable' => false, 'label' => $this->__("Position du sommaire"), - 'datas' => array($this->__('Centré') => 'center', - $this->__("Aligné sur l'icône") => 'chaptersIcon')); - $this->fields['permanentLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Liens visibles en permanence'), 'grade' => 3); - $this->fields['linkTooltipManager'] = array('type' => 'text', 'default' => '', 'editable' => false, 'label' => $this->__("Gestionnaire des info-bulles"), 'grade' => 5); - $this->fields['linkMultimediaPerformanceMode'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Mode perfomance pour les liens multimédia'), 'grade' => 5); - $this->fields['linkMultimediaQuality'] = array('type' => 'float', 'default' => 1.0, 'editable' => false, 'label' => $this->__('Qualité de rendu des animations'), 'grade' => 5); - $this->fields['linkCornerSize'] = array('type' => 'integer', 'default' => 10, 'editable' => false, 'label' => $this->__('Taille des liens de coins de page'), 'hint' => $this->__("Pourcentage de la largeur de la page")); - $this->fields['videoReset'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Réinitialiser les vidéos après la lecture'), 'grade' => 3); - $this->fields['videoBigPlay'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__('Afficher le gros bouton Play'), 'grade' => 3); - $this->fields['alwaysHTML5'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__('Toujours utiliser la version HTML5'), 'grade' => 1); - $this->fields['html5priority'] = array('type' => 'combo', 'default' => 'true', 'editable' => false, 'label' => $this->__("Rediriger vers la version HTML5"), 'grade' => 1, - 'datas' => array($this->__('Si l\'utilisateur a un appareil tactile') => 'false', - $this->__('Si flash n\'est pas installé') => 'notinstalled', - $this->__("Si flash n'est pas pas installé ou bloqué") => 'true')); - $this->fields['flashBlockedWait'] = array('type' => 'float', 'default' => 1.5, 'editable' => false, 'label' => $this->__("Temps d'attente avant de considérer flash comme bloqué")); - $this->fields['widget'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Générer le widget'), 'grade' => 3); - $this->fields['widgetCover'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__('Afficher la couverture') . ')', 'grade' => 3); - $this->fields['widgetSize'] = array('type' => 'integer', 'default' => 200, 'editable' => false, 'label' => $this->__('Optimiser pour une hauteur de (en pixels)'), 'grade' => 3); - $this->fields['widgetQuality'] = array('type' => 'integer', 'default' => 85, 'min' => 0, 'max' => 100, 'editable' => false, 'label' => $this->__('Qualité JPEG'), 'grade' => 3); - $this->fields['widgetStart'] = array('type' => 'integer', 'default' => 1, 'editable' => false, 'label' => $this->__('Page de début'), 'grade' => 3); - $this->fields['widgetEnd'] = array('type' => 'integer', 'default' => 8, 'editable' => false, 'label' => $this->__('Page de fin'), 'grade' => 3); -// $this->forms['widget'] = array('label' => $this->__('Widget') . ' (' . $this->__('Mini Fluidbook') . ')', -// 'fieldsnames' => array('widget', 'widgetCover', 'widgetSize', 'widgetQuality', 'widgetStart', 'widgetEnd')); - $this->fields['extras'] = array('type' => 'textarea', 'default' => '', 'editable' => false, 'label' => $this->__('Extras'), 'grade' => 3); - $this->fields['v1SWF'] = array('type' => 'freefile', 'default' => '', 'editable' => false, - 'label' => $this->__('Index.swf spécifique'), 'grade' => 5, 'fileFilter' => $swfFilter); -// $this->forms['v1'] = array('label' => $this->__('Options spécifiques au fluidbook version 1'), -// 'fieldsnames' => array('extras', 'v1SWF')); - $this->fields['ongletsXML'] = array('type' => 'textarea', 'default' => '', 'editable' => false, 'label' => $this->__('XML de configuration des onglets'), 'grade' => 5); - $this->fields['ongletsSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => false, - 'label' => $this->__('SWF pour onglets personnalisés'), 'grade' => 3, 'fileFilter' => $swfFilter); - $this->fields['tabs2DSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => false, - 'label' => $this->__('SWF pour onglets 2D'), 'grade' => 3, 'fileFilter' => $swfFilter); - $this->fields['flatTabsAbsolute'] = array('type' => 'boolean', 'default' => false, "editable" => true, - 'label' => $this->__("Positionnement relatif à l'interface"), 'grade' => 5); -// $this->forms['flashtabs'] = array('label' => $this->__('Onglets Flash'), -// 'fieldsnames' => array('ongletsSWF', 'ongletsXML', '|', 'tabs2DSWF', 'flatTabsAbsolute')); - $this->fields['viewMode'] = array('type' => 'combo', 'default' => '0', 'editable' => false, 'label' => $this->__("Mode de visualisation (beta)"), - 'datas' => array($this->__('Classique') => '0', - $this->__("Diaporama") => '1', - ), - 'grade' => 5); - $this->fields['mobileServerConfig'] = array('type' => 'boolean', 'default' => false, 'editable' => false, 'label' => $this->__('Inclure les fichiers de configuration serveur'), 'grade' => 3); - $this->fields['mobileIconVector'] = array('type' => 'boolean', 'default' => true, 'editable' => false, 'label' => $this->__('Utiliser les icônes vectorielles')); -// $this->forms['mobile'] = array('label' => $this->__('Version HTML5'), -// 'fieldsnames' => array('alwaysHTML5', 'html5priority', 'flashBlockedWait', 'mobileIconVector', 'mobileServerConfig')); - $this->fields['externalArchivesBack'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Image de fond'), 'grade' => 3, 'fileFilter' => $imageFilter); - $this->fields['archivesLink'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Lien'), 'grade' => 5); - $this->fields['printMode'] = array('type' => 'combo', 'default' => 'vector', 'editable' => true, 'label' => $this->__("Mode d'impression"), - 'datas' => array($this->__('Bitmap') => 'bitmap', - $this->__('Vectoriel') => 'vector', - $this->__('PDF') => 'pdf')); - /** **/ - - - $this->fields['title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre de la publication"), 'embed' => false); - $this->fields['url_link'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => $this->__("URL du lien de retour au site")); - $this->fields['signature'] = array('type' => 'combo', 'default' => '1', 'editable' => true, 'label' => $this->__('Signature'), 'grade' => 3, 'datas' => wsDroits::getSignatures()); - $this->forms['important'] = array('label' => $this->__('Description de la publication'), - 'fieldsnames' => array('mobileLVersion', 'mobileVersion', 'title', 'url_link', 'signature')); - // . - // . - - $this->fields['assetsDir'] = ['type' => 'text', 'label' => $this->__('Utiliser le dossier d\'assets du fluidbook'), 'default' => '', 'editable' => true, 'grade' => 5]; - $this->fields['linksAssets'] = ['type' => 'freefile', 'label' => $this->__('Charger ou remplacer des fichiers de liens'), 'default' => '', 'editable' => true, 'grade' => 3, 'multiple' => true]; - - $this->forms['assets'] = [ - 'label' => $this->__('Assets'), - 'fieldsnames' => ['assetsDir', 'linksAssets'] - ]; - /** * */ - $this->fields['stats'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer les statistiques Fluidbook'), 'grade' => 3); - $this->fields['googleAnalytics'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Code Google Analytics'), 'size' => 10); - $this->fields['googleTagManager'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Code Google Tag Manager'), 'size' => 10); - $this->forms['basicStats'] = [ - 'label' => $this->__('Statistiques'), - 'fieldsnames' => ['stats', 'googleAnalytics', 'googleTagManager'], - ]; - - $this->fields['email_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre de l'email") . ' "' . $this->__('Envoyer à un ami') . '"', 'hint' => $this->__('Laisser vide pour utiliser la valeur par défaut')); - $this->fields['email_body'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__("Corps de l'email") . ' "' . $this->__('Envoyer à un ami') . '"', 'hint' => $this->__('Laisser vide pour utiliser la valeur par défaut')); - - $this->fields['facebook_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre du contenu partagé"), 'hint' => $this->__('Titre proposé sur les fonction de partage (par défaut, titre de la publication)')); - $this->fields['facebook_description'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__("Description du contenu partagé"), 'grade' => 1, 'hint' => $this->__('Description proposée sur les fonctions de partage (par défaut, vide)')); - $this->fields['twitter_description'] = array('type' => 'textarea', 'default' => '%title% : %short%', 'editable' => true, 'label' => $this->__("Contenu Partage court"), 'hint' => $this->__('Contenu du partagé sur les partages courts')); - $this->fields['facebook_image'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Miniature affichée'), 'fileFilter' => $imageFilter); - - $this->fields['share'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer les fonctions de partage')); - $this->fields['friend'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('E-mail')); - $this->fields['facebook'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Facebook')); - $this->fields['twitter'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Twitter')); - $this->fields['whatsapp'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('WhatsApp')); - $this->fields['linkedin'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('LinkedIn')); - $this->fields['pinterest'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Pinterest')); - - $this->forms['share'] = array('label' => $this->__('Fonctions de partage'), - 'fieldsnames' => array('share', '|', 'email_title', 'email_body', 'email_editable', 'askAcknowledge', 'sendasfluidbook', 'email_mailto', '|', - 'facebook_title', 'facebook_description', 'facebook_image', 'twitter_description', '|', - 'friend', 'facebook', 'twitter', 'whatsapp', 'linkedin', 'pinterest', '|', 'googleplus', 'viadeo', '|', 'customSharer', '|', 'friendWidth', 'friendHeight')); -//. - $this->fields['seoVersion'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Générer une version pour les moteurs de recherche')); - $this->fields['seoRobots'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Autoriser le parcours par les moteurs de recherche')); - $this->fields['seoDescription'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Meta tag Description')); - $this->fields['seoKeywords'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Meta tag Keywords')); - $this->fields['seoAdvanced'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Données SEO par page'), 'grade' => 5, 'fileFilter' => $seoFilter]; - $this->fields['seoBaseURL'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('URL de base'), 'grade' => 5); - - $this->forms['seo'] = array('label' => $this->__('Optimisation pour les moteurs de recherche'), - 'fieldsnames' => array('seoVersion', 'seoRobots', 'seoDescription', "seoKeywords", '|', 'seoBaseURL', 'seoAdvanced')); - - // . - $this->fields['pages'] = array('type' => 'integer', 'default' => 0, 'editable' => false, 'label' => $this->__('Nombre de pages')); - $this->fields['width'] = array('type' => 'float', 'default' => 0, 'editable' => false, 'label' => $this->__('Largeur')); - $this->fields['height'] = array('type' => 'float', 'default' => 0, 'editable' => false, 'label' => $this->__('Hauteur')); - // . - - $this->fields['mobileTransitions'] = array('type' => 'combo', 'default' => 'flip3d', 'editable' => true, 'label' => $this->__('Transitions entre les pages'), 'grade' => 3, - 'datas' => array($this->__('Aucune transition') => 'none', - $this->__('Opacité') => 'fade', - $this->__('Glisser') => 'slide', - $this->__('Tourner (rigide)') => 'flip', - $this->__('Tourner (souple)') => 'flip3d') - ); - $this->fields['mobileTransitionDuration'] = array('type' => 'float', 'default' => 0.5, 'editable' => true, 'label' => $this->__('Durée de la transition')); - $this->fields['mobileTransitionDurationSlide'] = array('type' => 'float', 'default' => 0, 'editable' => true, 'label' => $this->__('Durée de la transition (fade, slide)'), 'hint' => $this->__('Laisser à zéro pour utiliser la valeur générale')); - $this->fields['mobileNavigationType'] = array('type' => 'combo', 'default' => 'book', 'editable' => true, 'label' => $this->__('Mode de navigation'), 'grade' => 5, - 'datas' => array($this->__('Normal (automatique)') => 'book', - $this->__('Normal (double page)') => 'landscape', - $this->__('Normal (une page)') => 'portrait', - $this->__('Mobile first') => 'mobilefirst', - $this->__('Magazine tablette') => 'tab') - ); - $this->fields['forceWhiteBackground'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Ajouter un fond blanc aux pages')]; - $this->fields['rasterizePages'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Ecraser les pages'), 'hint' => '1-3,5 = 1,2,3,5', 'grade' => 1); - - $this->fields['vectorPages'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Conserver les pages en vecteur'), 'hint' => '1-3,5 = 1,2,3,5', 'grade' => 1); - $this->fields['extraXSpace'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__('Marge supplémentaire horizontale'), 'grade' => 3); - $this->fields['mobileExtraXSpace'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__('Marge supplémentaire horizontale'), 'grade' => 3); - $this->fields['extraYSpace'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__('Marge supplémentaire verticale'), 'grade' => 3); - $this->fields['centerBook'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Centrer la publication sur les couvertures'), 'grade' => 2); - $this->fields['correctCenter'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Corriger les lignes blanches entre les pages'), 'grade' => 2); - $this->fields['maxResolution'] = array('type' => 'combo', 'default' => 300, 'editable' => true, 'datas' => array('300dpi' => 300, '150dpi' => 150, '125dpi' => 125, '100dpi' => 100), 'grade' => 2, 'label' => $this->__('Résolution maximale des pages')); - $this->fields['JPEGQuality'] = array('type' => 'integer', 'default' => 85, 'editable' => true, 'grade' => 2, 'label' => $this->__('Qualité JPEG')); - $this->fields['imageFormat'] = array('type' => 'combo', 'default' => 'jpg', 'editable' => true, 'datas' => array(/*$this->__('Le plus léger') => 'best', */ - 'JPEG' => 'jpg', 'PNG' => 'png'), 'grade' => 2, 'label' => $this->__('Format des images')); - $this->fields['svgToCanvas'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer le rendu svgtocanvas')]; - $this->fields['svgToCanvasUpscale'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => $this->__('Upscale de la fonction svgtocanvas')]; - $this->fields['svgTextMethod'] = ['type' => 'combo', 'default' => 'pdftocairo', 'editable' => true, 'label' => $this->__('Méthode d\'extraction des textes en SVG'), 'datas' => [$this->__('Cairo') => 'pdf', $this->__('Mu') => 'mu']]; - $this->fields['textsThickness'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => $this->__('Epaisseur des textes')]; - $this->fields['textsThicknessPages'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Appliquer l\'épaisseur des texte sur les pages')]; - $this->fields['dynamicBackgroundColor'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => 'Couleur de fond dynamique', 'grade' => 3]; - - - $this->forms['3d_mode'] = array('label' => $this->__('Options de visualisation'), - 'fieldsnames' => array('mobileNavigationType', '|', 'mobileTransitions', 'mobileTransitionDuration', 'mobileTransitionDurationSlide', '|', 'forceWhiteBackground', 'rasterizePages', 'vectorPages', 'visualisationMode', 'antialiasReading', 'correctCenter', 'pagesBaseAngle', 'centerBook', '|', 'extraXSpace', 'mobileExtraXSpace', 'extraYSpace', '|', 'viewMode', '|', 'dynamicBackgroundColor', '|', 'svgToCanvas', 'svgToCanvasUpscale', 'svgTextMethod', 'textsThickness', 'textsThicknessPages', '|', 'imageFormat', 'maxResolution', 'JPEGQuality')); - - $this->fields['rasterizeOnSafari'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Ecraser les pages pour Safari (Mac OS)'), 'grade' => 1); - $this->fields['performance3DMode'] = array('type' => 'combo', 'datas' => [$this->__('Tester la machine') => 'auto', - $this->__('Haute') => 'highPerf', - $this->__('Moyenne') => 'lowPerf', - $this->__('Basse') => 'veryLowPerf'], 'default' => 'auto', 'editable' => true, 'label' => $this->__('Performance de la 3D'), 'grade' => 1); - $this->forms['performances'] = ['label' => $this->__('Performances'), - 'fieldsnames' => ['rasterizeOnSafari', 'performance3DMode']]; - - $this->fields['maxPages'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__("Nombre de pages maximal affiché à l'ouverture du fluidbook (pas de limite = 0)"), 'grade' => 3); - - $this->fields['mobilePlugins'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Plugin'), 'grade' => 5); - $this->forms['general'] = array('label' => $this->__('Fonctionnalités générales'), - 'fieldsnames' => array('tooltipTimer', 'mobilePlugins', 'preload', 'maxPages', 'pages', 'width', 'height')); - //. - // - $this->fields['navOrder'] = array('type' => 'textarea', 'default' => 'index, chapters, search, print, friend, bookmark, pdf, notes, archives, basket, fullscreen, sound, 3d, extra, extra1, extra2, extra3, extra4, extra5, help, lang', 'editable' => true, 'label' => $this->__('Ordre des icônes dans la nav'), 'grade' => 3); - $this->fields['navOrderH'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Ordre des icônes dans la nav') . ' (' . $this->__('Si différente') . ')', 'grade' => 3); - $this->fields['menuBreakpoint'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Breakpoint burger menu'), 'hint' => 'Par défaut 1023px', 'grade' => 3); - $this->fields['mobileNavScale'] = array('type' => 'integer', 'default' => 100, 'editable' => true, 'label' => $this->__('Taille du menu (en %)'), 'grade' => 3); - $this->forms['menu'] = array('label' => $this->__('Menu'), 'fieldsnames' => ['navOrder', 'navOrderH', '|', 'mobileNavScale', 'menuBreakpoint', '|', 'afterSearchDisplayForHTML', '|']); - - $this->fields['afterSearchDisplayForHTML'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Afficher l\'image après le moteur de recherche sur la version HTML5'), 'grade' => 1); - $extraNum = 5; - for ($i = 0; $i <= $extraNum; $i++) { - if ($i > 0) { - $j = $i; - $this->fields['navExtraIcon' . $j] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Icône supplémentaire') . ' ' . $j, 'fileFilter' => $imageExtraFilter); - $this->fields['navExtraType' . $j] = array('type' => 'combo', 'datas' => $extraType, 'default' => 'icon', 'editable' => true, 'label' => $this->__('Type')); - $this->fields['navExtraLink' . $j] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("URL") . ' ' . $j); - $this->fields['navExtraVisibility' . $j] = array('type' => 'combo', 'datas' => $extraVisibility, 'default' => 'both', 'editable' => true, 'label' => $this->__("Visible") . ' ' . $j); - $this->forms['menu']['fieldsnames'] = array_merge($this->forms['menu']['fieldsnames'], ['navExtraIcon' . $j, 'navExtraType' . $j, 'navExtraLink' . $j, 'navExtraVisibility' . $j, '|']); - } else { - $j = ''; - $this->fields['navExtraImage' . $j] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Image pour navigation'), 'fileFilter' => $imageExtraFilter); - $this->fields['navExtraImageMobile' . $j] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Image pour mobile'), 'fileFilter' => $imageExtraFilter); - $this->fields['navExtraLink' . $j] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("URL")); - $this->fields['navExtraTooltip' . $j] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Infobulle ou label")); - $this->forms['menu']['fieldsnames'] = array_merge($this->forms['menu']['fieldsnames'], ['navExtraImage' . $j, 'navExtraImageMobile' . $j, 'navExtraLink' . $j, 'navExtraTooltip' . $j, '|']); - } - } - $this->fields['mobileBottomNav'] = ['type' => 'text', 'default' => '', 'editable' => 'true', 'label' => $this->__('Barre de boutons en bas'), 'hint' => $this->__('Identifiants des boutons séparés par des virgules')]; - $this->forms['menu']['fieldsnames'][] = 'mobileBottomNav'; - - $this->fields['landingPage'] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Landing Page content'), 'grade' => 3); - $this->forms['landing'] = array('label' => $this->__('Custom Landing Page'), 'fieldsnames' => array('landingPage')); - - $this->fields['fullscreen'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer le mode plein-écran')); - $this->fields['fullscreenAuto'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Lancer la publication en mode plein écran (lorsque possible)')); - $this->forms['fs'] = array('label' => $this->__('Plein écran'), - 'fieldsnames' => array('fullscreen', 'fullscreenAuto')); - - $this->fields['bookmark'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer les marques-pages')); - $this->fields['bookmarkView'] = array('type' => 'combo', 'datas' => [$this->__('Réduit') => 'small', $this->__('Complet') => 'large'], 'default' => 'small', 'editable' => true, 'label' => $this->__('Menu des marques-pages')); - $this->fields['bookmarkEmpty'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Bouton pour effacer les marques-pages")); - $this->fields['bookmarkFunctionsMainMenu'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Fonctions vers menus généraux'), 'hint' => $this->__('Les fonctions des marques pages (Télécharger, Imprimer, Envoyer) dirigent vers les menus généraux')); - $this->fields['bookmarkDisablePages'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Désactiver les marques-pages sur ces pages'), 'hint' => '1-3,5 = 1,2,3,5', 'grade' => 1]; - $this->fields['bookmarkSendEnable'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Activer l'envoi des marques-pages par e-mail")); - $this->fields['bookmarkPrint'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Activer l'impression des marques-pages")); - $this->fields['bookmark_email_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre de l'email") . ' "' . $this->__('Envoyer à un ami') . '"', 'hint' => $this->__('Laisser vide pour utiliser la valeur par défaut')); - $this->fields['bookmark_email_body'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__("Corps de l'email") . ' "' . $this->__('Envoyer à un ami') . '"', 'hint' => $this->__('Laisser vide pour utiliser la valeur par défaut')); - $this->fields['bookmarkCornerSize'] = array('type' => 'integer', 'default' => 8, 'editable' => true, 'label' => $this->__("Taille des marques-pages"), 'hint' => $this->__('Taille relative à la largeur de la page')); - $this->fields['bookmarkOffset'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__("Décaler de x pixels vers l'intérieur")); - $this->fields['bookmarkBlinkOnPageChange'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Faire clignoter le marque page à l\'apparition de la page')); - $this->fields['bookmarkPermanentIcon'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Afficher l\'icône en permanance')]; - $this->fields['bookmarkUsePDF'] = array('type' => 'combo', 'default' => 'pages', 'editable' => true, 'label' => $this->__('PDF à utiliser pour l\'envoi ou le téléchargement de pages marquées'), - 'datas' => [$this->__('PDF des pages') => 'pages', - $this->__('PDF de remplacement') => 'download', - $this->__('PDF des miniatures') => 'thumbnails']); - $this->forms['bookmark'] = array('label' => $this->__('Marques-pages'), - 'fieldsnames' => array('bookmark', 'bookmarkView', 'bookmarkFunctionsMainMenu', 'bookmarkEmpty', '|', 'bookmarkSendEnable', 'bookmark_email_title', 'bookmark_email_body', '|', 'bookmarkPrint', '|', 'bookmarkCornerSize', 'bookmarkOffset', 'bookmarkPermanentIcon', 'bookmarkBlinkOnPageChange', '|', 'bookmarkDisablePages', 'bookmarkUsePDF')); - - $this->fields['help'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Activer l'aide")); - $this->fields['helpBookmarks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Améliorer l'aide des marques-pages")); - $this->fields['helpStartup'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Afficher l'aide au démarrage")); - $this->fields['helpStartupTime'] = array('type' => 'integer', 'default' => 15, 'editable' => true, 'label' => $this->__("Temps d'affichage en secondes")); - $this->fields['helpArrowTooltip'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Bulle affichée au niveau de la flèche de droite'), 'grade' => 5); - $this->fields['landscapeWarning'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Avertissement affiché sur mobile au chargement de la publication'), 'grade' => 5, 'embed' => false]; - $this->forms['help'] = array('label' => $this->__('Aide'), - 'fieldsnames' => array('help', '|', 'helpStartup', 'helpStartupTime', '|', 'helpBookmarks', '|', 'helpArrowTooltip', '|', 'landscapeWarning')); - // . - // - $this->fields['pdfThumbnails'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('PDF utilisé pour générer les miniatures'), 'grade' => 1, 'fileFilter' => $pdfFilter); - $this->fields['indexMessage'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__("Message en haut"), 'grade' => 1, 'hint' => $this->__('Message en haut de la vue index')); - - $this->forms['index'] = array('label' => $this->__('Vue d\'index (vignettes)'), 'fieldsnames' => array('indexAutoScroll', 'pdfThumbnails', 'indexMessage')); - - // . - // - $this->fields['print'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Activer l'impression")); - $this->fields['printFullBrochure'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Autoriser l'impression de la brochure complète")); - $this->fields['printPageRange'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Activer l'option pour imprimer une plage de pages")); - - $this->forms['print'] = array('label' => $this->__('Impression'), - 'fieldsnames' => array('print', 'printFullBrochure', 'printPageRange')); - - - $this->fields['search'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer le moteur de recherche')); - $this->fields['searchFullBurger'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Afficher le burger menu complet à l\'ouverture de la recheche')); - $this->fields['highlightResults'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Surligner les résultats')); - $this->fields['highlightAllOccurences'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Surligner toutes les occurences'), 'hint' => $this->__('Même sur les pages non considérées comme un résultat')); - $this->fields['ignoreSearch'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Mots à ignorer'), - 'hint' => $this->__('Liste des mots à ignorer séparés par des virgules'), 'grade' => 5); - $this->fields['ignoreSearchSeparators'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Caractères à ne pas considérer comme un séparateur de mot')); - $this->fields['ignoreWordLimit'] = ['type' => 'integer', 'default' => 3, 'editable' => true, 'label' => $this->__('Ignorer les mots de moins de X caractères')]; - $this->fields['textExtraction'] = array('type' => 'combo', 'default' => 'pdfbox', 'editable' => true, 'label' => $this->__("Méthode d'extraction des textes"), - 'datas' => array($this->__('PDFBox') => 'pdfbox', - $this->__('Poppler') => 'poppler', - $this->__('Fluidbook (expérimentation basée sur PDFBox)') => 'fluidbook')); - $this->fields['searchShowNoResultsPages'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Afficher les pages sans résultats")); - $this->fields['searchPageSelectionAlgorithm'] = array('type' => 'combo', 'editable' => true, 'default' => 'AND', - 'datas' => [$this->__('les double-pages qui contiennent tous les mots recherchés (ET logique)') => 'AND', $this->__('les double-page qui contiennent un des mots recherché (OU logique)') => 'OR'], 'label' => $this->__('Algorithme de sélection des résultats')); - $this->fields['searchWordSelectionAlgorithm'] = array('type' => 'combo', 'editable' => true, 'default' => 'begins', - 'datas' => [$this->__('mot commençant par la requête') => 'begins', $this->__('mot correspondant exactement à la requête') => 'exact', $this->__('mot contenant la requête') => 'contains', $this->__('expression exacte') => 'expression'], - 'label' => $this->__('Algorithme de sélection des occurences')); - - $this->forms['search'] = array('label' => $this->__('Moteur de recherche'), - 'fieldsnames' => array('search', '|', 'searchFullBurger', '|', 'ignoreWordLimit', 'ignoreSearch', 'ignoreSearchSeparators', - '|', 'searchWordSelectionAlgorithm', 'searchPageSelectionAlgorithm', - '|', 'highlightResults', 'highlightAllOccurences', - '|', 'searchShowNoResultsPages', - '|', 'textExtraction')); - - $this->fields['soundTheme'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => $this->__("Thème sonore"), - 'datas' => array($this->__('Pas de son') => '', - $this->__('Classique') => 'classic', - $this->__("Papier épais") => 'heavy', - $this->__("Papier fin") => 'light', - $this->__("Silencieux") => 'silent', - $this->__('Woosh') => 'woosh')); - $this->fields['soundOn'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Activer les effets sonores à l'ouverture")); - $this->forms['sound'] = array('label' => $this->__('Effets sonores'), - 'fieldsnames' => array('soundTheme', 'soundOn', '|', 'ambientSound', 'ambientSoundVolume')); - // . - $this->fields['pdf'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Activer les fonctions de téléchargement")); - $this->fields['pdfName'] = array('type' => 'text', 'default' => 'document.pdf', 'editable' => true, 'label' => $this->__("Nom du fichier PDF")); - $this->fields['pdfComplex'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Téchargement de PDF avancé'), "hint" => $this->__("Permet à l'utilisateur de sélectionner les pages qu'il souhaite télécharger"), 'grade' => 3); - $this->fields['pdfComplexShowCurrent'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Afficher les pages courrantes'), 'grade' => 3); - $this->fields['pdfCompress'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Compression du fichier PDF')); - $this->fields['pdfReplace'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('PDF de remplacement'), 'grade' => 3, 'fileFilter' => $pdfFilter); - $this->forms['downloadpdf'] = array('label' => $this->__('Fonction de téléchargement'), - 'fieldsnames' => array('pdf', 'pdfName', 'pdfReplace', 'pdfCompress', '|', 'pdfComplex', 'pdfComplexShowCurrent')); - // . - - $this->fields['zoom'] = array('type' => 'integer', 'default' => 200, 'editable' => true, 'label' => $this->__('Zoom par défaut (atteint au clic)')); - $this->fields['zoomw'] = array('type' => 'integer', 'default' => 300, 'editable' => true, 'label' => $this->__("Zoom maximal (atteint à l'aide de la molette)")); - $this->fields['hideHeaderOnZoom'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cacher le menu lors du zoom')]; - $this->fields['zoomMouseMoveMode'] = ['type' => 'combo', 'default' => 'move', 'editable' => true, 'label' => $this->__('Mode de déplacement des pages zoomées (souris)'), - 'datas' => [$this->__('Bouger la souris') => 'move', $this->__('Drag & drop') => $this->__('dragndrop')]]; - $this->fields['zoomWheel'] = ['type' => 'combo', 'default' => 'wheel', 'editable' => true, 'label' => $this->__('Zoom molette'), 'datas' => [ - $this->__('Désactivé') => 'disabled', - $this->__('Molette') => 'wheel', - $this->__('Ctrl+Molette') => 'ctrlwheel', - ]]; - $this->fields['zoomClick'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cliquer sur les pages pour zoomer')]; - $this->forms['zoom'] = array('label' => $this->__('Zoom'), - 'fieldsnames' => array('zoomClick', 'zoomWheel', '|', 'zoom', 'zoomw', '|', 'zoomMouseMoveMode', 'hideHeaderOnZoom')); - // . - - $this->fields['sliderImage'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Image pour le slider'), 'grade' => 3, 'fileFilter' => $imageExtraFilter); - - $this->forms['slider'] = ['label' => $this->__('Slider'), - 'fieldsnames' => ['sliderImage'], - ]; - - $this->fields['stats_score'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Afficher les scores dans les rapports'), 'grade' => 5); - $this->fields['stats_exclude_ip'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Exclure les IP suivantes des statistiques'), 'grade' => 3, 'hint' => sprintf($this->__('Indiquer une adresse ip de la forme %s par ligne'), 'www.xxx.yyy.zzz')); - $this->fields['relay_url_params'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Relayer les paramètres d\'url dans les liens sortants'), 'grade' => 3]; - $this->fields['gtag_additional_code'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Code additionnel Google Tag Manager')); - $this->fields['googleAnalyticsCustom'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Code Stats personnalisé (placé avant fermeture de head)')); - $this->fields['statsCustom'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Code Stats personnalisé (placé avant fermeture du body)')); - $this->fields['xiti'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Code XiTi global')); - $this->fields['xiti_page'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Modèle code xiti (pour tags relatifs aux pages)')); - $this->fields['tagcommander_id'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => 'Tag commander ID', 'grade' => 3]; - $this->fields['tagcommander_scriptname'] = ['type' => 'text', 'default' => 'tc_Multisite_Head.js,tc_Multisite_Analytics.js,tc_Multisite_Medias.js', 'editable' => true, 'label' => 'Nom du script Tagcommander', 'grade' => 3]; - $this->fields['tagcommander_prod'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => 'Production', 'grade' => 3]; - $this->fields['tagcommander_plan'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => 'Plan de taggage "Tag commander"', 'grade' => 3]; - $this->fields['tagcommander_default_vars'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => 'Variables par défaut', 'grade' => 3]; - $this->fields['anchorsAliases'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Alias des ancres')]; - $this->forms['stats'] = array('label' => $this->__('Statistiques avancées'), - 'fieldsnames' => array('tagcommander_id', 'tagcommander_scriptname', 'tagcommander_prod', 'tagcommander_plan', 'tagcommander_default_vars', 'anchorsAliases', '|', 'stats_score', 'stats_exclude_ip', '|', 'relay_url_params', '|', 'gtag_additional_code', '|', 'googleAnalyticsCustom', 'statsCustom', '|', 'xiti', 'xiti_page')); - - $this->fields['displayChaptersPopup'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Always display chapters in a popup'), 'grade' => 1); - $this->fields['displayChaptersIcon'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Affiche l'icône du sommaire"), 'grade' => 1); - $this->fields['chaptersCaptionDisplay'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Afficher le titre "Sommaire" dans la popup'), 'grade' => 3]; - $this->fields['chaptersFontSize'] = ['type' => 'integer', 'default' => 100, 'min' => 50, 'max' => 120, 'editable' => true, 'label' => $this->__('Taille du texte des élements du sommaire'), 'hint' => 'En % par rapport à la taille normale', 'grade' => 3]; - $this->fields['chaptersPage'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Faire pointer le sommaire sur la page'), 'grade' => 3, 'hint' => $this->__('Laisser vide pour utiliser le sommaire classique'), 'size' => 5); - $this->fields['displayChaptersAtStart'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Afficher le sommaire au chargement de la publication"), 'grade' => 3); - $this->fields['chaptersColumns'] = array('type' => 'integer', 'default' => 1, 'editable' => true, 'label' => $this->__('Afficher le sommaire sur x colonne(s)'), 'grade' => 3); - $this->fields['chaptersColMaxWidth'] = array('type' => 'integer', 'default' => 300, 'editable' => true, 'label' => $this->__("Largeur max d'une colonne"), 'grade' => 3); - $this->fields['chaptersLevelLimit'] = array('type' => 'integer', 'default' => 5, 'editable' => true, 'label' => $this->__('Limiter à x niveaux')); - $this->fields['chaptersIndent'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Indenter les éléments (pour les sommaires à plat)')]; - - $this->fields['externalChaptersHTML'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Sommaire personnalisé'), 'grade' => 3, 'fileFilter' => $multimediaFilter, 'hint' => $this->__('Laisser vide pour utiliser le sommaire classique')); - $this->fields['mobileChaptersStyle'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => $this->__('Style des chapitres') - , 'datas' => array($this->__('Classique') => 'classic', - $this->__('INA') => 'ina')); - $this->fields['chaptersPagesNumber'] = array('type' => 'combo', 'default' => 'virtual', 'editable' => true, 'label' => $this->__('Numérotation du sommaire'), 'datas' => $pagesNumbers); - $this->fields['chaptersCascade'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Sommaire en cascade"), 'grade' => 3); - - $this->forms['sommaire'] = array('label' => $this->__('Sommaire'), - 'fieldsnames' => array('chaptersCaptionDisplay', 'chaptersFontSize', '|', 'displayChaptersIcon', 'displayChaptersPopup', 'displayChaptersAtStart', 'chaptersPage', 'chaptersPosition', 'chaptersLevelLimit', 'chaptersCascade', 'chaptersPagesNumber', '|', 'chaptersColMaxWidth', 'chaptersColumns', 'displayChaptersLine', 'chaptersIndent', '|', 'externalChaptersHTML', '|', 'mobileChaptersStyle')); - // . - $this->fields['tabsHTML5'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Fichier d\'onglets') . ' (SVG, ZIP)', 'grade' => 3, 'hint' => $this->__('Charger un zip rendra les options ci-dessous inopérantes'), 'fileFilter' => $tabsFilter); - $this->fields['tabsSide'] = ['type' => 'combo', 'label' => $this->__('Position des onglets'), 'editable' => true, 'default' => 'right', 'grade' => 5, - 'datas' => [ - $this->__('Gauche') => 'left', - $this->__('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->fields['tabsPages'] = ['type' => 'text', 'label' => $this->__('Pages des onglets'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => $this->__('Numéros de pages séparas par une virgule')]; - $this->fields['tabsSections'] = ['type' => 'text', 'label' => $this->__('Sections des onglets'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => $this->__('Numéros de pages séparés par une virgule')]; - $this->fields['tabsPagesNumbers'] = ['type' => 'combo', 'label' => $this->__('Numérotation utilisée'), 'editable' => true, 'default' => 'virtual', 'grade' => 5, 'datas' => $pagesNumbers]; - $this->fields['tabsHideOnPages'] = ['type' => 'text', 'label' => $this->__('Cacher les onglets sur les pages'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => '1-3,5 = 1,2,3,5']; - $this->fields['tabsDisabledOnPages'] = ['type' => 'text', 'label' => $this->__('Onglets inactifs sur les pages'), 'editable' => true, 'default' => '', 'grade' => 5, 'hint' => '1-3,5 = 1,2,3,5']; - $this->fields['tabsHideOnCover'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Cacher les onglets sur la couverture'), 'grade' => 5]; - $this->fields['tabsHideOnLastPage'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cacher les onglets sur la dernière page'), 'grade' => 5]; - $this->fields['tabsHideOnPortrait'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cacher les onglets lorsque le fluidbook est en mode portrait'), 'grade' => 5]; - $this->fields['tabsHideOnZoom'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cacher les onglets lorsque le fluidbook est zoomé'), 'grade' => 5]; - $this->fields['tabsHideWhenOverlapingArrows'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Cacher les onglets lorsqu\'ils passent sous les flèches de navigation'), 'grade' => 5]; - $this->fields['tabsHideEdges'] = ['type' => 'combo', 'label' => $this->__('Masquer les bordures du fluidbook'), 'editable' => true, 'default' => 'right', 'grade' => 5, - 'datas' => [ - $this->__('Aucune') => 'none', - $this->__('Gauche') => 'left', - $this->__('Droite') => 'right', - $this->__('Les deux') => 'both', - ] - ]; - $this->fields['tabsMargin'] = ['type' => 'float', 'label' => $this->__('Marge des onglets'), 'editable' => true, 'default' => -10, 'grade' => 5, 'hint' => $this->__('Une marge négative = les onglets passent sous la publication')]; - $this->fields['tabsLinkWidth'] = ['type' => 'float', 'label' => $this->__('Largeur des onglets'), 'editable' => true, 'default' => 30, 'grade' => 5, 'hint' => $this->__('Largeur réservée pour les onglets et largeur de la zone cliquable des liens')]; - $this->forms['tabs'] = ['label' => $this->__('Onglets'), - 'fieldsnames' => ['tabsHTML5', 'tabsPages', 'tabsSections', 'tabsPagesNumbers', 'tabsDisabledOnPages', '|', 'tabsSide', 'tabsMargin', '|', 'tabsHideOnPages', 'tabsHideOnCover', 'tabsHideOnLastPage', 'tabsHideEdges', '|', 'tabsPriority', 'tabsLinkWidth', 'tabsHideWhenOverlapingArrows', 'tabsHideOnPortrait', 'tabsHideOnZoom']]; - - /*** **/ - - $this->fields['customLinkClass'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Classe pour les liens personnalisés'), 'grade' => 5); - $this->fields['ignoreLinksTypes'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Ignorer les liens de type'), 'hint' => $this->__('Liste des numéros séparés par des virgules'), 'grade' => 5); - $this->fields['mobileLinksRevealAnim'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Animer les liens après un changement de page"), 'grade' => 3); - $this->fields['linkBlinkTime'] = array('type' => 'float', 'default' => 1.0, 'editable' => true, 'label' => $this->__("Temps d'apparition du lien à l'ouverture de la page (en secondes)")); - $this->fields['linkBlinkRepetition'] = ['type' => 'integer', 'default' => 1, 'editable' => true, 'label' => $this->__('Nombre de clignotement lors de l\'apparition des liens')]; - $this->fields['linkTracker'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Tracking des liens'), 'grade' => 5); - $this->fields['linkTrackerRegexp'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Tracking des liens applicables aux liens du domaine'), 'grade' => 5); - $this->fields['linkFilePrefix'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Préfixer les liens de téléchargement')); - $this->fields['linkTooltipMaxWidth'] = array('type' => 'integer', 'default' => 140, 'editable' => true, 'label' => $this->__('Largeur max des infobulles des liens de type "infobulle"')); - $this->fields['openLinkAtStartup'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Déclencher un lien à l\'ouverture du fluidbook')]; - - $this->fields['mobileIgnoreBackgroundLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Ignorer les liens de background')); - $this->forms['links'] = array('label' => $this->__('Liens'), - 'fieldsnames' => array('permanentLinks', 'mobileLinksRevealAnim', 'linkBlinkTime', 'linkBlinkRepetition', '|', 'openLinkAtStartup', '|', 'customLinkClass', 'ignoreLinksTypes', 'mobileIgnoreBackgroundLinks', 'linkTooltipManager', 'linkCornerSize', 'linkTooltipMaxWidth', '|', 'linkTracker', 'linkTrackerRegexp', '|', 'linkFilePrefix')); - //. - - $this->fields['textPopupStylesheet'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Feuille de style des popups de texte'), 'fileFilter' => $cssFilter]; - $this->fields['textPopupWidth'] = ['type' => 'integer', 'default' => 600, 'editable' => true, 'label' => $this->__('Largeur optimale des popups')]; - $this->fields['iframePopupMaxWidth'] = ['type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__('Largeur maximale des popups iframe')]; - $this->fields['OAMChromeFactor'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => $this->__('Facteur OAM Chrome')]; - $this->fields['OAMIEFactor'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => $this->__('Facteur OAM IE11')]; - - $this->forms['multimedia'] = ['label' => $this->__('Multimedia'), - 'fieldsnames' => ['textPopupStylesheet', 'textPopupWidth', '|', 'iframePopupMaxWidth', '|', 'OAMChromeFactor', 'OAMIEFactor']]; - - $pdfRendererOptions = [$this->__('Navigateur') => 'native', 'PDF.js' => 'pdfjs', 'PDF.js (legacy)' => 'pdfjs-legacy']; - $pdfRenderOptionsIframe = array_merge($pdfRendererOptions, [$this->__('Ecraser en SVG') => 'svg']); - - $this->fields['PDFRenderer'] = ['type' => 'combo', 'datas' => $pdfRendererOptions, 'default' => 'native', 'editable' => true, 'label' => $this->__('Rendu des PDF (téléchargement)')]; - $this->fields['PDFRendererIframe'] = ['type' => 'combo', 'datas' => $pdfRenderOptionsIframe, 'default' => 'native', 'editable' => true, 'label' => $this->__('Rendu des PDF (iframes)')]; - $this->fields['PDFJSCSS'] = ['type' => 'textarea', 'default' => '', 'editable' => true, 'label' => 'Styles PDF.js']; - - $this->forms['pdf'] = ['label' => 'PDF', - 'fieldsnames' => ['PDFRenderer', 'PDFRendererIframe', '|', 'PDFJSCSS']]; - - $slideshowPopupLibraries = [ - 'Splide (' . $this->__('défaut') . ')' => 'splide', - 'Vacheron' => 'vacheron']; - - $slideshowInlineLibraries = [ - 'Simple (' . $this->__('défaut') . ')' => 'dummy', - 'Vacheron' => 'vacheron']; - - $this->fields['slideshowCaptionSize'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Taille de police de la légende du diaporama'), 'hint' => $this->__('Laisser vide pour utiliser la valeur par défaut')); - $this->fields['inlineSlideshowTransitionDuration'] = array('type' => 'float', 'default' => 0.75, 'editable' => true, 'label' => $this->__('Durée de la transition des diaporamas intégrés aux pages(s)')); - $this->fields['inlineSlideshowDuration'] = array('type' => 'float', 'default' => 7, 'editable' => true, 'label' => $this->__('Temps d\'attente des diaporamas intégrés aux pages (s)')); - $this->fields['inlineSlideshowLibrary'] = ['type' => 'combo', 'datas' => $slideshowInlineLibraries, 'default' => 'dummy', 'editable' => true, 'grade' => 3, 'label' => $this->__('Librarie utilisée pour les slideshow intégrés aux pages')]; - $this->fields['popupSlideshowLibrary'] = ['type' => 'combo', 'datas' => $slideshowPopupLibraries, 'default' => 'splide', 'editable' => true, 'grade' => 3, 'label' => $this->__('Librarie utilisée pour les slideshow popup')]; - - $this->forms['slideshow'] = ['label' => $this->__('Slideshow'), - 'fieldsnames' => ['inlineSlideshowLibrary', 'popupSlideshowLibrary', '|', 'slideshowCaptionSize', '|', 'inlineSlideshowTransitionDuration', 'inlineSlideshowDuration']]; - - $this->fields['webvideoAsLocal'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Intégrer les webvidéos en local')]; - $this->fields['mobileVideosPath'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Chemin vers les vidéos'), 'grade' => 5); - $this->fields['brightcovePlayerId'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Brightcove Player Id'), 'grade' => 3); - $this->fields['brightcovePlayerSecret'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Brightcove Player Secret'), 'grade' => 3); - $this->fields['bigPlayImage'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Image pour le bouton "Big Play"'), 'grade' => 3, 'fileFilter' => $imageExtraFilter]; - $this->forms['videos'] = array('label' => $this->__('Vidéos'), - 'fieldsnames' => array('webvideoAsLocal', '|', 'mobileVideosPath', '|', 'brightcovePlayerId', 'brightcovePlayerSecret', '|', 'bigPlayImage')); - //. - $this->fields['audioPlayerTheme'] = ['type' => 'combo', 'default' => 'native', 'editable' => true, 'label' => $this->__('Apparence du lecteur audio'), 'datas' => [$this->__('Apparence native du navigateur') => 'native', $this->__('Zone cliquable invisible') => 'invisible', $this->__('Circulaire') => 'redbull']]; - $this->forms['audio'] = ['label' => $this->__('Lecteur audio'), - 'fieldsnames' => ['audioPlayerTheme']]; - //. - $this->fields['downloadPortionPDF'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => 'PDF utilisé pour le téléchargement des extraits']; - $this->fields['downloadPortionZoom'] = ['type' => 'integer', 'default' => 8, 'editable' => false, 'editable' => true, 'label' => $this->__('Zoom des images extraites')]; - $this->forms['downloadportion'] = array('label' => $this->__('Téléchargement d\'extraits'), - 'fieldsnames' => ['downloadPortionPDF', 'downloadPortionZoom']); - - - $this->fields['product_zoom_references'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Références produits'), 'grade' => 3, 'fileFilter' => $basketFilter, 'hint' => $this->__('Fichier contenant les références produits'), 'dir' => 'commerce'); - $this->fields['product_zoom_buttons_order'] = ['type' => 'combo', 'datas' => [$this->__('De la droite vers la gauche') => 'right', $this->__('De la gauche vers la droite') => 'left'], 'editable' => true, 'grade' => 3, 'default' => 'right', 'label' => $this->__('Order des boutons')]; - $icons = [ - $this->__('Aucune') => 'none', - $this->__('Partage') => 'nav-share', - $this->__('Ecran') => 'icon-site', - $this->__('Télécharger') => 'nav-download', - 'PDF' => 'icon-pdf', - 'Video' => 'icon-video', - $this->__('Lien') => 'icon-link', - $this->__('Code') => 'icon-code', - $this->__('QR code') => 'icon-qr', - $this->__('Article') => 'icon-article', - $this->__('Panier (sac)') => 'nav-basket', - $this->__('Panier (caddie)') => 'nav-cart-caddie', - $this->__('Panier (wishlist)') => 'nav-cart-wishlist', - $this->__('360°') => 'icon-360', - $this->__('Photo') => 'icon-photo']; - $actions = [ - $this->__('Désactiver') => 'disabled', - $this->__('Ouvrir un lien') => 'link', - $this->__('Ouvrir en iframe') => 'iframe', - $this->__('Copier un contenu') => 'copy', - $this->__('Web Vidéo') => 'video', - $this->__('Vidéo') => 'videofile', - $this->__('Vidéo (boucle, sans contrôle)') => 'videogif', - $this->__('Voir une image') => 'image', - $this->__('Ajouter au panier') => 'addtocart' - ]; - $f = []; - for ($i = 1; $i <= 3; $i++) { - $this->fields['product_zoom_label_' . $i] = ['type' => 'text', 'label' => $this->__('Label du bouton') . ' ' . $i, 'default' => '', 'editable' => true, 'grade' => 3]; - $this->fields['product_zoom_tooltip_' . $i] = ['type' => 'text', 'label' => $this->__('Label de l\'infobulle') . ' ' . $i, 'default' => '', 'editable' => true, 'grade' => 3]; - $this->fields['product_zoom_icon_' . $i] = ['type' => 'combo', 'datas' => $icons, 'label' => $this->__('Icône du bouton') . ' ' . $i, 'default' => 'click', 'editable' => true, 'grade' => 3]; - $this->fields['product_zoom_action_' . $i] = ['type' => 'combo', 'datas' => $actions, 'label' => $this->__('Action du bouton') . ' ' . $i, 'default' => 'disabled', 'editable' => true, 'grade' => 3]; - $f[] = '|'; - $f[] = 'product_zoom_label_' . $i; - $f[] = 'product_zoom_tooltip_' . $i; - $f[] = 'product_zoom_icon_' . $i; - $f[] = 'product_zoom_action_' . $i; - } - $this->fields['product_share_enabled'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'grade' => '3', 'label' => $this->__('Activer le bouton de partage')]; - $this->fields['product_share_link'] = ['type' => 'combo', 'default' => 'product', 'editable' => true, 'label' => $this->__('Lien de partage'), 'datas' => [$this->__('Lien du produit') => 'product', $this->__('Lien vers la page du fluidbook') => 'page']]; - $this->fields['product_email_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre de l'email") . ' "' . $this->__('Envoyer à un ami') . '"'); - $this->fields['product_email_body'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__("Corps de l'email") . ' "' . $this->__('Envoyer à un ami') . '"'); - $this->fields['product_tweet'] = array('type' => 'textarea', 'default' => '%short%', 'editable' => true, 'label' => $this->__("Contenu Partage court"), 'hint' => $this->__('Contenu du partagé sur les partages courts')); - $this->forms['product_zoom'] = ['label' => $this->__('Zooms produits'), 'fieldsnames' => array_merge(["product_zoom_references", '|', 'product_zoom_buttons_order'], $f, ['|', 'product_share_enabled', 'product_share_link', 'product_email_title', 'product_email_body', 'product_tweet'])]; - - $this->fields['audiodescriptionTexts'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Contenus textuels pour l\'audiodescription ou les lecteurs d\'écran'), 'fileFilter' => $seoFilter]; - $this->fields['audiodescriptionVoice'] = ['type' => 'combo', 'datas' => wsDroits::getTTSVoices(), 'editable' => true, 'default' => '', 'label' => $this->__('Voix pour l\'audiodescription')]; - $this->forms['accessibility'] = ['label' => $this->__('Accessibilité'), - 'fieldsnames' => ['audiodescriptionTexts', 'audiodescriptionVoice'] - ]; - - // Tooltip - - - // Splashscreen - - $this->fields['splashImage'] = ['type' => 'freefile', 'default' => '', 'editable' => true, 'label' => $this->__('Image'), 'grade' => 3, 'fileFilter' => $imageFilter]; - $this->fields['splashURL'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('URL'), 'grade' => 3]; - $this->fields['splashTarget'] = ['type' => 'combo', 'datas' => $target, 'default' => '_self', 'editable' => true, 'label' => $this->__('Ouvrir le lien'), 'grade' => 3]; - $this->fields['splashMinimalTime'] = ['type' => 'float', 'default' => 1, 'editable' => true, 'label' => $this->__('Temps minimal d\'affichage'), 'grade' => 3]; - - $this->forms['splash'] = ['label' => $this->__('Ecran de chargement'), 'fieldsnames' => ['splashImage', 'splashURL', 'splashTarget', 'splashMinimalTime']]; - - // Notes - $this->fields['notes'] = ['type' => 'boolean', 'default' => false, 'editable' => true, - 'label' => 'Activer les notes', 'grade' => 3]; - $this->forms['notes'] = ['label' => $this->__('Notes'), 'fieldsnames' => ['notes']]; - - // Articles - $this->fields['articlesFile'] = ['type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => 'Articles', 'grade' => 3, 'fileFilter' => $articlesFilter]; - $this->fields['articlesFormat'] = ['type' => 'combo', 'default' => 'fluidbook', 'editable' => true, 'label' => 'Format', 'grade' => 3, 'datas' => [$this->__('Fluidbook') => 'fluidbook', 'Business Immo' => 'business-immo']]; - $this->fields['articlesFont'] = ['type' => 'combo', 'label' => $this->__('Police des articles'), 'default' => 'OpenSans', 'datas' => self::$fonts, 'editable' => true, 'grade' => 3]; - $this->fields['articlesImages'] = ['type' => 'freefile', 'label' => $this->__('Images des articles'), 'default' => '', 'hint' => $this->__('Les noms des fichiers doivent être les même que ceux des balises du XML'), 'editable' => true, 'grade' => 3, 'dir' => 'articles', 'multiple' => true]; - $this->fields['articlesShare'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer le partage'), 'grade' => 3]; - $this->fields['articlesPrint'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer l\'impression'), 'grade' => 3]; - $this->fields['articlesStyle'] = ['type' => 'combo', 'default' => true, 'editable' => true, 'label' => $this->__('Style'), 'grade' => 3, 'datas' => ['Défaut' => 'default', 'Atlantic' => 'atlantic', 'Harmonie Mutuelle' => 'harmonie-mutuelle', 'Business Immo' => 'business-immo']]; - - $this->forms['articles'] = ['label' => $this->__('Articles'), 'fieldsnames' => ['articlesFile', 'articlesImages', '|', 'articlesShare', 'articlesPrint', '|', 'articlesStyle', 'articlesFont']]; - - //. - $this->fields['externalArchives'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Archives'), 'grade' => 3, 'fileFilter' => $imageFilter); - $this->fields['archivesLabel'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Label'), 'grade' => 5); - $this->forms['archives'] = array('label' => $this->__('Archives'), - 'fieldsnames' => array('externalArchives', 'archivesLabel')); - // . - $this->fields['form'] = array('type' => 'combo', 'default' => '', 'editable' => true, 'grade' => 5, 'label' => $this->__('Formulaire'), 'datas' => - array($this->__('Aucun') => '', - 'Bulle Groupe' => 'bulle', - 'Bourbon / Suggestions' => 'bourbon', - 'Avery' => 'avery', - ), - ); - $this->forms['form'] = array('label' => $this->__('Formulaire'), - 'fieldsnames' => array('form')); - - $this->fields['cookieConsent'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Message cookie')); - $this->fields['cookieConsentMessage'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Texte du consentement')); - $this->fields['cookieConsentAutoclose'] = array('type' => 'integer', 'default' => 0, 'editable' => true, 'label' => $this->__('Masquer automatiquement après x secondes')); - $this->forms['privacy'] = array('label' => $this->__('Respect de la vie privée'), - 'fieldsnames' => array('cookieConsent', 'cookieConsentMessage', 'cookieConsentAutoclose')); - - //. - $this->fields['basket'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Panier activé'), 'grade' => 5); - $this->fields['cartIcon'] = ['type' => 'combo', 'datas' => [$this->__('Sac') => 'nav-basket', $this->__('Caddie') => 'nav-cart-caddie', $this->__('Wishlist') => 'nav-cart-wishlist'], 'default' => 'nav-basket', 'label' => $this->__('Icône'), 'editable' => true, 'grade' => 5]; - $this->fields['basketManager'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => $this->__("Manager de panier"), - 'datas' => array($this->__('Classic') => 'com.fluidbook.player.basket.BasketManager', - 'Grdf' => 'com.fluidbook.player.basket.custom.grdf.GrdfBasketManager', - 'Grdf 2013' => 'com.fluidbook.player.basket.custom.grdf.grdf2013.GrdfBasketManager2013', - 'Grdf 2015' => 'com.fluidbook.player.basket.custom.grdf.grdf2015.GrdfBasketManager2015', - 'Essilor' => 'com.fluidbook.player.basket.custom.essilor.EssilorBasketManager', - 'Essilor Recap' => 'com.fluidbook.player.basket.custom.essilorrecap.EssilorRecapBasketManager', - 'Wesco Ventes' => 'com.fluidbook.player.basket.custom.wesco.WescoBasketManager', - 'Atlantic Download' => 'com.fluidbook.player.basket.custom.atlantic.AtlanticDownloadBasketManager', - 'Remarkable' => 'Remarkable', - 'Mopec' => 'Mopec', - 'Puma' => 'Puma', - 'MIF' => 'MIF', - 'Flexipan' => 'Flexipan', - 'Zoom + lien produit (déprécié, utiliser la fonctionnalité "Zoom produits")' => 'ZoomProductLink', - 'Wishlist Jouéclub' => 'JoueclubWishlist', - 'GrandVision' => 'GrandVision', - 'Grand Pavois' => 'GrandPavois', - 'Wishlist Jouéclub Noël 2021' => 'JoueclubWishlist2021', - 'Thiriet' => 'Thiriet', - ), 'grade' => 5); - - $this->fields['cartLinkAppearance'] = ['type' => 'combo', 'default' => 'link', 'editable' => true, 'label' => $this->__('Apparence des liens panier'), 'grade' => 3, 'datas' => [$this->__('Lien') => 'link', $this->__('Boutons + et - avec overlay') => 'overlay']]; - $this->fields['basketReferences'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Références produits'), 'grade' => 3, 'fileFilter' => $basketFilter, 'hint' => $this->__('Fichier contenant les références produits'), 'dir' => 'commerce'); - $this->fields['basketImages'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Images des produits'), 'grade' => 3, - 'multiple' => true, 'dir' => 'commerce'); - $this->fields['basketPDFBackground'] = array('type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Fond du PDF (bon de commande)'), 'grade' => 5, 'fileFilter' => $epsFilter, 'hint' => $this->__('Fond du bon de commande'), 'dir' => 'commerce'); - $this->fields['cartHeaderImage'] = ['type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Header panier'), 'grade' => 3, 'fileFilter' => $imageFilter, 'dir' => 'commerce']; - $this->fields['cartHeaderMobileImage'] = ['type' => 'freefile', 'default' => '', 'editable' => true, - 'label' => $this->__('Header panier (mobile)'), 'grade' => 3, 'fileFilter' => $imageFilter, 'dir' => 'commerce']; - $this->fields['cartExtraSettings'] = ['type' => 'textarea', 'default' => '', 'editable' => true, - 'label' => $this->__('Paramètres panier'), 'grade' => 3]; - - - $this->forms['basket'] = array('label' => $this->__('Panier'), - 'fieldsnames' => array('basket', 'basketManager', '|', 'cartIcon', 'cartLinkAppearance', '|', 'basketReferences', 'basketImages', '|', 'cartHeaderImage', 'cartHeaderMobileImage', 'cartExtraSettings')); - // . - $this->fields['offlineLink'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => $this->__("URL du Fluidbook"), 'hint' => $this->__('URL du fluidbook utilisée pour la version Offline (CD-ROM, clé USB, Exécutables)')); - $this->fields['offlineTitle'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Titre de l'application")); - $this->fields['offlineWindowsInstallPath'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Chemin d\'installation par défaut'), 'hint' => $this->__('Par défaut') . ': %LOCALAPPDATA%/%title%']; - $this->fields['offlineWindowsProfilePath'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Répertoire de stockage du profile'), 'hint' => $this->__('Par défaut') . ': %LOCALAPPDATA%/%title%']; - $this->fields['offlineEnableAdvancedPrinting'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__('Activer le menu d\'impression avancée')]; - $this->fields['debugConsole'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Activer la console de débuggage')]; - $this->forms['offline'] = array('label' => $this->__('Version offline'), - 'fieldsnames' => array('offlineTitle', 'offlineLink', '|', 'offlineWindowsInstallPath', 'offlineWindowsProfilePath', '|', 'offlineEnableAdvancedPrinting', '|', 'debugConsole')); - - $this->fields['mobilefirstFluidbookId'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => 'Identifiant du fluidbook "Mobile first"', 'grade' => 5]; - $this->fields['mobilefirstBreakpoint'] = ['type' => 'text', 'default' => '640', 'editable' => true, 'label' => 'Breakpoint du passage à la version "Mobile first" (en pixels)', 'grade' => 5]; - $this->forms['mobilefirst'] = ['label' => $this->__('Mobile first'), - 'fieldsnames' => ['mobilefirstFluidbookId', 'mobilefirstBreakpoint']]; - - - $this->fields['phonegapId'] = array('type' => 'text', 'default' => 'com.fluidbook.phonegap.$id', 'editable' => true, 'label' => $this->__("Identifiant de l'identifiant"), 'grade' => 5, 'hint' => $this->__('De la forme') . ' com.fluidbook.phonegap.xxxxx'); - $this->fields['phonegapVersion'] = array('type' => 'text', 'default' => '1.0.0', 'editable' => true, 'label' => $this->__("Version de l'application"), 'grade' => 5, 'hint' => $this->__('De la forme') . ' 1.2.3'); - $this->fields['phonegapPlugins'] = array('type' => 'textarea', 'default' => 'ChildBrowser', 'editable' => true, 'label' => $this->__('Plugins Phonegap'), 'grade' => 5); - $defaultScreenshots = "P,0\nL,2\nL,index"; - $this->fields['appScreenshots'] = array('type' => 'textarea', 'default' => $defaultScreenshots, 'editable' => true, 'label' => 'Générer les screenshots', 'grade' => 5, 'hint' => $this->__('Une ligne par vue à générer de la forme X,Y (X : P(ortrait) ou L(andscape), Y : numéro de page ou vue (1, index))')); - - $this->forms['phonegap'] = array('label' => $this->__('Applications mobile'), - 'fieldsnames' => array('phonegapId', 'phonegapVersion', 'phonegapPlugins', 'appScreenshots')); - - $this->fields['secureURL'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => $this->__('URL de sécurisation'), 'grade' => 5, 'hint' => $this->__('URL intérrogé pour vérifier si le visiteur à les droits pour consulter la publication')); - $this->fields['secureURLRedirect'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => $this->__('Redirection'), 'grade' => 5, 'hint' => $this->__("Si l'authentification échoue, redirection vers cette adresse")); - $this->fields['secureClientSidePassword'] = ['type' => 'freefile', 'label' => 'Sécurisation par mot de passe côté client', 'editable' => true, 'default' => '', 'grade' => 3, 'fileFilter' => $htmlFilter]; - $this->fields['secureClientSidePasswordCredentials'] = ['type' => 'textarea', 'label' => 'Utilisateurs / mots de passe', 'editable' => true, 'default' => '', 'grade' => 3, 'hint' => 'Format user:password par ligne']; - $this->fields['preventRightClick'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Essayer d'empêcher le clic droit"), 'grade' => 1); - $this->fields['restrictPrint'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Restreindre l'impression"), 'grade' => 5); - $this->fields['restrictDownload'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Restreindre le téléchargement du pdf"), 'grade' => 5); - $this->fields['restrictSendBookmark'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Restreindre l'envoi de marques-pages"), 'grade' => 5); - $this->fields['restrictPrintDownload'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Paramètre de l\'url permettant de désactiver la restriction (non vide pour activer les restrictions)'), 'grade' => 5, 'hint' => $this->__("Ne pas indiquer le ?")]; - $this->fields['recaptcha'] = ['type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Activer reCATPCHA v3 (clé du site)')]; - $this->forms['secure'] = array('label' => $this->__('Sécurisation'), - 'fieldsnames' => array('secureURL', 'secureURLRedirect', '|', 'secureClientSidePassword', 'secureClientSidePasswordCredentials', '|', 'preventRightClick', '|', 'restrictPrintDownload', 'restrictPrint', 'restrictDownload', 'restrictSendBookmark', '|', 'recaptcha')); - - $this->fields['home'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__("Accueil de l'interface multibrochure"), 'grade' => 5); - $this->fields['multilang'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Langues'), 'hint' => $this->__('Code langue') . ',' . $this->__('Code pays') . ',' . $this->__('URL')); - $this->fields['country'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Pays de la brochure')); - $this->fields['multilangDisplay'] = array('type' => 'combo', 'default' => 'lang', 'editable' => true, 'label' => $this->__('Affichage'), - 'datas' => array($this->__('Langue') => 'lang', - $this->__('Langue') . ' (' . $this->__('Pays') . ')' => 'lang_country', - $this->__('Pays') . ' (' . $this->__('Langue') . ')' => 'country_lang')); - $this->forms['multibrochure'] = array('label' => $this->__('Multibrochure'), - 'fieldsnames' => array('home', 'country', 'multilangDisplay', 'multilang')); - - $this->fields['plv'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Activer le mode PLV'), 'grade' => 3); - $this->fields['plvTimer'] = array('type' => 'integer', 'min' => 1, 'max' => 60, 'default' => 5, 'editable' => true, 'label' => $this->__('Temps'), 'grade' => 3); - $this->fields['plvMode'] = array('type' => 'combo', 'default' => 'first', 'editable' => true, 'label' => $this->__('Arrivé à la dernière page'), 'grade' => 3, - 'datas' => array($this->__('Remonter vers la première page') => 'back', - $this->__('Recommencer à la première page') => 'first')); - $this->forms['plv'] = array('label' => $this->__('Mode PLV'), - 'fieldsnames' => array('plv', 'plvTimer', 'plvMode')); - - - $this->fields['themeEnableAfterSearch'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Afficher l'image supplémentaire à droite du moteur de recherche"), 'grade' => 3); - $this->forms['theme'] = array('label' => $this->__('Options du thème'), - 'fieldsnames' => array('themeEnableAfterSearch')); - - $this->fields['forceCompileOnDownload'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Forcer la compilation lors du téléchargement'), 'grade' => 3); - $this->fields['embedAllLibraries'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Intégrer toutes les bibliothèques JS'), 'grade' => 3); - $this->fields['htmlExtension'] = array('type' => 'text', 'default' => 'html', 'editable' => true, 'label' => $this->__('Extension des fichiers html'), 'grade' => 5, 'hint' => $this->__('Ex : php, htm, html, phtml, asp, aspx'), 'grade' => 5); - $this->fields['actualHtmlExtension'] = array('type' => 'text', 'default' => 'html', 'editable' => false, 'label' => $this->__('Extension des fichiers html réellement appliquée au fluidbook'), 'grade' => 5, 'hint' => $this->__('Ex : php, htm, html, phtml, asp'), 'grade' => 5); - $this->fields['htmlPrepend'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Code à insérer en tête des fichiers'), 'grade' => 5); - $this->fields['baseUrl'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Base de l\'url'), 'grade' => 5,); - - $this->forms['package'] = array('label' => $this->__('Option d\'export'), - 'fieldsnames' => array('htmlExtension', "actualHtmlExtension", 'htmlPrepend', 'baseUrl', 'forceCompileOnDownload', 'embedAllLibraries')); - - $this->fields['disableDemo'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Désactiver le lien de démo'), 'grade' => 5); - $this->fields['redirectDemo'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Rediriger le lien de démo vers'), 'grade' => 5); - $this->forms['demo'] = array('label' => $this->__('Lien de démo'), - 'fieldsnames' => array('disableDemo', 'redirectDemo')); - - - $this->fields['gamify_coins_pages'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Attribuer des coins lors de la visite des pages')); - $this->forms['gamify'] = ['label' => $this->__('Gamification'), - 'fieldsnames' => ['gamify_coins_pages']]; - - - $this->fields['scorm_enable'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Activer SCORM'), 'grade' => 5); - $this->fields['scorm_version'] = array('type' => 'combo', 'default' => '1.2', 'editable' => true, 'label' => $this->__('Version du standard SCORM'), 'grade' => 5, - 'datas' => array( - $this->__('SCORM 1.2') => '1.2', - $this->__('SCORM 2004 3rd edition') => '2004.3', - $this->__('SCORM 2004 4th edition') => '2004', - ) - ); - $this->fields['scorm_id'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Identifiant SCORM'), 'grade' => 5); - $this->fields['scorm_org'] = array('type' => 'text', 'default' => 'ACME-ORG-1350650111249', 'editable' => true, 'label' => $this->__('Organisation SCORM'), 'grade' => 5); - $this->fields['scorm_title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => $this->__('Titre SCORM'), 'grade' => 5, 'hint' => $this->__('Laisser vide pour utiliser le titre de la publication')); - $this->fields['scorm_variables'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => $this->__('Variables SCORM'), 'grade' => 5, 'hint' => $this->__('Laisser vide pour utiliser le titre de la publication')); - $this->fields['scorm_score'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Activer le support du score'), 'grade' => 5); - $this->fields['scorm_score_min'] = array('type' => 'integer', 'min' => 0, 'max' => 100, 'default' => 50, 'editable' => true, 'label' => $this->__('Score minimal pour marquer le contenu comme réussi'), 'grade' => 5); - $this->fields['scorm_quiz_as_questionnaire'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__('Traiter les quiz comme des questionnaires (toutes les réponses sont considérées comme correctes)'), 'grade' => 5); - $this->fields['scorm_quizdata'] = array('type' => 'freefile', 'editable' => true, 'default' => '', 'label' => $this->__('Données de quiz')); - $this->fields['scorm_complete_coins'] = ['type' => 'integer', 'default' => 0, 'label' => 'Marquer le cours comme "Complete" lorsque le visiteur accumule X coins', 'editable' => true]; - $this->fields['scorm_complete_on_exit'] = ['type' => 'boolean', 'default' => false, 'label' => 'Marquer le cours comme "Complete" à la fermeture de la fenêtre', 'editable' => true]; - $this->fields['scorm_complete_on_last_page'] = ['type' => 'boolean', 'default' => false, 'label' => 'Marquer le cours comme "Complete" lorsque le visiteur atteint la dernière page', 'editable' => true]; - $this->fields['scorm_force_attempts'] = ['type' => 'boolean', 'default' => false, 'label' => $this->__('Forcer la création d\'un "attempt" à chaque ouverture'), 'editable' => true]; - $this->fields['scorm_pass_on_complete'] = ['type' => 'boolean', 'default' => true, 'editable' => true, 'label' => $this->__("Marquer le cours comme Pass lorsqu'il est terminé") . ' (' . $this->__('SCORM 2004 seulement') . ')']; - $this->fields['scorm_score100_on_complete'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Marquer le cours comme réussi à 100% lorsqu'il est terminé")]; - $this->fields['scorm_commit_immediately'] = ['type' => 'boolean', 'default' => false, 'editable' => true, 'label' => $this->__("Envoyer les données immédiatement au LMS") . ' (' . $this->__('Peut provoquer des ralentissement sur certains LMS') . ')']; - - $this->forms['scorm'] = array('label' => $this->__('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_complete_coins', '|', 'scorm_pass_on_complete', 'scorm_score100_on_complete', '|', 'scorm_quizdata', 'scorm_score', 'scorm_score_min', 'scorm_quiz_as_questionnaire', '|', 'scorm_force_attempts', 'scorm_commit_immediately')); - - $versions = wsUrl::getFluidbookVersions(false); - $ignore = ['v1', 'v2', 'phonegap']; - $fields = []; - foreach ($versions as $k => $version) { - if (in_array($k, $ignore)) { - continue; - } - $this->fields['download_' . $k] = ['type' => 'boolean', 'editable' => true, 'default' => false, 'label' => $this->__($version['title']), 'grade' => 3]; - $fields[] = 'download_' . $k; - } - $this->fields['download_online']['default'] = true; - $this->forms['downloads'] = array('label' => $this->__('Versions disponibles au téléchargement'), - 'fieldsnames' => $fields); + $this->fields=[ + 'mobileLVersion' => [ + 'type' => 'combo', + 'default' => 'stable', + 'editable' => true, + 'label' => __('Version logicielle'), + 'grade' => 1, + 'datas' => [ + 'stable' => 'master : git (stable)', + 'dev' => 'master : local (dev)', + 'icon-bar|git' => 'icon-bar : git', + 'icon-bar|local' => 'icon-bar : local', + ], + ], + 'mobileVersion' => [ + 'type' => 'combo', + 'default' => 'html5-desktop', + 'editable' => true, + 'label' => __('Version mobile'), + 'grade' => 3, + 'datas' => [ + 'pdf' => __('Rediriger vers le PDF'), + 'html5-desktop' => __('Version HTML5 recommandée (vecteurs sur desktop)'), + 'html5' => __('Version HTML5 vecteurs'), + 'html5-images' => __('Version HTML5 en images'), + ], + ], + 'title' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Titre de la publication'), + 'embed' => false, + ], + 'url_link' => [ + 'type' => 'text', + 'default' => 'http://', + 'editable' => true, + 'label' => __('URL du lien de retour au site'), + ], + 'signature' => [ + 'type' => 'combo', + 'default' => '1', + 'editable' => true, + 'label' => __('Signature'), + 'grade' => 3, + 'datasFunc' => 'wsDroits::getSignatures()', + 'datas' => wsDroits::getSignatures(), + ], + 'assetsDir' => [ + 'type' => 'text', + 'label' => __('Utiliser le dossier d\'assets du fluidbook'), + 'default' => '', + 'editable' => true, + 'grade' => 5, + ], + 'linksAssets' => [ + 'type' => 'freefile', + 'label' => __('Charger ou remplacer des fichiers de liens'), + 'default' => '', + 'editable' => true, + 'grade' => 3, + 'multiple' => true, + ], + 'stats' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer les statistiques Fluidbook'), + 'grade' => 3, + ], + 'googleAnalytics' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Code Google Analytics'), + 'size' => 10, + ], + 'googleTagManager' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Code Google Tag Manager'), + 'size' => 10, + ], + 'share' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer les fonctions de partage'), + ], + 'email_title' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Titre de l\'email').' "'.__('Envoyer à un ami').'"', + 'hint' => __('Laisser vide pour utiliser la valeur par défaut'), + ], + 'email_body' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Corps de l\'email').' "'.__('Envoyer à un ami').'"', + 'hint' => __('Laisser vide pour utiliser la valeur par défaut'), + ], + 'email_editable' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => false, + 'label' => __('Permettre au lecteur de modifier le corps de l\'email'), + ], + 'askAcknowledge' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => false, + 'label' => __('Demander au destinataire un accusé de réception'), + 'grade' => 3, + ], + 'sendasfluidbook' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => false, + 'label' => __('Envoyer le mail comme Fluidbook'), + 'grade' => 3, + 'hint' => __('L\'expéditeur apparaîtra en reply-to'), + ], + 'email_mailto' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => false, + 'label' => __('Envoyer le mail via le client mail du visiteur (mailto:)'), + 'grade' => 3, + ], + 'facebook_title' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Titre du contenu partagé'), + 'hint' => __('Titre proposé sur les fonction de partage (par défaut, titre de la publication)'), + ], + 'facebook_description' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Description du contenu partagé'), + 'grade' => 1, + 'hint' => __('Description proposée sur les fonctions de partage (par défaut, vide)'), + ], + 'facebook_image' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Miniature affichée'), + 'fileFilter' => [ + 'name' => __('Images').' (*.jpg, *.png)', + 'extensions' => '*.jpg;*.jpeg;*.png', + ], + ], + 'twitter_description' => [ + 'type' => 'textarea', + 'default' => '%title% : %short%', + 'editable' => true, + 'label' => __('Contenu Partage court'), + 'hint' => __('Contenu du partagé sur les partages courts'), + ], + 'friend' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('E-mail'), + ], + 'facebook' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Facebook'), + ], + 'twitter' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Twitter'), + ], + 'whatsapp' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('WhatsApp'), + ], + 'linkedin' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('LinkedIn'), + ], + 'pinterest' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Pinterest'), + ], + 'googleplus' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => false, + 'label' => __('Google +'), + ], + 'viadeo' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => false, + 'label' => __('Viadeo'), + ], + 'customSharer' => [ + 'type' => 'text', + 'default' => '', + 'editable' => false, + 'label' => __('Classe personnalisée de partage'), + 'grade' => 5, + ], + 'friendWidth' => [ + 'type' => 'integer', + 'default' => 319, + 'editable' => false, + 'label' => __('Largeur du menu'), + 'grade' => 5, + ], + 'friendHeight' => [ + 'type' => 'integer', + 'default' => 500, + 'editable' => false, + 'label' => __('Largeur du menu'), + 'grade' => 5, + ], + 'seoVersion' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Générer une version pour les moteurs de recherche'), + ], + 'seoRobots' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Autoriser le parcours par les moteurs de recherche'), + ], + 'seoDescription' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Meta tag Description'), + ], + 'seoKeywords' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Meta tag Keywords'), + ], + 'seoBaseURL' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('URL de base'), + 'grade' => 5, + ], + 'seoAdvanced' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Données SEO par page'), + 'grade' => 5, + 'fileFilter' => [ + 'name' => __('Fichier Excel').' (.xlsx)', + 'extensions' => '*.xlsx', + ], + ], + 'mobileNavigationType' => [ + 'type' => 'combo', + 'default' => 'book', + 'editable' => true, + 'label' => __('Mode de navigation'), + 'grade' => 5, + 'datas' => [ + 'book' => __('Normal (automatique)'), + 'landscape' => __('Normal (double page)'), + 'portrait' => __('Normal (une page)'), + 'mobilefirst' => __('Mobile first'), + 'tab' => __('Magazine tablette'), + ], + ], + 'mobileTransitions' => [ + 'type' => 'combo', + 'default' => 'flip3d', + 'editable' => true, + 'label' => __('Transitions entre les pages'), + 'grade' => 3, + 'datas' => [ + 'none' => __('Aucune transition'), + 'fade' => __('Opacité'), + 'slide' => __('Glisser'), + 'flip' => __('Tourner (rigide)'), + 'flip3d' => __('Tourner (souple)'), + ], + ], + 'mobileTransitionDuration' => [ + 'type' => 'float', + 'default' => 0.5, + 'editable' => true, + 'label' => __('Durée de la transition'), + ], + 'mobileTransitionDurationSlide' => [ + 'type' => 'float', + 'default' => 0, + 'editable' => true, + 'label' => __('Durée de la transition (fade, slide)'), + 'hint' => __('Laisser à zéro pour utiliser la valeur générale'), + ], + 'forceWhiteBackground' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Ajouter un fond blanc aux pages'), + ], + 'rasterizePages' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Ecraser les pages'), + 'hint' => '1-3,5 = 1,2,3,5', + 'grade' => 1, + ], + 'vectorPages' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Conserver les pages en vecteur'), + 'hint' => '1-3,5 = 1,2,3,5', + 'grade' => 1, + ], + 'visualisationMode' => [ + 'type' => 'combo', + 'default' => '3', + 'editable' => false, + 'label' => __('Mode de visualisation 3D'), + 'datas' => [ + 0 => __('Mode 3D'), + 1 => __('Mode 2D (caméra fixe et pages à plat)'), + 2 => __('Laisser le choix à l\'utilisateur (mode 3D par défaut)'), + 3 => __('Laisser le choix à l\'utilisateur (mode 2D par défaut)'), + ], + ], + 'antialiasReading' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => false, + 'label' => __('Amélioration de la lisibilité en mode 2D'), + ], + 'correctCenter' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Corriger les lignes blanches entre les pages'), + 'grade' => 2, + ], + 'pagesBaseAngle' => [ + 'type' => 'integer', + 'default' => 2, + 'editable' => false, + 'label' => __('Angle de base entre les pages'), + 'grade' => 3, + 'hint' => __('0 : Publication à plat').' +'.__('2 : Valeur par défaut'), + ], + 'centerBook' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Centrer la publication sur les couvertures'), + 'grade' => 2, + ], + 'extraXSpace' => [ + 'type' => 'integer', + 'default' => 0, + 'editable' => true, + 'label' => __('Marge supplémentaire horizontale'), + 'grade' => 3, + ], + 'mobileExtraXSpace' => [ + 'type' => 'integer', + 'default' => 0, + 'editable' => true, + 'label' => __('Marge supplémentaire horizontale'), + 'grade' => 3, + ], + 'extraYSpace' => [ + 'type' => 'integer', + 'default' => 0, + 'editable' => true, + 'label' => __('Marge supplémentaire verticale'), + 'grade' => 3, + ], + 'viewMode' => [ + 'type' => 'combo', + 'default' => '0', + 'editable' => false, + 'label' => __('Mode de visualisation (beta)'), + 'datas' => [ + 0 => __('Classique'), + 1 => __('Diaporama'), + ], + 'grade' => 5, + ], + 'dynamicBackgroundColor' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => 'Couleur de fond dynamique', + 'grade' => 3, + ], + 'svgToCanvas' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer le rendu svgtocanvas'), + ], + 'svgToCanvasUpscale' => [ + 'type' => 'float', + 'default' => 1, + 'editable' => true, + 'label' => __('Upscale de la fonction svgtocanvas'), + ], + 'svgTextMethod' => [ + 'type' => 'combo', + 'default' => 'pdftocairo', + 'editable' => true, + 'label' => __('Méthode d\'extraction des textes en SVG'), + 'datas' => [ + 'pdf' => __('Cairo'), + 'mu' => __('Mu'), + ], + ], + 'textsThickness' => [ + 'type' => 'float', + 'default' => 1, + 'editable' => true, + 'label' => __('Epaisseur des textes'), + ], + 'textsThicknessPages' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Appliquer l\'épaisseur des texte sur les pages'), + ], + 'imageFormat' => [ + 'type' => 'combo', + 'default' => 'jpg', + 'editable' => true, + 'datas' => [ + 'jpg' => 'JPEG', + 'png' => 'PNG', + ], + 'grade' => 2, + 'label' => __('Format des images'), + ], + 'maxResolution' => [ + 'type' => 'combo', + 'default' => 300, + 'editable' => true, + 'datas' => [ + 300 => '300dpi', + 150 => '150dpi', + 125 => '125dpi', + 100 => '100dpi', + ], + 'grade' => 2, + 'label' => __('Résolution maximale des pages'), + ], + 'JPEGQuality' => [ + 'type' => 'integer', + 'default' => 85, + 'editable' => true, + 'grade' => 2, + 'label' => __('Qualité JPEG'), + ], + 'rasterizeOnSafari' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Ecraser les pages pour Safari (Mac OS)'), + 'grade' => 1, + ], + 'performance3DMode' => [ + 'type' => 'combo', + 'datas' => [ + 'auto' => __('Tester la machine'), + 'highPerf' => __('Haute'), + 'lowPerf' => __('Moyenne'), + 'veryLowPerf' => __('Basse'), + ], + 'default' => 'auto', + 'editable' => true, + 'label' => __('Performance de la 3D'), + 'grade' => 1, + ], + 'tooltipTimer' => [ + 'type' => 'float', + 'default' => 3, + 'editable' => true, + 'label' => __('Temps maximum d\'apparition des infos-bulles (en secondes)'), + ], + 'mobilePlugins' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Plugin'), + 'grade' => 5, + ], + 'preload' => [ + 'type' => 'integer', + 'default' => 16, + 'editable' => false, + 'label' => __('Nombre de pages à précharger'), + 'grade' => 3, + ], + 'maxPages' => [ + 'type' => 'integer', + 'default' => 0, + 'editable' => true, + 'label' => __('Nombre de pages maximal affiché à l\'ouverture du fluidbook (pas de limite = 0)'), + 'grade' => 3, + ], + 'pages' => [ + 'type' => 'integer', + 'default' => 0, + 'editable' => false, + 'label' => __('Nombre de pages'), + ], + 'width' => [ + 'type' => 'float', + 'default' => 0, + 'editable' => false, + 'label' => __('Largeur'), + ], + 'height' => [ + 'type' => 'float', + 'default' => 0, + 'editable' => false, + 'label' => __('Hauteur'), + ], + 'navOrder' => [ + 'type' => 'textarea', + 'default' => 'index, chapters, search, print, friend, bookmark, pdf, notes, archives, basket, fullscreen, sound, 3d, extra, extra1, extra2, extra3, extra4, extra5, help, lang', + 'editable' => true, + 'label' => __('Ordre des icônes dans la nav'), + 'grade' => 3, + ], + 'navOrderH' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Ordre des icônes dans la nav').' ('.__('Si différente').')', + 'grade' => 3, + ], + 'mobileNavScale' => [ + 'type' => 'integer', + 'default' => 100, + 'editable' => true, + 'label' => __('Taille du menu (en %)'), + 'grade' => 3, + ], + 'menuBreakpoint' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Breakpoint burger menu'), + 'hint' => 'Par défaut 1023px', + 'grade' => 3, + ], + 'afterSearchDisplayForHTML' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Afficher l\'image après le moteur de recherche sur la version HTML5'), + 'grade' => 1, + ], + 'navExtraImage' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Image pour navigation'), + 'fileFilter' => [ + 'name' => __('Images').' (*.svg, *.jpg, *.png, *.gif)', + 'extensions' => '*.svg;*.jpg;*.png;*.gif', + ], + ], + 'navExtraImageMobile' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Image pour mobile'), + 'fileFilter' => [ + 'name' => __('Images').' (*.svg, *.jpg, *.png, *.gif)', + 'extensions' => '*.svg;*.jpg;*.png;*.gif', + ], + ], + 'navExtraLink' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('URL'), + ], + 'navExtraTooltip' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Infobulle ou label'), + ], + 'navExtraIcon1' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Icône supplémentaire').' 1', + 'fileFilter' => [ + 'name' => __('Images').' (*.svg, *.jpg, *.png, *.gif)', + 'extensions' => '*.svg;*.jpg;*.png;*.gif', + ], + ], + 'navExtraType1' => [ + 'type' => 'combo', + 'datas' => [ + 'icon' => __('Icône + Label'), + 'image' => __('Image'), + ], + 'default' => 'icon', + 'editable' => true, + 'label' => __('Type'), + ], + 'navExtraLink1' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('URL').' 1', + ], + 'navExtraVisibility1' => [ + 'type' => 'combo', + 'datas' => [ + 'horizontal' => __('Navigation horizontale'), + 'burger' => __('Navigation burger'), + 'both' => __('Navigations horizontale et burger'), + ], + 'default' => 'both', + 'editable' => true, + 'label' => __('Visible').' 1', + ], + 'navExtraIcon2' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Icône supplémentaire').' 2', + 'fileFilter' => [ + 'name' => __('Images').' (*.svg, *.jpg, *.png, *.gif)', + 'extensions' => '*.svg;*.jpg;*.png;*.gif', + ], + ], + 'navExtraType2' => [ + 'type' => 'combo', + 'datas' => [ + 'icon' => __('Icône + Label'), + 'image' => __('Image'), + ], + 'default' => 'icon', + 'editable' => true, + 'label' => __('Type'), + ], + 'navExtraLink2' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('URL').' 2', + ], + 'navExtraVisibility2' => [ + 'type' => 'combo', + 'datas' => [ + 'horizontal' => __('Navigation horizontale'), + 'burger' => __('Navigation burger'), + 'both' => __('Navigations horizontale et burger'), + ], + 'default' => 'both', + 'editable' => true, + 'label' => __('Visible').' 2', + ], + 'navExtraIcon3' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Icône supplémentaire').' 3', + 'fileFilter' => [ + 'name' => __('Images').' (*.svg, *.jpg, *.png, *.gif)', + 'extensions' => '*.svg;*.jpg;*.png;*.gif', + ], + ], + 'navExtraType3' => [ + 'type' => 'combo', + 'datas' => [ + 'icon' => __('Icône + Label'), + 'image' => __('Image'), + ], + 'default' => 'icon', + 'editable' => true, + 'label' => __('Type'), + ], + 'navExtraLink3' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('URL').' 3', + ], + 'navExtraVisibility3' => [ + 'type' => 'combo', + 'datas' => [ + 'horizontal' => __('Navigation horizontale'), + 'burger' => __('Navigation burger'), + 'both' => __('Navigations horizontale et burger'), + ], + 'default' => 'both', + 'editable' => true, + 'label' => __('Visible').' 3', + ], + 'navExtraIcon4' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Icône supplémentaire').' 4', + 'fileFilter' => [ + 'name' => __('Images').' (*.svg, *.jpg, *.png, *.gif)', + 'extensions' => '*.svg;*.jpg;*.png;*.gif', + ], + ], + 'navExtraType4' => [ + 'type' => 'combo', + 'datas' => [ + 'icon' => __('Icône + Label'), + 'image' => __('Image'), + ], + 'default' => 'icon', + 'editable' => true, + 'label' => __('Type'), + ], + 'navExtraLink4' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('URL').' 4', + ], + 'navExtraVisibility4' => [ + 'type' => 'combo', + 'datas' => [ + 'horizontal' => __('Navigation horizontale'), + 'burger' => __('Navigation burger'), + 'both' => __('Navigations horizontale et burger'), + ], + 'default' => 'both', + 'editable' => true, + 'label' => __('Visible').' 4', + ], + 'navExtraIcon5' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Icône supplémentaire').' 5', + 'fileFilter' => [ + 'name' => __('Images').' (*.svg, *.jpg, *.png, *.gif)', + 'extensions' => '*.svg;*.jpg;*.png;*.gif', + ], + ], + 'navExtraType5' => [ + 'type' => 'combo', + 'datas' => [ + 'icon' => __('Icône + Label'), + 'image' => __('Image'), + ], + 'default' => 'icon', + 'editable' => true, + 'label' => __('Type'), + ], + 'navExtraLink5' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('URL').' 5', + ], + 'navExtraVisibility5' => [ + 'type' => 'combo', + 'datas' => [ + 'horizontal' => __('Navigation horizontale'), + 'burger' => __('Navigation burger'), + 'both' => __('Navigations horizontale et burger'), + ], + 'default' => 'both', + 'editable' => true, + 'label' => __('Visible').' 5', + ], + 'mobileBottomNav' => [ + 'type' => 'text', + 'default' => '', + 'editable' => 'true', + 'label' => __('Barre de boutons en bas'), + 'hint' => __('Identifiants des boutons séparés par des virgules'), + ], + 'landingPage' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Landing Page content'), + 'grade' => 3, + ], + 'fullscreen' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer le mode plein-écran'), + ], + 'fullscreenAuto' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Lancer la publication en mode plein écran (lorsque possible)'), + ], + 'bookmark' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer les marques-pages'), + ], + 'bookmarkView' => [ + 'type' => 'combo', + 'datas' => [ + 'small' => __('Réduit'), + 'large' => __('Complet'), + ], + 'default' => 'small', + 'editable' => true, + 'label' => __('Menu des marques-pages'), + ], + 'bookmarkFunctionsMainMenu' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Fonctions vers menus généraux'), + 'hint' => __('Les fonctions des marques pages (Télécharger, Imprimer, Envoyer) dirigent vers les menus généraux'), + ], + 'bookmarkEmpty' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Bouton pour effacer les marques-pages'), + ], + 'bookmarkSendEnable' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer l\'envoi des marques-pages par e-mail'), + ], + 'bookmark_email_title' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Titre de l\'email').' "'.__('Envoyer à un ami').'"', + 'hint' => __('Laisser vide pour utiliser la valeur par défaut'), + ], + 'bookmark_email_body' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Corps de l\'email').' "'.__('Envoyer à un ami').'"', + 'hint' => __('Laisser vide pour utiliser la valeur par défaut'), + ], + 'bookmarkPrint' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Activer l\'impression des marques-pages'), + ], + 'bookmarkCornerSize' => [ + 'type' => 'integer', + 'default' => 8, + 'editable' => true, + 'label' => __('Taille des marques-pages'), + 'hint' => __('Taille relative à la largeur de la page'), + ], + 'bookmarkOffset' => [ + 'type' => 'integer', + 'default' => 0, + 'editable' => true, + 'label' => __('Décaler de x pixels vers l\'intérieur'), + ], + 'bookmarkPermanentIcon' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Afficher l\'icône en permanance'), + ], + 'bookmarkBlinkOnPageChange' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Faire clignoter le marque page à l\'apparition de la page'), + ], + 'bookmarkDisablePages' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Désactiver les marques-pages sur ces pages'), + 'hint' => '1-3,5 = 1,2,3,5', + 'grade' => 1, + ], + 'bookmarkUsePDF' => [ + 'type' => 'combo', + 'default' => 'pages', + 'editable' => true, + 'label' => __('PDF à utiliser pour l\'envoi ou le téléchargement de pages marquées'), + 'datas' => [ + 'pages' => __('PDF des pages'), + 'download' => __('PDF de remplacement'), + 'thumbnails' => __('PDF des miniatures'), + ], + ], + 'help' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer l\'aide'), + ], + 'helpStartup' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Afficher l\'aide au démarrage'), + ], + 'helpStartupTime' => [ + 'type' => 'integer', + 'default' => 15, + 'editable' => true, + 'label' => __('Temps d\'affichage en secondes'), + ], + 'helpBookmarks' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Améliorer l\'aide des marques-pages'), + ], + 'helpArrowTooltip' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Bulle affichée au niveau de la flèche de droite'), + 'grade' => 5, + ], + 'landscapeWarning' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Avertissement affiché sur mobile au chargement de la publication'), + 'grade' => 5, + 'embed' => false, + ], + 'indexAutoScroll' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => false, + 'label' => __('Activer le scroll automatique'), + ], + 'pdfThumbnails' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('PDF utilisé pour générer les miniatures'), + 'grade' => 1, + 'fileFilter' => [ + 'name' => __('Document PDF').' (*.pdf)', + 'extensions' => '*.pdf', + ], + ], + 'indexMessage' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Message en haut'), + 'grade' => 1, + 'hint' => __('Message en haut de la vue index'), + ], + 'print' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer l\'impression'), + ], + 'printFullBrochure' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Autoriser l\'impression de la brochure complète'), + ], + 'printPageRange' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Activer l\'option pour imprimer une plage de pages'), + ], + 'search' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer le moteur de recherche'), + ], + 'searchFullBurger' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Afficher le burger menu complet à l\'ouverture de la recheche'), + ], + 'ignoreWordLimit' => [ + 'type' => 'integer', + 'default' => 3, + 'editable' => true, + 'label' => __('Ignorer les mots de moins de X caractères'), + ], + 'ignoreSearch' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Mots à ignorer'), + 'hint' => __('Liste des mots à ignorer séparés par des virgules'), + 'grade' => 5, + ], + 'ignoreSearchSeparators' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Caractères à ne pas considérer comme un séparateur de mot'), + ], + 'searchWordSelectionAlgorithm' => [ + 'type' => 'combo', + 'editable' => true, + 'default' => 'begins', + 'datas' => [ + 'begins' => __('mot commençant par la requête'), + 'exact' => __('mot correspondant exactement à la requête'), + 'contains' => __('mot contenant la requête'), + 'expression' => __('expression exacte'), + ], + 'label' => __('Algorithme de sélection des occurences'), + ], + 'searchPageSelectionAlgorithm' => [ + 'type' => 'combo', + 'editable' => true, + 'default' => 'AND', + 'datas' => [ + 'AND' => __('les double-pages qui contiennent tous les mots recherchés (ET logique)'), + 'OR' => __('les double-page qui contiennent un des mots recherché (OU logique)'), + ], + 'label' => __('Algorithme de sélection des résultats'), + ], + 'highlightResults' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Surligner les résultats'), + ], + 'highlightAllOccurences' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Surligner toutes les occurences'), + 'hint' => __('Même sur les pages non considérées comme un résultat'), + ], + 'searchShowNoResultsPages' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Afficher les pages sans résultats'), + ], + 'textExtraction' => [ + 'type' => 'combo', + 'default' => 'pdfbox', + 'editable' => true, + 'label' => __('Méthode d\'extraction des textes'), + 'datas' => [ + 'pdfbox' => __('PDFBox'), + 'poppler' => __('Poppler'), + 'fluidbook' => __('Fluidbook (expérimentation basée sur PDFBox)'), + ], + ], + 'soundTheme' => [ + 'type' => 'combo', + 'default' => 'classic', + 'editable' => true, + 'label' => __('Thème sonore'), + 'datas' => [ + '' => __('Pas de son'), + 'classic' => __('Classique'), + 'heavy' => __('Papier épais'), + 'light' => __('Papier fin'), + 'silent' => __('Silencieux'), + 'woosh' => __('Woosh'), + ], + ], + 'soundOn' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer les effets sonores à l\'ouverture'), + ], + 'ambientSound' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => false, + 'label' => __('Ambiance sonore'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Fichier sonore').' (*.mp3, *.wav)', + 'extensions' => '*.mp3;*.wav', + ], + ], + 'ambientSoundVolume' => [ + 'type' => 'integer', + 'default' => 50, + 'editable' => false, + 'label' => __('Volume de l\'ambiance sonore'), + 'min' => 0, + 'max' => 100, + ], + 'pdf' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer les fonctions de téléchargement'), + ], + 'pdfName' => [ + 'type' => 'text', + 'default' => 'document.pdf', + 'editable' => true, + 'label' => __('Nom du fichier PDF'), + ], + 'pdfReplace' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('PDF de remplacement'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Document PDF').' (*.pdf)', + 'extensions' => '*.pdf', + ], + ], + 'pdfCompress' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Compression du fichier PDF'), + ], + 'pdfComplex' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Téchargement de PDF avancé'), + 'hint' => __('Permet à l\'utilisateur de sélectionner les pages qu\'il souhaite télécharger'), + 'grade' => 3, + ], + 'pdfComplexShowCurrent' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Afficher les pages courrantes'), + 'grade' => 3, + ], + 'zoomClick' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Cliquer sur les pages pour zoomer'), + ], + 'zoomWheel' => [ + 'type' => 'combo', + 'default' => 'wheel', + 'editable' => true, + 'label' => __('Zoom molette'), + 'datas' => [ + 'disabled' => __('Désactivé'), + 'wheel' => __('Molette'), + 'ctrlwheel' => __('Ctrl+Molette'), + ], + ], + 'zoom' => [ + 'type' => 'integer', + 'default' => 200, + 'editable' => true, + 'label' => __('Zoom par défaut (atteint au clic)'), + ], + 'zoomw' => [ + 'type' => 'integer', + 'default' => 300, + 'editable' => true, + 'label' => __('Zoom maximal (atteint à l\'aide de la molette)'), + ], + 'zoomMouseMoveMode' => [ + 'type' => 'combo', + 'default' => 'move', + 'editable' => true, + 'label' => __('Mode de déplacement des pages zoomées (souris)'), + 'datas' => [ + 'move' => __('Bouger la souris'), + __('dragndrop') => __('Drag & drop'), + ], + ], + 'hideHeaderOnZoom' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Cacher le menu lors du zoom'), + ], + 'sliderImage' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Image pour le slider'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Images').' (*.svg, *.jpg, *.png, *.gif)', + 'extensions' => '*.svg;*.jpg;*.png;*.gif', + ], + ], + 'tagcommander_id' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => 'Tag commander ID', + 'grade' => 3, + ], + 'tagcommander_scriptname' => [ + 'type' => 'text', + 'default' => 'tc_Multisite_Head.js,tc_Multisite_Analytics.js,tc_Multisite_Medias.js', + 'editable' => true, + 'label' => 'Nom du script Tagcommander', + 'grade' => 3, + ], + 'tagcommander_prod' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => 'Production', + 'grade' => 3, + ], + 'tagcommander_plan' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => 'Plan de taggage "Tag commander"', + 'grade' => 3, + ], + 'tagcommander_default_vars' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => 'Variables par défaut', + 'grade' => 3, + ], + 'anchorsAliases' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Alias des ancres'), + ], + 'stats_score' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Afficher les scores dans les rapports'), + 'grade' => 5, + ], + 'stats_exclude_ip' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Exclure les IP suivantes des statistiques'), + 'grade' => 3, + 'hint' => __('Indiquer une adresse ip de la forme www.xxx.yyy.zzz par ligne'), + ], + 'relay_url_params' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Relayer les paramètres d\'url dans les liens sortants'), + 'grade' => 3, + ], + 'gtag_additional_code' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Code additionnel Google Tag Manager'), + ], + 'googleAnalyticsCustom' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Code Stats personnalisé (placé avant fermeture de head)'), + ], + 'statsCustom' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Code Stats personnalisé (placé avant fermeture du body)'), + ], + 'xiti' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Code XiTi global'), + ], + 'xiti_page' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Modèle code xiti (pour tags relatifs aux pages)'), + ], + 'chaptersCaptionDisplay' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Afficher le titre "Sommaire" dans la popup'), + 'grade' => 3, + ], + 'chaptersFontSize' => [ + 'type' => 'integer', + 'default' => 100, + 'min' => 50, + 'max' => 120, + 'editable' => true, + 'label' => __('Taille du texte des élements du sommaire'), + 'hint' => 'En % par rapport à la taille normale', + 'grade' => 3, + ], + 'displayChaptersIcon' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Affiche l\'icône du sommaire'), + 'grade' => 1, + ], + 'displayChaptersPopup' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Always display chapters in a popup'), + 'grade' => 1, + ], + 'displayChaptersAtStart' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Afficher le sommaire au chargement de la publication'), + 'grade' => 3, + ], + 'chaptersPage' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Faire pointer le sommaire sur la page'), + 'grade' => 3, + 'hint' => __('Laisser vide pour utiliser le sommaire classique'), + 'size' => 5, + ], + 'chaptersPosition' => [ + 'type' => 'combo', + 'default' => 'center', + 'editable' => false, + 'label' => __('Position du sommaire'), + 'datas' => [ + 'center' => __('Centré'), + 'chaptersIcon' => __('Aligné sur l\'icône'), + ], + ], + 'chaptersLevelLimit' => [ + 'type' => 'integer', + 'default' => 5, + 'editable' => true, + 'label' => __('Limiter à x niveaux'), + ], + 'chaptersCascade' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Sommaire en cascade'), + 'grade' => 3, + ], + 'chaptersPagesNumber' => [ + 'type' => 'combo', + 'default' => 'virtual', + 'editable' => true, + 'label' => __('Numérotation du sommaire'), + 'datas' => [ + 'virtual' => __('Virtuelle'), + 'physical' => __('Physique'), + ], + ], + 'chaptersColMaxWidth' => [ + 'type' => 'integer', + 'default' => 300, + 'editable' => true, + 'label' => __('Largeur max d\'une colonne'), + 'grade' => 3, + ], + 'chaptersColumns' => [ + 'type' => 'integer', + 'default' => 1, + 'editable' => true, + 'label' => __('Afficher le sommaire sur x colonne(s)'), + 'grade' => 3, + ], + 'displayChaptersLine' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => false, + 'label' => __('Affiche une ligne entre le label et le numéro de page'), + 'grade' => 5, + ], + 'chaptersIndent' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Indenter les éléments (pour les sommaires à plat)'), + ], + 'externalChaptersHTML' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Sommaire personnalisé'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Archive ZIP').' (*.zip)', + 'extensions' => '*.zip', + ], + 'hint' => __('Laisser vide pour utiliser le sommaire classique'), + ], + 'mobileChaptersStyle' => [ + 'type' => 'combo', + 'default' => 'classic', + 'editable' => true, + 'label' => __('Style des chapitres'), + 'datas' => [ + 'classic' => __('Classique'), + 'ina' => __('INA'), + ], + ], + 'tabsHTML5' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Fichier d\'onglets').' (SVG, ZIP)', + 'grade' => 3, + 'hint' => __('Charger un zip rendra les options ci-dessous inopérantes'), + 'fileFilter' => [ + 'name' => __('Fichier onglets').' (*.svg, *.zip)', + 'extensions' => '*.svg;*.zip', + ], + ], + 'tabsPages' => [ + 'type' => 'text', + 'label' => __('Pages des onglets'), + 'editable' => true, + 'default' => '', + 'grade' => 5, + 'hint' => __('Numéros de pages séparas par une virgule'), + ], + 'tabsSections' => [ + 'type' => 'text', + 'label' => __('Sections des onglets'), + 'editable' => true, + 'default' => '', + 'grade' => 5, + 'hint' => __('Numéros de pages séparés par une virgule'), + ], + 'tabsPagesNumbers' => [ + 'type' => 'combo', + 'label' => __('Numérotation utilisée'), + 'editable' => true, + 'default' => 'virtual', + 'grade' => 5, + 'datas' => [ + 'virtual' => __('Virtuelle'), + 'physical' => __('Physique'), + ], + ], + 'tabsDisabledOnPages' => [ + 'type' => 'text', + 'label' => __('Onglets inactifs sur les pages'), + 'editable' => true, + 'default' => '', + 'grade' => 5, + 'hint' => '1-3,5 = 1,2,3,5', + ], + 'tabsSide' => [ + 'type' => 'combo', + 'label' => __('Position des onglets'), + 'editable' => true, + 'default' => 'right', + 'grade' => 5, + 'datas' => [ + 'left' => __('Gauche'), + 'right' => __('Droite'), + ], + ], + 'tabsMargin' => [ + 'type' => 'float', + 'label' => __('Marge des onglets'), + 'editable' => true, + 'default' => -10, + 'grade' => 5, + 'hint' => __('Une marge négative = les onglets passent sous la publication'), + ], + 'tabsHideOnPages' => [ + 'type' => 'text', + 'label' => __('Cacher les onglets sur les pages'), + 'editable' => true, + 'default' => '', + 'grade' => 5, + 'hint' => '1-3,5 = 1,2,3,5', + ], + 'tabsHideOnCover' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Cacher les onglets sur la couverture'), + 'grade' => 5, + ], + 'tabsHideOnLastPage' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Cacher les onglets sur la dernière page'), + 'grade' => 5, + ], + 'tabsHideEdges' => [ + 'type' => 'combo', + 'label' => __('Masquer les bordures du fluidbook'), + 'editable' => true, + 'default' => 'right', + 'grade' => 5, + 'datas' => [ + 'none' => __('Aucune'), + 'left' => __('Gauche'), + 'right' => __('Droite'), + 'both' => __('Les deux'), + ], + ], + '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.', + ], + 'tabsLinkWidth' => [ + 'type' => 'float', + 'label' => __('Largeur des onglets'), + 'editable' => true, + 'default' => 30, + 'grade' => 5, + 'hint' => __('Largeur réservée pour les onglets et largeur de la zone cliquable des liens'), + ], + 'tabsHideWhenOverlapingArrows' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Cacher les onglets lorsqu\'ils passent sous les flèches de navigation'), + 'grade' => 5, + ], + 'tabsHideOnPortrait' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Cacher les onglets lorsque le fluidbook est en mode portrait'), + 'grade' => 5, + ], + 'tabsHideOnZoom' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Cacher les onglets lorsque le fluidbook est zoomé'), + 'grade' => 5, + ], + 'permanentLinks' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => false, + 'label' => __('Liens visibles en permanence'), + 'grade' => 3, + ], + 'mobileLinksRevealAnim' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Animer les liens après un changement de page'), + 'grade' => 3, + ], + 'linkBlinkTime' => [ + 'type' => 'float', + 'default' => 1, + 'editable' => true, + 'label' => __('Temps d\'apparition du lien à l\'ouverture de la page (en secondes)'), + ], + 'linkBlinkRepetition' => [ + 'type' => 'integer', + 'default' => 1, + 'editable' => true, + 'label' => __('Nombre de clignotement lors de l\'apparition des liens'), + ], + 'openLinkAtStartup' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Déclencher un lien à l\'ouverture du fluidbook'), + ], + 'customLinkClass' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Classe pour les liens personnalisés'), + 'grade' => 5, + ], + 'ignoreLinksTypes' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Ignorer les liens de type'), + 'hint' => __('Liste des numéros séparés par des virgules'), + 'grade' => 5, + ], + 'mobileIgnoreBackgroundLinks' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Ignorer les liens de background'), + ], + 'linkTooltipManager' => [ + 'type' => 'text', + 'default' => '', + 'editable' => false, + 'label' => __('Gestionnaire des info-bulles'), + 'grade' => 5, + ], + 'linkCornerSize' => [ + 'type' => 'integer', + 'default' => 10, + 'editable' => false, + 'label' => __('Taille des liens de coins de page'), + 'hint' => __('Pourcentage de la largeur de la page'), + ], + 'linkTooltipMaxWidth' => [ + 'type' => 'integer', + 'default' => 140, + 'editable' => true, + 'label' => __('Largeur max des infobulles des liens de type "infobulle"'), + ], + 'linkTracker' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Tracking des liens'), + 'grade' => 5, + ], + 'linkTrackerRegexp' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Tracking des liens applicables aux liens du domaine'), + 'grade' => 5, + ], + 'linkFilePrefix' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Préfixer les liens de téléchargement'), + ], + 'textPopupStylesheet' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Feuille de style des popups de texte'), + 'fileFilter' => [ + 'name' => __('Feuille de style').' (.css)', + 'extensions' => '*.css', + ], + ], + 'textPopupWidth' => [ + 'type' => 'integer', + 'default' => 600, + 'editable' => true, + 'label' => __('Largeur optimale des popups'), + ], + 'iframePopupMaxWidth' => [ + 'type' => 'integer', + 'default' => 0, + 'editable' => true, + 'label' => __('Largeur maximale des popups iframe'), + ], + 'OAMChromeFactor' => [ + 'type' => 'float', + 'default' => 1, + 'editable' => true, + 'label' => __('Facteur OAM Chrome'), + ], + 'OAMIEFactor' => [ + 'type' => 'float', + 'default' => 1, + 'editable' => true, + 'label' => __('Facteur OAM IE11'), + ], + 'PDFRenderer' => [ + 'type' => 'combo', + 'datas' => [ + 'native' => __('Navigateur'), + 'pdfjs' => 'PDF.js', + 'pdfjs-legacy' => 'PDF.js (legacy)', + ], + 'default' => 'native', + 'editable' => true, + 'label' => __('Rendu des PDF (téléchargement)'), + ], + 'PDFRendererIframe' => [ + 'type' => 'combo', + 'datas' => [ + 'native' => __('Navigateur'), + 'pdfjs' => 'PDF.js', + 'pdfjs-legacy' => 'PDF.js (legacy)', + 'svg' => __('Ecraser en SVG'), + ], + 'default' => 'native', + 'editable' => true, + 'label' => __('Rendu des PDF (iframes)'), + ], + 'PDFJSCSS' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => 'Styles PDF.js', + ], + 'inlineSlideshowLibrary' => [ + 'type' => 'combo', + 'datas' => [ + 'dummy' => 'Simple ('.__('défaut').')', + 'vacheron' => 'Vacheron', + ], + 'default' => 'dummy', + 'editable' => true, + 'grade' => 3, + 'label' => __('Librarie utilisée pour les slideshow intégrés aux pages'), + ], + 'popupSlideshowLibrary' => [ + 'type' => 'combo', + 'datas' => [ + 'splide' => 'Splide ('.__('défaut').')', + 'vacheron' => 'Vacheron', + ], + 'default' => 'splide', + 'editable' => true, + 'grade' => 3, + 'label' => __('Librarie utilisée pour les slideshow popup'), + ], + 'slideshowCaptionSize' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Taille de police de la légende du diaporama'), + 'hint' => __('Laisser vide pour utiliser la valeur par défaut'), + ], + 'inlineSlideshowTransitionDuration' => [ + 'type' => 'float', + 'default' => 0.75, + 'editable' => true, + 'label' => __('Durée de la transition des diaporamas intégrés aux pages(s)'), + ], + 'inlineSlideshowDuration' => [ + 'type' => 'float', + 'default' => 7, + 'editable' => true, + 'label' => __('Temps d\'attente des diaporamas intégrés aux pages (s)'), + ], + 'webvideoAsLocal' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Intégrer les webvidéos en local'), + ], + 'mobileVideosPath' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Chemin vers les vidéos'), + 'grade' => 5, + ], + 'brightcovePlayerId' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Brightcove Player Id'), + 'grade' => 3, + ], + 'brightcovePlayerSecret' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Brightcove Player Secret'), + 'grade' => 3, + ], + 'bigPlayImage' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Image pour le bouton "Big Play"'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Images').' (*.svg, *.jpg, *.png, *.gif)', + 'extensions' => '*.svg;*.jpg;*.png;*.gif', + ], + ], + 'audioPlayerTheme' => [ + 'type' => 'combo', + 'default' => 'native', + 'editable' => true, + 'label' => __('Apparence du lecteur audio'), + 'datas' => [ + 'native' => __('Apparence native du navigateur'), + 'invisible' => __('Zone cliquable invisible'), + 'redbull' => __('Circulaire'), + ], + ], + 'downloadPortionPDF' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => 'PDF utilisé pour le téléchargement des extraits', + ], + 'downloadPortionZoom' => [ + 'type' => 'integer', + 'default' => 8, + 'editable' => true, + 'label' => __('Zoom des images extraites'), + ], + 'product_zoom_references' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Références produits'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Liste de produits'), + 'extensions' => ' (*.xml, *.xlsx)', + ], + 'hint' => __('Fichier contenant les références produits'), + 'dir' => 'commerce', + ], + 'product_zoom_buttons_order' => [ + 'type' => 'combo', + 'datas' => [ + 'right' => __('De la droite vers la gauche'), + 'left' => __('De la gauche vers la droite'), + ], + 'editable' => true, + 'grade' => 3, + 'default' => 'right', + 'label' => __('Order des boutons'), + ], + 'product_zoom_label_1' => [ + 'type' => 'text', + 'label' => __('Label du bouton').' 1', + 'default' => '', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_tooltip_1' => [ + 'type' => 'text', + 'label' => __('Label de l\'infobulle').' 1', + 'default' => '', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_icon_1' => [ + 'type' => 'combo', + 'datas' => [ + 'none' => __('Aucune'), + 'nav-share' => __('Partage'), + 'icon-site' => __('Ecran'), + 'nav-download' => __('Télécharger'), + 'icon-pdf' => 'PDF', + 'icon-video' => 'Video', + 'icon-link' => __('Lien'), + 'icon-code' => __('Code'), + 'icon-qr' => __('QR code'), + 'icon-article' => __('Article'), + 'nav-basket' => __('Panier (sac)'), + 'nav-cart-caddie' => __('Panier (caddie)'), + 'nav-cart-wishlist' => __('Panier (wishlist)'), + 'icon-360' => __('360°'), + 'icon-photo' => __('Photo'), + ], + 'label' => __('Icône du bouton').' 1', + 'default' => 'click', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_action_1' => [ + 'type' => 'combo', + 'datas' => [ + 'disabled' => __('Désactiver'), + 'link' => __('Ouvrir un lien'), + 'iframe' => __('Ouvrir en iframe'), + 'copy' => __('Copier un contenu'), + 'video' => __('Web Vidéo'), + 'videofile' => __('Vidéo'), + 'videogif' => __('Vidéo (boucle, sans contrôle)'), + 'image' => __('Voir une image'), + 'addtocart' => __('Ajouter au panier'), + ], + 'label' => __('Action du bouton').' 1', + 'default' => 'disabled', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_label_2' => [ + 'type' => 'text', + 'label' => __('Label du bouton').' 2', + 'default' => '', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_tooltip_2' => [ + 'type' => 'text', + 'label' => __('Label de l\'infobulle').' 2', + 'default' => '', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_icon_2' => [ + 'type' => 'combo', + 'datas' => [ + 'none' => __('Aucune'), + 'nav-share' => __('Partage'), + 'icon-site' => __('Ecran'), + 'nav-download' => __('Télécharger'), + 'icon-pdf' => 'PDF', + 'icon-video' => 'Video', + 'icon-link' => __('Lien'), + 'icon-code' => __('Code'), + 'icon-qr' => __('QR code'), + 'icon-article' => __('Article'), + 'nav-basket' => __('Panier (sac)'), + 'nav-cart-caddie' => __('Panier (caddie)'), + 'nav-cart-wishlist' => __('Panier (wishlist)'), + 'icon-360' => __('360°'), + 'icon-photo' => __('Photo'), + ], + 'label' => __('Icône du bouton').' 2', + 'default' => 'click', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_action_2' => [ + 'type' => 'combo', + 'datas' => [ + 'disabled' => __('Désactiver'), + 'link' => __('Ouvrir un lien'), + 'iframe' => __('Ouvrir en iframe'), + 'copy' => __('Copier un contenu'), + 'video' => __('Web Vidéo'), + 'videofile' => __('Vidéo'), + 'videogif' => __('Vidéo (boucle, sans contrôle)'), + 'image' => __('Voir une image'), + 'addtocart' => __('Ajouter au panier'), + ], + 'label' => __('Action du bouton').' 2', + 'default' => 'disabled', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_label_3' => [ + 'type' => 'text', + 'label' => __('Label du bouton').' 3', + 'default' => '', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_tooltip_3' => [ + 'type' => 'text', + 'label' => __('Label de l\'infobulle').' 3', + 'default' => '', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_icon_3' => [ + 'type' => 'combo', + 'datas' => [ + 'none' => __('Aucune'), + 'nav-share' => __('Partage'), + 'icon-site' => __('Ecran'), + 'nav-download' => __('Télécharger'), + 'icon-pdf' => 'PDF', + 'icon-video' => 'Video', + 'icon-link' => __('Lien'), + 'icon-code' => __('Code'), + 'icon-qr' => __('QR code'), + 'icon-article' => __('Article'), + 'nav-basket' => __('Panier (sac)'), + 'nav-cart-caddie' => __('Panier (caddie)'), + 'nav-cart-wishlist' => __('Panier (wishlist)'), + 'icon-360' => __('360°'), + 'icon-photo' => __('Photo'), + ], + 'label' => __('Icône du bouton').' 3', + 'default' => 'click', + 'editable' => true, + 'grade' => 3, + ], + 'product_zoom_action_3' => [ + 'type' => 'combo', + 'datas' => [ + 'disabled' => __('Désactiver'), + 'link' => __('Ouvrir un lien'), + 'iframe' => __('Ouvrir en iframe'), + 'copy' => __('Copier un contenu'), + 'video' => __('Web Vidéo'), + 'videofile' => __('Vidéo'), + 'videogif' => __('Vidéo (boucle, sans contrôle)'), + 'image' => __('Voir une image'), + 'addtocart' => __('Ajouter au panier'), + ], + 'label' => __('Action du bouton').' 3', + 'default' => 'disabled', + 'editable' => true, + 'grade' => 3, + ], + 'product_share_enabled' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'grade' => '3', + 'label' => __('Activer le bouton de partage'), + ], + 'product_share_link' => [ + 'type' => 'combo', + 'default' => 'product', + 'editable' => true, + 'label' => __('Lien de partage'), + 'datas' => [ + 'product' => __('Lien du produit'), + 'page' => __('Lien vers la page du fluidbook'), + ], + ], + 'product_email_title' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Titre de l\'email').' "'.__('Envoyer à un ami').'"', + ], + 'product_email_body' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Corps de l\'email').' "'.__('Envoyer à un ami').'"', + ], + 'product_tweet' => [ + 'type' => 'textarea', + 'default' => '%short%', + 'editable' => true, + 'label' => __('Contenu Partage court'), + 'hint' => __('Contenu du partagé sur les partages courts'), + ], + 'audiodescriptionTexts' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Contenus textuels pour l\'audiodescription ou les lecteurs d\'écran'), + 'fileFilter' => [ + 'name' => __('Fichier Excel').' (.xlsx)', + 'extensions' => '*.xlsx', + ], + ], + 'audiodescriptionVoice' => [ + 'type' => 'combo', + 'datasFunc' => 'wsDroits::getTTSVoices()', + 'datas' => wsDroits::getTTSVoices(), + 'editable' => true, + 'default' => '', + 'label' => __('Voix pour l\'audiodescription'), + ], + 'splashImage' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Image'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Images').' (*.jpg, *.png)', + 'extensions' => '*.jpg;*.jpeg;*.png', + ], + ], + 'splashURL' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('URL'), + 'grade' => 3, + ], + 'splashTarget' => [ + 'type' => 'combo', + 'datas' => [ + '_self' => __('Dans la fenêtre courrante'), + '_blank' => __('Dans un nouvel onglet'), + ], + 'default' => '_self', + 'editable' => true, + 'label' => __('Ouvrir le lien'), + 'grade' => 3, + ], + 'splashMinimalTime' => [ + 'type' => 'float', + 'default' => 1, + 'editable' => true, + 'label' => __('Temps minimal d\'affichage'), + 'grade' => 3, + ], + 'notes' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => 'Activer les notes', + 'grade' => 3, + ], + 'articlesFile' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => 'Articles', + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Liste d\'articles').' (*.xml)', + 'extensions' => '*.xml', + ], + ], + 'articlesImages' => [ + 'type' => 'freefile', + 'label' => __('Images des articles'), + 'default' => '', + 'hint' => __('Les noms des fichiers doivent être les même que ceux des balises du XML'), + 'editable' => true, + 'grade' => 3, + 'dir' => 'articles', + 'multiple' => true, + ], + 'articlesShare' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer le partage'), + 'grade' => 3, + ], + 'articlesPrint' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer l\'impression'), + 'grade' => 3, + ], + 'articlesStyle' => [ + 'type' => 'combo', + 'default' => true, + 'editable' => true, + 'label' => __('Style'), + 'grade' => 3, + 'datas' => [ + 'default' => 'Défaut', + 'atlantic' => 'Atlantic', + 'harmonie-mutuelle' => 'Harmonie Mutuelle', + 'business-immo' => 'Business Immo', + ], + ], + 'articlesFont' => [ + 'type' => 'combo', + 'label' => __('Police des articles'), + 'default' => 'OpenSans', + 'datas' => [ + 'OpenSans' => 'Open Sans (défaut)', + 'Montserrat' => 'Montserrat', + 'Arial' => 'Arial, Helvetica, sans-serif (police système)', + 'sans-serif' => 'Police système sans-serif', + ], + 'editable' => true, + 'grade' => 3, + ], + 'externalArchives' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Archives'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Images').' (*.jpg, *.png)', + 'extensions' => '*.jpg;*.jpeg;*.png', + ], + ], + 'archivesLabel' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Label'), + 'grade' => 5, + ], + 'form' => [ + 'type' => 'combo', + 'default' => '', + 'editable' => true, + 'grade' => 5, + 'label' => __('Formulaire'), + 'datas' => [ + '' => __('Aucun'), + 'bulle' => 'Bulle Groupe', + 'bourbon' => 'Bourbon / Suggestions', + 'avery' => 'Avery', + ], + ], + 'cookieConsent' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Message cookie'), + ], + 'cookieConsentMessage' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Texte du consentement'), + ], + 'cookieConsentAutoclose' => [ + 'type' => 'integer', + 'default' => 0, + 'editable' => true, + 'label' => __('Masquer automatiquement après x secondes'), + ], + 'basket' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Panier activé'), + 'grade' => 5, + ], + 'basketManager' => [ + 'type' => 'combo', + 'default' => 'classic', + 'editable' => true, + 'label' => __('Manager de panier'), + 'datas' => [ + 'com.fluidbook.player.basket.BasketManager' => __('Classic'), + 'com.fluidbook.player.basket.custom.grdf.GrdfBasketManager' => 'Grdf', + 'com.fluidbook.player.basket.custom.grdf.grdf2013.GrdfBasketManager2013' => 'Grdf 2013', + 'com.fluidbook.player.basket.custom.grdf.grdf2015.GrdfBasketManager2015' => 'Grdf 2015', + 'com.fluidbook.player.basket.custom.essilor.EssilorBasketManager' => 'Essilor', + 'com.fluidbook.player.basket.custom.essilorrecap.EssilorRecapBasketManager' => 'Essilor Recap', + 'com.fluidbook.player.basket.custom.wesco.WescoBasketManager' => 'Wesco Ventes', + 'com.fluidbook.player.basket.custom.atlantic.AtlanticDownloadBasketManager' => 'Atlantic Download', + 'Remarkable' => 'Remarkable', + 'Mopec' => 'Mopec', + 'Puma' => 'Puma', + 'MIF' => 'MIF', + 'Flexipan' => 'Flexipan', + 'ZoomProductLink' => 'Zoom + lien produit (déprécié, utiliser la fonctionnalité "Zoom produits")', + 'JoueclubWishlist' => 'Wishlist Jouéclub', + 'GrandVision' => 'GrandVision', + 'GrandPavois' => 'Grand Pavois', + 'JoueclubWishlist2021' => 'Wishlist Jouéclub Noël 2021', + 'Thiriet' => 'Thiriet', + ], + 'grade' => 5, + ], + 'cartIcon' => [ + 'type' => 'combo', + 'datas' => [ + 'nav-basket' => __('Sac'), + 'nav-cart-caddie' => __('Caddie'), + 'nav-cart-wishlist' => __('Wishlist'), + ], + 'default' => 'nav-basket', + 'label' => __('Icône'), + 'editable' => true, + 'grade' => 5, + ], + 'cartLinkAppearance' => [ + 'type' => 'combo', + 'default' => 'link', + 'editable' => true, + 'label' => __('Apparence des liens panier'), + 'grade' => 3, + 'datas' => [ + 'link' => __('Lien'), + 'overlay' => __('Boutons + et - avec overlay'), + ], + ], + 'basketReferences' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Références produits'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Liste de produits'), + 'extensions' => ' (*.xml, *.xlsx)', + ], + 'hint' => __('Fichier contenant les références produits'), + 'dir' => 'commerce', + ], + 'basketImages' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Images des produits'), + 'grade' => 3, + 'multiple' => true, + 'dir' => 'commerce', + ], + 'cartHeaderImage' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Header panier'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Images').' (*.jpg, *.png)', + 'extensions' => '*.jpg;*.jpeg;*.png', + ], + 'dir' => 'commerce', + ], + 'cartHeaderMobileImage' => [ + 'type' => 'freefile', + 'default' => '', + 'editable' => true, + 'label' => __('Header panier (mobile)'), + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Images').' (*.jpg, *.png)', + 'extensions' => '*.jpg;*.jpeg;*.png', + ], + 'dir' => 'commerce', + ], + 'cartExtraSettings' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Paramètres panier'), + 'grade' => 3, + ], + 'offlineTitle' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Titre de l\'application'), + ], + 'offlineLink' => [ + 'type' => 'text', + 'default' => 'http://', + 'editable' => true, + 'label' => __('URL du Fluidbook'), + 'hint' => __('URL du fluidbook utilisée pour la version Offline (CD-ROM, clé USB, Exécutables)'), + ], + 'offlineWindowsInstallPath' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Chemin d\'installation par défaut'), + 'hint' => __('Par défaut').': %LOCALAPPDATA%/%title%', + ], + 'offlineWindowsProfilePath' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Répertoire de stockage du profile'), + 'hint' => __('Par défaut').': %LOCALAPPDATA%/%title%', + ], + 'offlineEnableAdvancedPrinting' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Activer le menu d\'impression avancée'), + ], + 'debugConsole' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Activer la console de débuggage'), + ], + 'mobilefirstFluidbookId' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => 'Identifiant du fluidbook "Mobile first"', + 'grade' => 5, + ], + 'mobilefirstBreakpoint' => [ + 'type' => 'text', + 'default' => '640', + 'editable' => true, + 'label' => 'Breakpoint du passage à la version "Mobile first" (en pixels)', + 'grade' => 5, + ], + 'phonegapId' => [ + 'type' => 'text', + 'default' => 'com.fluidbook.phonegap.$id', + 'editable' => true, + 'label' => __('Identifiant de l\'identifiant'), + 'grade' => 5, + 'hint' => __('De la forme').' com.fluidbook.phonegap.xxxxx', + ], + 'phonegapVersion' => [ + 'type' => 'text', + 'default' => '1.0.0', + 'editable' => true, + 'label' => __('Version de l\'application'), + 'grade' => 5, + 'hint' => __('De la forme').' 1.2.3', + ], + 'phonegapPlugins' => [ + 'type' => 'textarea', + 'default' => 'ChildBrowser', + 'editable' => true, + 'label' => __('Plugins Phonegap'), + 'grade' => 5, + ], + 'appScreenshots' => [ + 'type' => 'textarea', + 'default' => 'P,0 +L,2 +L,index', + 'editable' => true, + 'label' => 'Générer les screenshots', + 'grade' => 5, + 'hint' => __('Une ligne par vue à générer de la forme X,Y (X : P(ortrait) ou L(andscape), Y : numéro de page ou vue (1, index))'), + ], + 'secureURL' => [ + 'type' => 'text', + 'default' => 'http://', + 'editable' => true, + 'label' => __('URL de sécurisation'), + 'grade' => 5, + 'hint' => __('URL intérrogé pour vérifier si le visiteur à les droits pour consulter la publication'), + ], + 'secureURLRedirect' => [ + 'type' => 'text', + 'default' => 'http://', + 'editable' => true, + 'label' => __('Redirection'), + 'grade' => 5, + 'hint' => __('Si l\'authentification échoue, redirection vers cette adresse'), + ], + 'secureClientSidePassword' => [ + 'type' => 'freefile', + 'label' => 'Sécurisation par mot de passe côté client', + 'editable' => true, + 'default' => '', + 'grade' => 3, + 'fileFilter' => [ + 'name' => __('Fichier HTML').' (*.html)', + 'extensions' => '*.html', + ], + ], + 'secureClientSidePasswordCredentials' => [ + 'type' => 'textarea', + 'label' => 'Utilisateurs / mots de passe', + 'editable' => true, + 'default' => '', + 'grade' => 3, + 'hint' => 'Format user:password par ligne', + ], + 'preventRightClick' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Essayer d\'empêcher le clic droit'), + 'grade' => 1, + ], + 'restrictPrintDownload' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Paramètre de l\'url permettant de désactiver la restriction (non vide pour activer les restrictions)'), + 'grade' => 5, + 'hint' => __('Ne pas indiquer le ?'), + ], + 'restrictPrint' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Restreindre l\'impression'), + 'grade' => 5, + ], + 'restrictDownload' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Restreindre le téléchargement du pdf'), + 'grade' => 5, + ], + 'restrictSendBookmark' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Restreindre l\'envoi de marques-pages'), + 'grade' => 5, + ], + 'recaptcha' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Activer reCATPCHA v3 (clé du site)'), + ], + 'home' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Accueil de l\'interface multibrochure'), + 'grade' => 5, + ], + 'country' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Pays de la brochure'), + ], + 'multilangDisplay' => [ + 'type' => 'combo', + 'default' => 'lang', + 'editable' => true, + 'label' => __('Affichage'), + 'datas' => [ + 'lang' => __('Langue'), + 'lang_country' => __('Langue').' ('.__('Pays').')', + 'country_lang' => __('Pays').' ('.__('Langue').')', + ], + ], + 'multilang' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Langues'), + 'hint' => __('Code langue').','.__('Code pays').','.__('URL'), + ], + 'plv' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Activer le mode PLV'), + 'grade' => 3, + ], + 'plvTimer' => [ + 'type' => 'integer', + 'min' => 1, + 'max' => 60, + 'default' => 5, + 'editable' => true, + 'label' => __('Temps'), + 'grade' => 3, + ], + 'plvMode' => [ + 'type' => 'combo', + 'default' => 'first', + 'editable' => true, + 'label' => __('Arrivé à la dernière page'), + 'grade' => 3, + 'datas' => [ + 'back' => __('Remonter vers la première page'), + 'first' => __('Recommencer à la première page'), + ], + ], + 'themeEnableAfterSearch' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Afficher l\'image supplémentaire à droite du moteur de recherche'), + 'grade' => 3, + ], + 'htmlExtension' => [ + 'type' => 'text', + 'default' => 'html', + 'editable' => true, + 'label' => __('Extension des fichiers html'), + 'grade' => 5, + 'hint' => __('Ex : php, htm, html, phtml, asp, aspx'), + ], + 'actualHtmlExtension' => [ + 'type' => 'text', + 'default' => 'html', + 'editable' => false, + 'label' => __('Extension des fichiers html réellement appliquée au fluidbook'), + 'grade' => 5, + 'hint' => __('Ex : php, htm, html, phtml, asp'), + ], + 'htmlPrepend' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Code à insérer en tête des fichiers'), + 'grade' => 5, + ], + 'baseUrl' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Base de l\'url'), + 'grade' => 5, + ], + 'forceCompileOnDownload' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Forcer la compilation lors du téléchargement'), + 'grade' => 3, + ], + 'embedAllLibraries' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Intégrer toutes les bibliothèques JS'), + 'grade' => 3, + ], + 'disableDemo' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Désactiver le lien de démo'), + 'grade' => 5, + ], + 'redirectDemo' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Rediriger le lien de démo vers'), + 'grade' => 5, + ], + 'gamify_coins_pages' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Attribuer des coins lors de la visite des pages'), + ], + 'scorm_enable' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Activer SCORM'), + 'grade' => 5, + ], + 'scorm_version' => [ + 'type' => 'combo', + 'default' => '1.2', + 'editable' => true, + 'label' => __('Version du standard SCORM'), + 'grade' => 5, + 'datas' => [ + '1.2' => __('SCORM 1.2'), + '2004.3' => __('SCORM 2004 3rd edition'), + 2004 => __('SCORM 2004 4th edition'), + ], + ], + 'scorm_id' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Identifiant SCORM'), + 'grade' => 5, + ], + 'scorm_org' => [ + 'type' => 'text', + 'default' => 'ACME-ORG-1350650111249', + 'editable' => true, + 'label' => __('Organisation SCORM'), + 'grade' => 5, + ], + 'scorm_title' => [ + 'type' => 'text', + 'default' => '', + 'editable' => true, + 'label' => __('Titre SCORM'), + 'grade' => 5, + 'hint' => __('Laisser vide pour utiliser le titre de la publication'), + ], + 'scorm_variables' => [ + 'type' => 'textarea', + 'default' => '', + 'editable' => true, + 'label' => __('Variables SCORM'), + 'grade' => 5, + 'hint' => __('Laisser vide pour utiliser le titre de la publication'), + ], + 'scorm_complete_on_exit' => [ + 'type' => 'boolean', + 'default' => false, + 'label' => 'Marquer le cours comme "Complete" à la fermeture de la fenêtre', + 'editable' => true, + ], + 'scorm_complete_on_last_page' => [ + 'type' => 'boolean', + 'default' => false, + 'label' => 'Marquer le cours comme "Complete" lorsque le visiteur atteint la dernière page', + 'editable' => true, + ], + 'scorm_complete_coins' => [ + 'type' => 'integer', + 'default' => 0, + 'label' => 'Marquer le cours comme "Complete" lorsque le visiteur accumule X coins', + 'editable' => true, + ], + 'scorm_pass_on_complete' => [ + 'type' => 'boolean', + 'default' => true, + 'editable' => true, + 'label' => __('Marquer le cours comme Pass lorsqu\'il est terminé').' ('.__('SCORM 2004 seulement').')', + ], + 'scorm_score100_on_complete' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Marquer le cours comme réussi à 100% lorsqu\'il est terminé'), + ], + 'scorm_quizdata' => [ + 'type' => 'freefile', + 'editable' => true, + 'default' => '', + 'label' => __('Données de quiz'), + ], + 'scorm_score' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Activer le support du score'), + 'grade' => 5, + ], + 'scorm_score_min' => [ + 'type' => 'integer', + 'min' => 0, + 'max' => 100, + 'default' => 50, + 'editable' => true, + 'label' => __('Score minimal pour marquer le contenu comme réussi'), + 'grade' => 5, + ], + 'scorm_quiz_as_questionnaire' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Traiter les quiz comme des questionnaires (toutes les réponses sont considérées comme correctes)'), + 'grade' => 5, + ], + 'scorm_force_attempts' => [ + 'type' => 'boolean', + 'default' => false, + 'label' => __('Forcer la création d\'un "attempt" à chaque ouverture'), + 'editable' => true, + ], + 'scorm_commit_immediately' => [ + 'type' => 'boolean', + 'default' => false, + 'editable' => true, + 'label' => __('Envoyer les données immédiatement au LMS').' ('.__('Peut provoquer des ralentissement sur certains LMS').')', + ], + 'download_online' => [ + 'type' => 'boolean', + 'editable' => true, + 'default' => true, + 'label' => __('Version online - Version par défaut'), + 'grade' => 3, + ], + 'download_sharepoint' => [ + 'type' => 'boolean', + 'editable' => true, + 'default' => false, + 'label' => __('Version Sharepoint - Version par défaut'), + 'grade' => 3, + ], + 'download_scorm' => [ + 'type' => 'boolean', + 'editable' => true, + 'default' => false, + 'label' => __('Version SCORM - Version par défaut'), + 'grade' => 3, + ], + 'download_win_inss_html' => [ + 'type' => 'boolean', + 'editable' => true, + 'default' => false, + 'label' => __('Version offline - Executable Windows'), + 'grade' => 3, + ], + 'download_win_ins_html' => [ + 'type' => 'boolean', + 'editable' => true, + 'default' => false, + 'label' => __('Version offline - Installeur Auto-executable Windows'), + 'grade' => 3, + ], + 'download_win_exe_html' => [ + 'type' => 'boolean', + 'editable' => true, + 'default' => false, + 'label' => __('Version offline - ZIP Windows'), + 'grade' => 3, + ], + 'download_mac_exe_html' => [ + 'type' => 'boolean', + 'editable' => true, + 'default' => false, + 'label' => __('Version offline - Exécutable Mac OS X'), + 'grade' => 3, + ], + 'download_win_cd_html' => [ + 'type' => 'boolean', + 'editable' => true, + 'default' => false, + 'label' => __('Version offline - CD-ROM / Clé USB'), + 'grade' => 3, + ], + 'download_win_html' => [ + 'type' => 'boolean', + 'editable' => true, + 'default' => false, + 'label' => __('Version offline - HTML (Non adaptée à l\'installation sur un serveur web)'), + 'grade' => 3, + ], + 'download_precompiled' => [ + 'type' => 'boolean', + 'editable' => true, + 'default' => false, + 'label' => __('Version precompilée'), + 'grade' => 3, + ], +]; + $this->forms=[ + 'important' => [ + 'label' => __('Description de la publication'), + 'fieldsnames' => [ + 0 => 'mobileLVersion', + 1 => 'mobileVersion', + 2 => 'title', + 3 => 'url_link', + 4 => 'signature', + ], + ], + 'assets' => [ + 'label' => __('Assets'), + 'fieldsnames' => [ + 0 => 'assetsDir', + 1 => 'linksAssets', + ], + ], + 'basicStats' => [ + 'label' => __('Statistiques'), + 'fieldsnames' => [ + 0 => 'stats', + 1 => 'googleAnalytics', + 2 => 'googleTagManager', + ], + ], + 'share' => [ + 'label' => __('Fonctions de partage'), + 'fieldsnames' => [ + 0 => 'share', + 1 => '|', + 2 => 'email_title', + 3 => 'email_body', + 4 => 'email_editable', + 5 => 'askAcknowledge', + 6 => 'sendasfluidbook', + 7 => 'email_mailto', + 8 => '|', + 9 => 'facebook_title', + 10 => 'facebook_description', + 11 => 'facebook_image', + 12 => 'twitter_description', + 13 => 'friend', + 14 => 'facebook', + 15 => 'twitter', + 16 => 'whatsapp', + 17 => 'linkedin', + 18 => 'pinterest', + 19 => 'googleplus', + 20 => 'viadeo', + 21 => 'customSharer', + 22 => 'friendWidth', + 23 => 'friendHeight', + ], + ], + 'seo' => [ + 'label' => __('Optimisation pour les moteurs de recherche'), + 'fieldsnames' => [ + 0 => 'seoVersion', + 1 => 'seoRobots', + 2 => 'seoDescription', + 3 => 'seoKeywords', + 4 => 'seoBaseURL', + 5 => 'seoAdvanced', + ], + ], + '3d_mode' => [ + 'label' => __('Options de visualisation'), + 'fieldsnames' => [ + 0 => 'mobileNavigationType', + 1 => 'mobileTransitions', + 2 => 'mobileTransitionDuration', + 3 => 'mobileTransitionDurationSlide', + 4 => 'forceWhiteBackground', + 5 => 'rasterizePages', + 6 => 'vectorPages', + 7 => 'visualisationMode', + 8 => 'antialiasReading', + 9 => 'correctCenter', + 10 => 'pagesBaseAngle', + 11 => 'centerBook', + 12 => 'extraXSpace', + 13 => 'mobileExtraXSpace', + 14 => 'extraYSpace', + 15 => 'viewMode', + 16 => 'dynamicBackgroundColor', + 17 => 'svgToCanvas', + 18 => 'svgToCanvasUpscale', + 19 => 'svgTextMethod', + 20 => 'textsThickness', + 21 => 'textsThicknessPages', + 22 => 'imageFormat', + 23 => 'maxResolution', + 24 => 'JPEGQuality', + ], + ], + 'performances' => [ + 'label' => __('Performances'), + 'fieldsnames' => [ + 0 => 'rasterizeOnSafari', + 1 => 'performance3DMode', + ], + ], + 'general' => [ + 'label' => __('Fonctionnalités générales'), + 'fieldsnames' => [ + 0 => 'tooltipTimer', + 1 => 'mobilePlugins', + 2 => 'preload', + 3 => 'maxPages', + 4 => 'pages', + 5 => 'width', + 6 => 'height', + ], + ], + 'menu' => [ + 'label' => __('Menu'), + 'fieldsnames' => [ + 0 => 'navOrder', + 1 => 'navOrderH', + 2 => 'mobileNavScale', + 3 => 'menuBreakpoint', + 4 => 'afterSearchDisplayForHTML', + 5 => 'navExtraImage', + 6 => 'navExtraImageMobile', + 7 => 'navExtraLink', + 8 => 'navExtraTooltip', + 9 => 'navExtraIcon1', + 10 => 'navExtraType1', + 11 => 'navExtraLink1', + 12 => 'navExtraVisibility1', + 13 => 'navExtraIcon2', + 14 => 'navExtraType2', + 15 => 'navExtraLink2', + 16 => 'navExtraVisibility2', + 17 => 'navExtraIcon3', + 18 => 'navExtraType3', + 19 => 'navExtraLink3', + 20 => 'navExtraVisibility3', + 21 => 'navExtraIcon4', + 22 => 'navExtraType4', + 23 => 'navExtraLink4', + 24 => 'navExtraVisibility4', + 25 => 'navExtraIcon5', + 26 => 'navExtraType5', + 27 => 'navExtraLink5', + 28 => 'navExtraVisibility5', + 29 => 'mobileBottomNav', + ], + ], + 'landing' => [ + 'label' => __('Custom Landing Page'), + 'fieldsnames' => [ + 0 => 'landingPage', + ], + ], + 'fs' => [ + 'label' => __('Plein écran'), + 'fieldsnames' => [ + 0 => 'fullscreen', + 1 => 'fullscreenAuto', + ], + ], + 'bookmark' => [ + 'label' => __('Marques-pages'), + 'fieldsnames' => [ + 0 => 'bookmark', + 1 => 'bookmarkView', + 2 => 'bookmarkFunctionsMainMenu', + 3 => 'bookmarkEmpty', + 4 => 'bookmarkSendEnable', + 5 => 'bookmark_email_title', + 6 => 'bookmark_email_body', + 7 => 'bookmarkPrint', + 8 => 'bookmarkCornerSize', + 9 => 'bookmarkOffset', + 10 => 'bookmarkPermanentIcon', + 11 => 'bookmarkBlinkOnPageChange', + 12 => 'bookmarkDisablePages', + 13 => 'bookmarkUsePDF', + ], + ], + 'help' => [ + 'label' => __('Aide'), + 'fieldsnames' => [ + 0 => 'help', + 1 => 'helpStartup', + 2 => 'helpStartupTime', + 3 => 'helpBookmarks', + 4 => 'helpArrowTooltip', + 5 => 'landscapeWarning', + ], + ], + 'index' => [ + 'label' => __('Vue d\'index (vignettes)'), + 'fieldsnames' => [ + 0 => 'indexAutoScroll', + 1 => 'pdfThumbnails', + 2 => 'indexMessage', + ], + ], + 'print' => [ + 'label' => __('Impression'), + 'fieldsnames' => [ + 0 => 'print', + 1 => 'printFullBrochure', + 2 => 'printPageRange', + ], + ], + 'search' => [ + 'label' => __('Moteur de recherche'), + 'fieldsnames' => [ + 0 => 'search', + 1 => 'searchFullBurger', + 2 => 'ignoreWordLimit', + 3 => 'ignoreSearch', + 4 => 'ignoreSearchSeparators', + 5 => 'searchWordSelectionAlgorithm', + 6 => 'searchPageSelectionAlgorithm', + 7 => 'highlightResults', + 8 => 'highlightAllOccurences', + 9 => 'searchShowNoResultsPages', + 10 => 'textExtraction', + ], + ], + 'sound' => [ + 'label' => __('Effets sonores'), + 'fieldsnames' => [ + 0 => 'soundTheme', + 1 => 'soundOn', + 2 => 'ambientSound', + 3 => 'ambientSoundVolume', + ], + ], + 'downloadpdf' => [ + 'label' => __('Fonction de téléchargement'), + 'fieldsnames' => [ + 0 => 'pdf', + 1 => 'pdfName', + 2 => 'pdfReplace', + 3 => 'pdfCompress', + 4 => 'pdfComplex', + 5 => 'pdfComplexShowCurrent', + ], + ], + 'zoom' => [ + 'label' => __('Zoom'), + 'fieldsnames' => [ + 0 => 'zoomClick', + 1 => 'zoomWheel', + 2 => 'zoom', + 3 => 'zoomw', + 4 => 'zoomMouseMoveMode', + 5 => 'hideHeaderOnZoom', + ], + ], + 'slider' => [ + 'label' => __('Slider'), + 'fieldsnames' => [ + 0 => 'sliderImage', + ], + ], + 'stats' => [ + 'label' => __('Statistiques avancées'), + 'fieldsnames' => [ + 0 => 'tagcommander_id', + 1 => 'tagcommander_scriptname', + 2 => 'tagcommander_prod', + 3 => 'tagcommander_plan', + 4 => 'tagcommander_default_vars', + 5 => 'anchorsAliases', + 6 => 'stats_score', + 7 => 'stats_exclude_ip', + 8 => 'relay_url_params', + 9 => 'gtag_additional_code', + 10 => 'googleAnalyticsCustom', + 11 => 'statsCustom', + 12 => 'xiti', + 13 => 'xiti_page', + ], + ], + 'sommaire' => [ + 'label' => __('Sommaire'), + 'fieldsnames' => [ + 0 => 'chaptersCaptionDisplay', + 1 => 'chaptersFontSize', + 2 => 'displayChaptersIcon', + 3 => 'displayChaptersPopup', + 4 => 'displayChaptersAtStart', + 5 => 'chaptersPage', + 6 => 'chaptersPosition', + 7 => 'chaptersLevelLimit', + 8 => 'chaptersCascade', + 9 => 'chaptersPagesNumber', + 10 => 'chaptersColMaxWidth', + 11 => 'chaptersColumns', + 12 => 'displayChaptersLine', + 13 => 'chaptersIndent', + 14 => 'externalChaptersHTML', + 15 => 'mobileChaptersStyle', + ], + ], + 'tabs' => [ + 'label' => __('Onglets'), + 'fieldsnames' => [ + 0 => 'tabsHTML5', + 1 => 'tabsPages', + 2 => 'tabsSections', + 3 => 'tabsPagesNumbers', + 4 => 'tabsDisabledOnPages', + 5 => 'tabsSide', + 6 => 'tabsMargin', + 7 => 'tabsHideOnPages', + 8 => 'tabsHideOnCover', + 9 => 'tabsHideOnLastPage', + 10 => 'tabsHideEdges', + 11 => 'tabsPriority', + 12 => 'tabsLinkWidth', + 13 => 'tabsHideWhenOverlapingArrows', + 14 => 'tabsHideOnPortrait', + 15 => 'tabsHideOnZoom', + ], + ], + 'links' => [ + 'label' => __('Liens'), + 'fieldsnames' => [ + 0 => 'permanentLinks', + 1 => 'mobileLinksRevealAnim', + 2 => 'linkBlinkTime', + 3 => 'linkBlinkRepetition', + 4 => 'openLinkAtStartup', + 5 => 'customLinkClass', + 6 => 'ignoreLinksTypes', + 7 => 'mobileIgnoreBackgroundLinks', + 8 => 'linkTooltipManager', + 9 => 'linkCornerSize', + 10 => 'linkTooltipMaxWidth', + 11 => 'linkTracker', + 12 => 'linkTrackerRegexp', + 13 => 'linkFilePrefix', + ], + ], + 'multimedia' => [ + 'label' => __('Multimedia'), + 'fieldsnames' => [ + 0 => 'textPopupStylesheet', + 1 => 'textPopupWidth', + 2 => 'iframePopupMaxWidth', + 3 => 'OAMChromeFactor', + 4 => 'OAMIEFactor', + ], + ], + 'pdf' => [ + 'label' => 'PDF', + 'fieldsnames' => [ + 0 => 'PDFRenderer', + 1 => 'PDFRendererIframe', + 2 => 'PDFJSCSS', + ], + ], + 'slideshow' => [ + 'label' => __('Slideshow'), + 'fieldsnames' => [ + 0 => 'inlineSlideshowLibrary', + 1 => 'popupSlideshowLibrary', + 2 => 'slideshowCaptionSize', + 3 => 'inlineSlideshowTransitionDuration', + 4 => 'inlineSlideshowDuration', + ], + ], + 'videos' => [ + 'label' => __('Vidéos'), + 'fieldsnames' => [ + 0 => 'webvideoAsLocal', + 1 => 'mobileVideosPath', + 2 => 'brightcovePlayerId', + 3 => 'brightcovePlayerSecret', + 4 => 'bigPlayImage', + ], + ], + 'audio' => [ + 'label' => __('Lecteur audio'), + 'fieldsnames' => [ + 0 => 'audioPlayerTheme', + ], + ], + 'downloadportion' => [ + 'label' => __('Téléchargement d\'extraits'), + 'fieldsnames' => [ + 0 => 'downloadPortionPDF', + 1 => 'downloadPortionZoom', + ], + ], + 'product_zoom' => [ + 'label' => __('Zooms produits'), + 'fieldsnames' => [ + 0 => 'product_zoom_references', + 1 => 'product_zoom_buttons_order', + 2 => 'product_zoom_label_1', + 3 => 'product_zoom_tooltip_1', + 4 => 'product_zoom_icon_1', + 5 => 'product_zoom_action_1', + 6 => 'product_zoom_label_2', + 7 => 'product_zoom_tooltip_2', + 8 => 'product_zoom_icon_2', + 9 => 'product_zoom_action_2', + 10 => 'product_zoom_label_3', + 11 => 'product_zoom_tooltip_3', + 12 => 'product_zoom_icon_3', + 13 => 'product_zoom_action_3', + 14 => 'product_share_enabled', + 15 => 'product_share_link', + 16 => 'product_email_title', + 17 => 'product_email_body', + 18 => 'product_tweet', + ], + ], + 'accessibility' => [ + 'label' => __('Accessibilité'), + 'fieldsnames' => [ + 0 => 'audiodescriptionTexts', + 1 => 'audiodescriptionVoice', + ], + ], + 'splash' => [ + 'label' => __('Ecran de chargement'), + 'fieldsnames' => [ + 0 => 'splashImage', + 1 => 'splashURL', + 2 => 'splashTarget', + 3 => 'splashMinimalTime', + ], + ], + 'notes' => [ + 'label' => __('Notes'), + 'fieldsnames' => [ + 0 => 'notes', + ], + ], + 'articles' => [ + 'label' => __('Articles'), + 'fieldsnames' => [ + 0 => 'articlesFile', + 1 => 'articlesImages', + 2 => 'articlesShare', + 3 => 'articlesPrint', + 4 => 'articlesStyle', + 5 => 'articlesFont', + ], + ], + 'archives' => [ + 'label' => __('Archives'), + 'fieldsnames' => [ + 0 => 'externalArchives', + 1 => 'archivesLabel', + ], + ], + 'form' => [ + 'label' => __('Formulaire'), + 'fieldsnames' => [ + 0 => 'form', + ], + ], + 'privacy' => [ + 'label' => __('Respect de la vie privée'), + 'fieldsnames' => [ + 0 => 'cookieConsent', + 1 => 'cookieConsentMessage', + 2 => 'cookieConsentAutoclose', + ], + ], + 'basket' => [ + 'label' => __('Panier'), + 'fieldsnames' => [ + 0 => 'basket', + 1 => 'basketManager', + 2 => 'cartIcon', + 3 => 'cartLinkAppearance', + 4 => 'basketReferences', + 5 => 'basketImages', + 6 => 'cartHeaderImage', + 7 => 'cartHeaderMobileImage', + 8 => 'cartExtraSettings', + ], + ], + 'offline' => [ + 'label' => __('Version offline'), + 'fieldsnames' => [ + 0 => 'offlineTitle', + 1 => 'offlineLink', + 2 => 'offlineWindowsInstallPath', + 3 => 'offlineWindowsProfilePath', + 4 => 'offlineEnableAdvancedPrinting', + 5 => 'debugConsole', + ], + ], + 'mobilefirst' => [ + 'label' => __('Mobile first'), + 'fieldsnames' => [ + 0 => 'mobilefirstFluidbookId', + 1 => 'mobilefirstBreakpoint', + ], + ], + 'phonegap' => [ + 'label' => __('Applications mobile'), + 'fieldsnames' => [ + 0 => 'phonegapId', + 1 => 'phonegapVersion', + 2 => 'phonegapPlugins', + 3 => 'appScreenshots', + ], + ], + 'secure' => [ + 'label' => __('Sécurisation'), + 'fieldsnames' => [ + 0 => 'secureURL', + 1 => 'secureURLRedirect', + 2 => 'secureClientSidePassword', + 3 => 'secureClientSidePasswordCredentials', + 4 => 'preventRightClick', + 5 => 'restrictPrintDownload', + 6 => 'restrictPrint', + 7 => 'restrictDownload', + 8 => 'restrictSendBookmark', + 9 => 'recaptcha', + ], + ], + 'multibrochure' => [ + 'label' => __('Multibrochure'), + 'fieldsnames' => [ + 0 => 'home', + 1 => 'country', + 2 => 'multilangDisplay', + 3 => 'multilang', + ], + ], + 'plv' => [ + 'label' => __('Mode PLV'), + 'fieldsnames' => [ + 0 => 'plv', + 1 => 'plvTimer', + 2 => 'plvMode', + ], + ], + 'theme' => [ + 'label' => __('Options du thème'), + 'fieldsnames' => [ + 0 => 'themeEnableAfterSearch', + ], + ], + 'package' => [ + 'label' => __('Option d\'export'), + 'fieldsnames' => [ + 0 => 'htmlExtension', + 1 => 'actualHtmlExtension', + 2 => 'htmlPrepend', + 3 => 'baseUrl', + 4 => 'forceCompileOnDownload', + 5 => 'embedAllLibraries', + ], + ], + 'demo' => [ + 'label' => __('Lien de démo'), + 'fieldsnames' => [ + 0 => 'disableDemo', + 1 => 'redirectDemo', + ], + ], + 'gamify' => [ + 'label' => __('Gamification'), + 'fieldsnames' => [ + 0 => 'gamify_coins_pages', + ], + ], + 'scorm' => [ + 'label' => __('SCORM'), + 'fieldsnames' => [ + 0 => 'scorm_enable', + 1 => 'scorm_version', + 2 => 'scorm_id', + 3 => 'scorm_org', + 4 => 'scorm_title', + 5 => 'scorm_variables', + 6 => 'scorm_complete_on_exit', + 7 => 'scorm_complete_on_last_page', + 8 => 'scorm_complete_coins', + 9 => 'scorm_pass_on_complete', + 10 => 'scorm_score100_on_complete', + 11 => 'scorm_quizdata', + 12 => 'scorm_score', + 13 => 'scorm_score_min', + 14 => 'scorm_quiz_as_questionnaire', + 15 => 'scorm_force_attempts', + 16 => 'scorm_commit_immediately', + ], + ], + 0 => [ + 'key' => 'downloads', + 'label' => __('Versions disponibles au téléchargement'), + 'fieldsnames' => [ + 0 => 'download_online', + 1 => 'download_sharepoint', + 2 => 'download_scorm', + 3 => 'download_win_inss_html', + 4 => 'download_win_ins_html', + 5 => 'download_win_exe_html', + 6 => 'download_mac_exe_html', + 7 => 'download_win_cd_html', + 8 => 'download_win_html', + 9 => 'download_precompiled', + ], + ], +]; } } diff --git a/inc/ws/Metier/class.ws.parametres.php b/inc/ws/Metier/class.ws.parametres.php index 15fde3f48..ae5d7544d 100644 --- a/inc/ws/Metier/class.ws.parametres.php +++ b/inc/ws/Metier/class.ws.parametres.php @@ -331,7 +331,7 @@ class wsParametres extends cubeMetier implements Iterator echo $this->generateV3Field(['name' => 'section_' . $formname, 'type' => 'FormSection', 'label' => $form['label']]); $_tab = $tab; } else { - $_tab = $form['label']; + $_tab = $this->__($form['label']); } foreach ($form['fieldsnames'] as $fieldsname) { if ($fieldsname === '|') { @@ -355,7 +355,7 @@ class wsParametres extends cubeMetier implements Iterator $res = " "; $res .= '$this->addField(\'' . addcslashes($attributes['name'], "'") . '\', ' . $attributes['type'] . '::class'; if (isset($attributes['label']) && $attributes['label']) { - $res .= ', ' . $attributes['label']; + $res .= ', ' . $this->_varexport($attributes['label'], true); } unset($attributes['name']); unset($attributes['type']); @@ -366,12 +366,21 @@ class wsParametres extends cubeMetier implements Iterator $res .= ');'; $res .= "\n"; +// $res = str_replace("!\\\\u00a7!\'", '!\\\\u00a7!', $res); +// $res = str_replace("\'\\\\u00a7!\\\\u00a7", '\\\\u00a7!\\\\u00a7', $res); +// $res = str_replace("'\'§!§", "'§!§", $res); +// $res = str_replace("!§!\''", "!§!'", $res); - $res = str_replace("'§!§", '__(\'', $res); - $res = str_replace("!§!'", '\')', $res); - $res = preg_replace_callback('/§!§(.*)!§!/uU', function ($matches) { - return '__(\'' . addcslashes($matches[1], "'") . '\')'; - }, $res); + $res = str_replace("§!§", '\'.$this->__(\'', $res); + $res = str_replace("!§!", '\').\'', $res); + $res = str_replace("''.", '', $res); + $res = str_replace(".''", '', $res); + + + +// $res = preg_replace_callback('/§!§(.*)!§!/uU', function ($matches) { +// return '__(\'' . addcslashes($matches[1], "'") . '\')'; +// }, $res); return $res; } @@ -390,7 +399,6 @@ class wsParametres extends cubeMetier implements Iterator $f['allows_alpha'] = true; } - $attrs = ['name' => $name, 'type' => $typeMap[$f['type']] ?? $f['type'], 'v2' => json_encode($orig)]; if ($name == 'signature') { @@ -436,6 +444,9 @@ class wsParametres extends cubeMetier implements Iterator protected function _varexport($expression, $return = FALSE) { $export = var_export($expression, TRUE); + if (!is_array($expression)) { + return $export; + } $export = preg_replace("/^([ ]*)(.*)/m", '$1$1$2', $export); $array = preg_split("/\r\n|\n|\r/", $export); $array = preg_replace(["/\s*array\s\($/", "/\)(,)?$/", "/\s=>\s$/"], [NULL, ']$1', ' => ['], $array); @@ -450,6 +461,9 @@ class wsParametres extends cubeMetier implements Iterator public function __($str) { if ($this->context === 'export') { + if (stristr($str, '§!§')) { + return $str; + } return '§!§' . $str . '!§!'; } else { return __($str); -- 2.39.5