namespace App\Models;
+use App\Fields\FluidbookDevelopmentVersion;
use App\Fields\FluidbookLocale;
+use App\Fields\FluidbookSignature;
+use App\Fields\User;
use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
use Illuminate\Database\Eloquent\Builder;
protected $_enableBulk = false;
+ protected $_enableTrackNonDefaultValues = true;
+
public static function addOwnerClause(Builder $builder)
{
if (backpack_user()->hasPermissionTo('fluidbook-quote:admin')) {
{
parent::setFields();
- $this->addField('title','Text',__('Titre de la publication'));
- $this->addField('locale',FluidbookLocale::class,__('Langue par défaut'));
+ $this->addField(['name' => 'owner',
+ 'label' => __('Propriétaire'),
+ 'type' => User::class,
+ 'column' => true,
+ 'can' => 'quiz:admin',
+ 'column_attribute' => 'companyWithNameOnTwoLines',
+ 'attribute' => 'companyWithName',
+ 'default' => backpack_user()->id]
+ );
+
+ $this->setSettingsFields();
+ }
+
+ public function setSettingsFields()
+ {
+ $this->addField([
+ 'name' => 'section_important',
+ 'type' => 'FormSection',
+ 'label' => 'Description de la publication',
+ ]);
+ $this->addField([
+ 'name' => 'mobileLVersion',
+ 'type' => FluidbookDevelopmentVersion::class,
+ 'label' => __('Version logicielle'),
+ 'default' => 'dev',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'mobileVersion',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'html5-desktop' => 'Version HTML5 recommandée (vecteurs sur desktop)',
+ 'html5' => 'Version HTML5 vecteurs',
+ 'html5-images' => 'Version HTML5 en images',
+ ],
+ 'label' => __('Version mobile'),
+ 'default' => 'html5-desktop',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'title',
+ 'type' => 'Text',
+ 'label' => __('Titre de la publication'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'url_link',
+ 'type' => 'Text',
+ 'label' => __('URL du lien de retour au site'),
+ 'default' => 'https://',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'signature',
+ 'type' => FluidbookSignature::class,
+ 'label' => __('Signature'),
+ 'default' => '1',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_assets',
+ 'type' => 'FormSection',
+ 'label' => 'Assets',
+ ]);
+ $this->addField([
+ 'name' => 'assetsDir',
+ 'type' => 'Integer',
+ 'label' => __('Utiliser le dossier d\'assets du fluidbook'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'linksAssets',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Charger ou remplacer des fichiers de liens'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_basicStats',
+ 'type' => 'FormSection',
+ 'label' => 'Statistiques',
+ ]);
+ $this->addField([
+ 'name' => 'stats',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer les statistiques Fluidbook'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'googleAnalytics',
+ 'type' => 'Text',
+ 'label' => __('Code Google Analytics'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'googleTagManager',
+ 'type' => 'Text',
+ 'label' => __('Code Google Tag Manager'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_share',
+ 'type' => 'FormSection',
+ 'label' => 'Fonctions de partage',
+ ]);
+ $this->addField([
+ 'name' => 'share',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer les fonctions de partage'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'email_title',
+ 'type' => 'Text',
+ 'label' => __('Titre de l\'email "Envoyer à un ami"'),
+ 'hint' => __('Laisser vide pour utiliser la valeur par défaut'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'email_body',
+ 'type' => 'Textarea',
+ 'label' => __('Corps de l\'email "Envoyer à un ami"'),
+ 'hint' => __('Laisser vide pour utiliser la valeur par défaut'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'facebook_title',
+ 'type' => 'Text',
+ 'label' => __('Titre du contenu partagé'),
+ 'hint' => __('Titre proposé sur les fonction de partage (par défaut, titre de la publication)'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'facebook_description',
+ 'type' => 'Textarea',
+ 'label' => __('Description du contenu partagé'),
+ 'hint' => __('Description proposée sur les fonctions de partage (par défaut, vide)'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'facebook_image',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Miniature affichée'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.jpg',
+ 1 => '*.jpeg',
+ 2 => '*.png',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'twitter_description',
+ 'type' => 'Textarea',
+ 'label' => __('Contenu Partage court'),
+ 'hint' => __('Contenu du partagé sur les partages courts'),
+ 'default' => '%title% : %short%',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'friend',
+ 'type' => 'Checkbox',
+ 'label' => __('E-mail'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'facebook',
+ 'type' => 'Checkbox',
+ 'label' => __('Facebook'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'twitter',
+ 'type' => 'Checkbox',
+ 'label' => __('Twitter'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'whatsapp',
+ 'type' => 'Checkbox',
+ 'label' => __('WhatsApp'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'linkedin',
+ 'type' => 'Checkbox',
+ 'label' => __('LinkedIn'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'pinterest',
+ 'type' => 'Checkbox',
+ 'label' => __('Pinterest'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'customSharer',
+ 'type' => 'Text',
+ 'label' => __('Classe personnalisée de partage'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'friendWidth',
+ 'type' => 'Integer',
+ 'label' => __('Largeur du menu'),
+ 'default' => 319,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'friendHeight',
+ 'type' => 'Integer',
+ 'label' => __('Largeur du menu'),
+ 'default' => 500,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_seo',
+ 'type' => 'FormSection',
+ 'label' => 'Optimisation pour les moteurs de recherche',
+ ]);
+ $this->addField([
+ 'name' => 'seoVersion',
+ 'type' => 'Checkbox',
+ 'label' => __('Générer une version pour les moteurs de recherche'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'seoRobots',
+ 'type' => 'Checkbox',
+ 'label' => __('Autoriser le parcours par les moteurs de recherche'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'seoDescription',
+ 'type' => 'Textarea',
+ 'label' => __('Meta tag Description'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'seoKeywords',
+ 'type' => 'Textarea',
+ 'label' => __('Meta tag Keywords'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'seoBaseURL',
+ 'type' => 'Text',
+ 'label' => __('URL de base'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'seoAdvanced',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Données SEO par page'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.xlsx',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_3d_mode',
+ 'type' => 'FormSection',
+ 'label' => 'Options de visualisation',
+ ]);
+ $this->addField([
+ 'name' => 'mobileNavigationType',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'book' => 'Normal (automatique)',
+ 'landscape' => 'Normal (double page)',
+ 'portrait' => 'Normal (une page)',
+ 'mobilefirst' => 'Mobile first',
+ 'tab' => 'Magazine tablette',
+ ],
+ 'label' => __('Mode de navigation'),
+ 'default' => 'book',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'mobileTransitions',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'none' => 'Aucune transition',
+ 'fade' => 'Opacité',
+ 'slide' => 'Glisser',
+ 'flip' => 'Tourner (rigide)',
+ 'flip3d' => 'Tourner (souple)',
+ ],
+ 'label' => __('Transitions entre les pages'),
+ 'default' => 'flip3d',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'mobileTransitionDuration',
+ 'type' => 'Number',
+ 'label' => __('Durée de la transition'),
+ 'default' => '0.5',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'forceWhiteBackground',
+ 'type' => 'Checkbox',
+ 'label' => __('Ajouter un fond blanc aux pages'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'rasterizePages',
+ 'type' => 'Textarea',
+ 'label' => __('Ecraser les pages'),
+ 'hint' => __('1-3,5 = 1,2,3,5'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'vectorPages',
+ 'type' => 'Textarea',
+ 'label' => __('Conserver les pages en vecteur'),
+ 'hint' => __('1-3,5 = 1,2,3,5'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'visualisationMode',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 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)',
+ ],
+ 'label' => __('Mode de visualisation 3D'),
+ 'default' => '3',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'antialiasReading',
+ 'type' => 'Checkbox',
+ 'label' => __('Amélioration de la lisibilité en mode 2D'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'correctCenter',
+ 'type' => 'Checkbox',
+ 'label' => __('Corriger les lignes blanches entre les pages'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'pagesBaseAngle',
+ 'type' => 'Integer',
+ 'label' => __('Angle de base entre les pages'),
+ 'hint' => __('0 : Publication à plat
+2 : Valeur par défaut'),
+ 'default' => '2',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'centerBook',
+ 'type' => 'Checkbox',
+ 'label' => __('Centrer la publication sur les couvertures'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'extraXSpace',
+ 'type' => 'Integer',
+ 'label' => __('Marge supplémentaire horizontale'),
+ 'default' => '0',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'mobileExtraXSpace',
+ 'type' => 'Integer',
+ 'label' => __('Marge supplémentaire horizontale'),
+ 'default' => '0',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'extraYSpace',
+ 'type' => 'Integer',
+ 'label' => __('Marge supplémentaire verticale'),
+ 'default' => '0',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'viewMode',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 0 => 'Classique',
+ 1 => 'Diaporama',
+ ],
+ 'label' => __('Mode de visualisation (beta)'),
+ 'default' => '0',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'dynamicBackgroundColor',
+ 'type' => 'Textarea',
+ 'label' => __('Couleur de fond dynamique'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'imageFormat',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'jpg' => 'JPEG',
+ 'png' => 'PNG',
+ ],
+ 'label' => __('Format des images'),
+ 'default' => 'jpg',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'maxResolution',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 300 => '300dpi',
+ 150 => '150dpi',
+ ],
+ 'label' => __('Résolution maximale des pages'),
+ 'default' => 300,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_performances',
+ 'type' => 'FormSection',
+ 'label' => 'Performances',
+ ]);
+ $this->addField([
+ 'name' => 'rasterizeOnSafari',
+ 'type' => 'Checkbox',
+ 'label' => __('Ecraser les pages pour Safari (Mac OS)'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_general',
+ 'type' => 'FormSection',
+ 'label' => 'Fonctionnalités générales',
+ ]);
+ $this->addField([
+ 'name' => 'tooltipTimer',
+ 'type' => 'Number',
+ 'label' => __('Temps maximum d\'apparition des infos-bulles (en secondes)'),
+ 'default' => 3,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'mobilePlugins',
+ 'type' => 'Textarea',
+ 'label' => __('Plugin'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'preload',
+ 'type' => 'Integer',
+ 'label' => __('Nombre de pages à précharger'),
+ 'default' => 16,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'maxPages',
+ 'type' => 'Integer',
+ 'label' => __('Nombre de pages maximal affiché à l\'ouverture du fluidbook (pas de limite = 0)'),
+ 'default' => 0,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'pages',
+ 'type' => 'Integer',
+ 'label' => __('Nombre de pages'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'width',
+ 'type' => 'Number',
+ 'label' => __('Largeur'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'height',
+ 'type' => 'Number',
+ 'label' => __('Hauteur'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_menu',
+ 'type' => 'FormSection',
+ 'label' => 'Menu',
+ ]);
+ $this->addField([
+ 'name' => 'navOrder',
+ 'type' => 'Textarea',
+ 'label' => __('Ordre des icônes dans la nav horizontale'),
+ 'default' => 'index, chapters, search, print, friend, bookmark, pdf, notes, archives, basket, fullscreen, sound, 3d, extra, extra1, extra2, extra3, extra4, extra5, help, lang',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navOrderH',
+ 'type' => 'Textarea',
+ 'label' => __('Ordre des icônes dans le menu burger (Si différente)'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'mobileNavScale',
+ 'type' => 'Integer',
+ 'label' => __('Taille du menu (en %)'),
+ 'default' => '100',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'menuBreakpoint',
+ 'type' => 'Text',
+ 'label' => __('Breakpoint burger menu'),
+ 'hint' => __('Par défaut 1023px'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'afterSearchDisplayForHTML',
+ 'type' => 'Checkbox',
+ 'label' => __('Afficher l\'image après le moteur de recherche sur la version HTML5'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'navExtraImage',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Image pour navigation'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.svg',
+ 1 => '*.jpg',
+ 2 => '*.png',
+ 3 => '*.gif',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraImageMobile',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Image pour mobile'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.svg',
+ 1 => '*.jpg',
+ 2 => '*.png',
+ 3 => '*.gif',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraLink',
+ 'type' => 'Text',
+ 'label' => __('URL'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraTooltip',
+ 'type' => 'Text',
+ 'label' => __('Infobulle ou label'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'navExtraIcon1',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Icône supplémentaire 1'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.svg',
+ 1 => '*.jpg',
+ 2 => '*.png',
+ 3 => '*.gif',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraType1',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'icon' => 'Icône + Label',
+ 'image' => 'Image',
+ ],
+ 'label' => __('Type'),
+ 'default' => 'icon',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraLink1',
+ 'type' => 'Text',
+ 'label' => __('URL 1'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraVisibility1',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'horizontal' => 'Navigation horizontale',
+ 'burger' => 'Navigation burger',
+ 'both' => 'Navigations horizontale et burger',
+ ],
+ 'label' => __('Visible 1'),
+ 'default' => 'both',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'navExtraIcon2',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Icône supplémentaire 2'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.svg',
+ 1 => '*.jpg',
+ 2 => '*.png',
+ 3 => '*.gif',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraType2',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'icon' => 'Icône + Label',
+ 'image' => 'Image',
+ ],
+ 'label' => __('Type'),
+ 'default' => 'icon',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraLink2',
+ 'type' => 'Text',
+ 'label' => __('URL 2'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraVisibility2',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'horizontal' => 'Navigation horizontale',
+ 'burger' => 'Navigation burger',
+ 'both' => 'Navigations horizontale et burger',
+ ],
+ 'label' => __('Visible 2'),
+ 'default' => 'both',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'navExtraIcon3',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Icône supplémentaire 3'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.svg',
+ 1 => '*.jpg',
+ 2 => '*.png',
+ 3 => '*.gif',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraType3',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'icon' => 'Icône + Label',
+ 'image' => 'Image',
+ ],
+ 'label' => __('Type'),
+ 'default' => 'icon',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraLink3',
+ 'type' => 'Text',
+ 'label' => __('URL 3'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraVisibility3',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'horizontal' => 'Navigation horizontale',
+ 'burger' => 'Navigation burger',
+ 'both' => 'Navigations horizontale et burger',
+ ],
+ 'label' => __('Visible 3'),
+ 'default' => 'both',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'navExtraIcon4',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Icône supplémentaire 4'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.svg',
+ 1 => '*.jpg',
+ 2 => '*.png',
+ 3 => '*.gif',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraType4',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'icon' => 'Icône + Label',
+ 'image' => 'Image',
+ ],
+ 'label' => __('Type'),
+ 'default' => 'icon',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraLink4',
+ 'type' => 'Text',
+ 'label' => __('URL 4'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraVisibility4',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'horizontal' => 'Navigation horizontale',
+ 'burger' => 'Navigation burger',
+ 'both' => 'Navigations horizontale et burger',
+ ],
+ 'label' => __('Visible 4'),
+ 'default' => 'both',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'navExtraIcon5',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Icône supplémentaire 5'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.svg',
+ 1 => '*.jpg',
+ 2 => '*.png',
+ 3 => '*.gif',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraType5',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'icon' => 'Icône + Label',
+ 'image' => 'Image',
+ ],
+ 'label' => __('Type'),
+ 'default' => 'icon',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraLink5',
+ 'type' => 'Text',
+ 'label' => __('URL 5'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'navExtraVisibility5',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'horizontal' => 'Navigation horizontale',
+ 'burger' => 'Navigation burger',
+ 'both' => 'Navigations horizontale et burger',
+ ],
+ 'label' => __('Visible 5'),
+ 'default' => 'both',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'mobileBottomNav',
+ 'type' => 'Text',
+ 'label' => __('Barre de boutons en bas'),
+ 'hint' => __('Identifiants des boutons séparés par des virgules'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_landing',
+ 'type' => 'FormSection',
+ 'label' => 'Custom Landing Page',
+ ]);
+ $this->addField([
+ 'name' => 'landingPage',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Landing Page content'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_fs',
+ 'type' => 'FormSection',
+ 'label' => 'Plein écran',
+ ]);
+ $this->addField([
+ 'name' => 'fullscreen',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer le mode plein-écran'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'fullscreenAuto',
+ 'type' => 'Checkbox',
+ 'label' => __('Lancer la publication en mode plein écran (lorsque possible)'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_bookmark',
+ 'type' => 'FormSection',
+ 'label' => 'Marques-pages',
+ ]);
+ $this->addField([
+ 'name' => 'bookmark',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer les marques-pages'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'bookmarkSendEnable',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer l\'envoi des marques-pages par e-mail'),
+ 'default' => 'true',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'bookmark_email_title',
+ 'type' => 'Text',
+ 'label' => __('Titre de l\'email "Envoyer à un ami"'),
+ 'hint' => __('Laisser vide pour utiliser la valeur par défaut'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'bookmark_email_body',
+ 'type' => 'Textarea',
+ 'label' => __('Corps de l\'email "Envoyer à un ami"'),
+ 'hint' => __('Laisser vide pour utiliser la valeur par défaut'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'bookmarkCornerSize',
+ 'type' => 'Integer',
+ 'label' => __('Taille des marques-pages'),
+ 'hint' => __('Taille relative à la largeur de la page'),
+ 'default' => 8,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'bookmarkOffset',
+ 'type' => 'Integer',
+ 'label' => __('Décaler de x pixels vers l\'intérieur'),
+ 'default' => 0,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'bookmarkPermanentIcon',
+ 'type' => 'Checkbox',
+ 'label' => __('Afficher l\'icône en permanance'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'bookmarkBlinkOnPageChange',
+ 'type' => 'Checkbox',
+ 'label' => __('Faire clignoter le marque page à l\'apparition de la page'),
+ 'default' => 'false',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'bookmarkDisablePages',
+ 'type' => 'Text',
+ 'label' => __('Désactiver les marques-pages sur ces pages'),
+ 'hint' => __('1-3,5 = 1,2,3,5'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'bookmarkUsePDF',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'pages' => 'PDF des pages',
+ 'download' => 'PDF de remplacement',
+ 'thumbnails' => 'PDF des miniatures',
+ ],
+ 'label' => __('PDF à utiliser pour l\'envoi ou le téléchargement de pages marquées'),
+ 'default' => 'pages',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_help',
+ 'type' => 'FormSection',
+ 'label' => 'Aide',
+ ]);
+ $this->addField([
+ 'name' => 'help',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer l\'aide'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'helpStartup',
+ 'type' => 'Checkbox',
+ 'label' => __('Afficher l\'aide au démarrage'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'helpStartupTime',
+ 'type' => 'Integer',
+ 'label' => __('Temps d\'affichage en secondes'),
+ 'default' => 15,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'helpBookmarks',
+ 'type' => 'Checkbox',
+ 'label' => __('Améliorer l\'aide des marques-pages'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'helpArrowTooltip',
+ 'type' => 'Text',
+ 'label' => __('Bulle affichée au niveau de la flèche de droite'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'landscapeWarning',
+ 'type' => 'Textarea',
+ 'label' => __('Avertissement affiché sur mobile au chargement de la publication'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_index',
+ 'type' => 'FormSection',
+ 'label' => 'Vue d\'index (vignettes)',
+ ]);
+ $this->addField([
+ 'name' => 'indexAutoScroll',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer le scroll automatique'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'pdfThumbnails',
+ 'type' => 'FilesOrURL',
+ 'label' => __('PDF utilisé pour générer les miniatures'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.pdf',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'indexMessage',
+ 'type' => 'Textarea',
+ 'label' => __('Message en haut'),
+ 'hint' => __('Message en haut de la vue index'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_print',
+ 'type' => 'FormSection',
+ 'label' => 'Impression',
+ ]);
+ $this->addField([
+ 'name' => 'print',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer l\'impression'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'printFullBrochure',
+ 'type' => 'Checkbox',
+ 'label' => __('Autoriser l\'impression de la brochure complète'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'printPageRange',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer l\'option pour imprimer une plage de pages'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_search',
+ 'type' => 'FormSection',
+ 'label' => 'Moteur de recherche',
+ ]);
+ $this->addField([
+ 'name' => 'search',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer le moteur de recherche'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'ignoreWordLimit',
+ 'type' => 'Integer',
+ 'label' => __('Ignorer les mots de moins de X caractères'),
+ 'default' => 3,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'ignoreSearch',
+ 'type' => 'Textarea',
+ 'label' => __('Mots à ignorer'),
+ 'hint' => __('Liste des mots à ignorer séparés par des virgules'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'ignoreSearchSeparators',
+ 'type' => 'Text',
+ 'label' => __('Caractères à ne pas considérer comme un séparateur de mot'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'searchWordSelectionAlgorithm',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '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'),
+ 'default' => 'begins',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'searchPageSelectionAlgorithm',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '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'),
+ 'default' => 'AND',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'highlightResults',
+ 'type' => 'Checkbox',
+ 'label' => __('Surligner les résultats'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'highlightAllOccurences',
+ 'type' => 'Checkbox',
+ 'label' => __('Surligner toutes les occurences'),
+ 'hint' => __('Même sur les pages non considérées comme un résultat'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'searchShowNoResultsPages',
+ 'type' => 'Checkbox',
+ 'label' => __('Afficher les pages sans résultats'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'textExtraction',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'pdfbox' => 'PDFBox',
+ 'poppler' => 'Poppler',
+ 'fluidbook' => 'Fluidbook (expérimentation basée sur PDFBox)',
+ ],
+ 'label' => __('Méthode d\'extraction des textes'),
+ 'default' => 'pdfbox',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_sound',
+ 'type' => 'FormSection',
+ 'label' => 'Effets sonores',
+ ]);
+ $this->addField([
+ 'name' => 'soundTheme',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '' => 'Pas de son',
+ 'classic' => 'Classique',
+ 'heavy' => 'Papier épais',
+ 'light' => 'Papier fin',
+ 'silent' => 'Silencieux',
+ 'woosh' => 'Woosh',
+ ],
+ 'label' => __('Thème sonore'),
+ 'default' => 'classic',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'soundOn',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer les effets sonores à l\'ouverture'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'ambientSound',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Ambiance sonore'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.mp3',
+ 1 => '*.wav',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'ambientSoundVolume',
+ 'type' => 'Integer',
+ 'label' => __('Volume de l\'ambiance sonore'),
+ 'min' => 0,
+ 'max' => 100,
+ 'default' => 50,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_pdf',
+ 'type' => 'FormSection',
+ 'label' => 'Fonction de téléchargement',
+ ]);
+ $this->addField([
+ 'name' => 'pdf',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer les fonctions de téléchargement'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'pdfName',
+ 'type' => 'Text',
+ 'label' => __('Nom du fichier PDF'),
+ 'default' => 'document.pdf',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'pdfReplace',
+ 'type' => 'FilesOrURL',
+ 'label' => __('PDF de remplacement'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.pdf',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'pdfCompress',
+ 'type' => 'Checkbox',
+ 'label' => __('Compression du fichier PDF'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'pdfComplex',
+ 'type' => 'Checkbox',
+ 'label' => __('Téchargement de PDF avancé'),
+ 'hint' => __('Permet à l\'utilisateur de sélectionner les pages qu\'il souhaite télécharger'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'offlineExport',
+ 'type' => 'Checkbox',
+ 'label' => __('Téléchargement des versions offline'),
+ 'hint' => __('Valable si le téléchargement avancé est activé'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_zoom',
+ 'type' => 'FormSection',
+ 'label' => 'Zoom',
+ ]);
+ $this->addField([
+ 'name' => 'zoomWheel',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'disabled' => 'Désactivé',
+ 'wheel' => 'Molette',
+ 'ctrlwheel' => 'Ctrl+Molette',
+ ],
+ 'label' => __('Zoom molette'),
+ 'default' => 'wheel',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'zoom',
+ 'type' => 'Integer',
+ 'label' => __('Zoom par défaut (atteint au clic)'),
+ 'default' => 200,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'zoomw',
+ 'type' => 'Integer',
+ 'label' => __('Zoom maximal (atteint à l\'aide de la molette)'),
+ 'default' => 300,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_stats',
+ 'type' => 'FormSection',
+ 'label' => 'Statistiques avancées',
+ ]);
+ $this->addField([
+ 'name' => 'stats_score',
+ 'type' => 'Checkbox',
+ 'label' => __('Afficher les scores dans les rapports'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'stats_exclude_ip',
+ 'type' => 'Textarea',
+ 'label' => __('Exclure les IP suivantes des statistiques'),
+ 'hint' => __('Indiquer une adresse ip de la forme www.xxx.yyy.zzz par ligne'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'relay_url_params',
+ 'type' => 'Text',
+ 'label' => __('Relayer les paramètres d\'url dans les liens sortants'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'gtag_additional_code',
+ 'type' => 'Code',
+ 'label' => __('Code additionnel Google Tag Manager'),
+ 'hint'=>__('Code HTML'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'googleAnalyticsCustom',
+ 'type' => 'Code',
+ 'label' => __('Code Stats personnalisé (placé avant fermeture de head)'),
+ 'hint'=>__('Code HTML'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'statsCustom',
+ 'type' => 'Code',
+ 'label' => __('Code Stats personnalisé (placé avant fermeture du body)'),
+ 'hint'=>__('Code HTML'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'xiti',
+ 'type' => 'Textarea',
+ 'label' => __('Code XiTi global'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'xiti_page',
+ 'type' => 'Textarea',
+ 'label' => __('Modèle code xiti (pour tags relatifs aux pages)'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'tagcommander_id',
+ 'type' => 'Text',
+ 'label' => __('Tag commander ID'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tagcommander_prod',
+ 'type' => 'Checkbox',
+ 'label' => __('Production'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tagcommander_plan',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Plan de taggage "Tag commander"'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tagcommander_default_vars',
+ 'type' => 'Textarea',
+ 'label' => __('Variables par défaut'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_sommaire',
+ 'type' => 'FormSection',
+ 'label' => 'Sommaire',
+ ]);
+ $this->addField([
+ 'name' => 'chaptersCaptionDisplay',
+ 'type' => 'Checkbox',
+ 'label' => __('Afficher le titre "Sommaire" dans la popup'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'chaptersFontSize',
+ 'type' => 'Integer',
+ 'label' => __('Taille du texte des élements du sommaire'),
+ 'hint' => __('En % par rapport à la taille normale'),
+ 'min' => 50,
+ 'max' => 120,
+ 'default' => 100,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'displayChaptersIcon',
+ 'type' => 'Checkbox',
+ 'label' => __('Affiche l\'icône du sommaire'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'displayChaptersPopup',
+ 'type' => 'Checkbox',
+ 'label' => __('Always display chapters in a popup'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'displayChaptersAtStart',
+ 'type' => 'Checkbox',
+ 'label' => __('Afficher le sommaire au chargement de la publication'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'chaptersPage',
+ 'type' => 'Text',
+ 'label' => __('Faire pointer le sommaire sur la page'),
+ 'hint' => __('Laisser vide pour utiliser le sommaire classique'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'chaptersPosition',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'center' => 'Centré',
+ 'chaptersIcon' => 'Aligné sur l\'icône',
+ ],
+ 'label' => __('Position du sommaire'),
+ 'default' => 'center',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'chaptersLevelLimit',
+ 'type' => 'Integer',
+ 'label' => __('Limiter à x niveaux'),
+ 'default' => 5,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'chaptersCascade',
+ 'type' => 'Checkbox',
+ 'label' => __('Sommaire en cascade'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'chaptersPagesNumber',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'virtual' => 'Virtuelle',
+ 'physical' => 'Physique',
+ ],
+ 'label' => __('Numérotation du sommaire'),
+ 'default' => 'virtual',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'chaptersColMaxWidth',
+ 'type' => 'Integer',
+ 'label' => __('Largeur max d\'une colonne'),
+ 'default' => 300,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'chaptersColumns',
+ 'type' => 'Integer',
+ 'label' => __('Afficher le sommaire sur x colonne(s)'),
+ 'default' => 1,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'displayChaptersLine',
+ 'type' => 'Checkbox',
+ 'label' => __('Affiche une ligne entre le label et le numéro de page'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'externalChaptersHTML',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Sommaire personnalisé'),
+ 'hint' => __('Laisser vide pour utiliser le sommaire classique'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.zip',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'mobileChaptersStyle',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'classic' => 'Classique',
+ 'ina' => 'INA',
+ ],
+ 'label' => __('Style des chapitres'),
+ 'default' => 'classic',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_tabs',
+ 'type' => 'FormSection',
+ 'label' => 'Onglets',
+ ]);
+ $this->addField([
+ 'name' => 'tabsHTML5',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Fichier d\'onglets (SVG, ZIP)'),
+ 'hint' => __('Charger un zip rendra les options ci-dessous inopérantes'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.svg',
+ 1 => '*.zip',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsPages',
+ 'type' => 'Text',
+ 'label' => __('Pages des onglets'),
+ 'hint' => __('Numéros de pages séparas par une virgule'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsSections',
+ 'type' => 'Text',
+ 'label' => __('Sections des onglets'),
+ 'hint' => __('Numéros de pages séparés par une virgule'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsPagesNumbers',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'virtual' => 'Virtuelle',
+ 'physical' => 'Physique',
+ ],
+ 'label' => __('Numérotation utilisée'),
+ 'default' => 'virtual',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'tabsSide',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'left' => 'Gauche',
+ 'right' => 'Droite',
+ ],
+ 'label' => __('Position des onglets'),
+ 'default' => 'right',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsMargin',
+ 'type' => 'Number',
+ 'label' => __('Marge des onglets'),
+ 'hint' => __('Une marge négative = les onglets passent sous la publication'),
+ 'default' => '-10',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'tabsHideOnPages',
+ 'type' => 'Text',
+ 'label' => __('Cacher les onglets sur les pages'),
+ 'hint' => __('1-3,5 = 1,2,3,5'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsHideOnCover',
+ 'type' => 'Checkbox',
+ 'label' => __('Cacher les onglets sur la couverture'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsHideOnLastPage',
+ 'type' => 'Checkbox',
+ 'label' => __('Cacher les onglets sur la dernière page'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsHideEdges',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'none' => 'Aucune',
+ 'left' => 'Gauche',
+ 'right' => 'Droite',
+ 'both' => 'Les deux',
+ ],
+ 'label' => __('Masquer les bordures du fluidbook'),
+ 'default' => 'right',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'tabsPriority',
+ 'type' => 'Integer',
+ 'label' => __('Priorité des onglets sur les contenus (%)'),
+ 'hint' => __('La valeur indique la réduction permise de la taille de la publication.'),
+ 'min' => 0,
+ 'max' => 100,
+ 'default' => 15,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsLinkWidth',
+ 'type' => 'Number',
+ 'label' => __('Largeur des onglets'),
+ 'hint' => __('Largeur réservée pour les onglets et largeur de la zone cliquable des liens'),
+ 'default' => '30',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsHideWhenOverlapingArrows',
+ 'type' => 'Checkbox',
+ 'label' => __('Cacher les onglets lorsqu\'ils passent sous les flèches de navigation'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsHideOnPortrait',
+ 'type' => 'Checkbox',
+ 'label' => __('Cacher les onglets lorsque le fluidbook est en mode portrait'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'tabsHideOnZoom',
+ 'type' => 'Checkbox',
+ 'label' => __('Cacher les onglets lorsque le fluidbook est zoomé'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_links',
+ 'type' => 'FormSection',
+ 'label' => 'Liens',
+ ]);
+ $this->addField([
+ 'name' => 'permanentLinks',
+ 'type' => 'Checkbox',
+ 'label' => __('Liens visibles en permanence'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'mobileLinksRevealAnim',
+ 'type' => 'Checkbox',
+ 'label' => __('Animer les liens après un changement de page'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'linkBlinkTime',
+ 'type' => 'Number',
+ 'label' => __('Temps d\'apparition du lien à l\'ouverture de la page (en secondes)'),
+ 'default' => 1.0,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'linkBlinkRepetition',
+ 'type' => 'Integer',
+ 'label' => __('Nombre de clignotement lors de l\'apparition des liens'),
+ 'default' => 1,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'openLinkAtStartup',
+ 'type' => 'Text',
+ 'label' => __('Déclencher un lien à l\'ouverture du fluidbook'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'customLinkClass',
+ 'type' => 'Text',
+ 'label' => __('Classe pour les liens personnalisés'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'ignoreLinksTypes',
+ 'type' => 'Text',
+ 'label' => __('Ignorer les liens de type'),
+ 'hint' => __('Liste des numéros séparés par des virgules'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'mobileIgnoreBackgroundLinks',
+ 'type' => 'Checkbox',
+ 'label' => __('Ignorer les liens de background'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'linkTooltipManager',
+ 'type' => 'Text',
+ 'label' => __('Gestionnaire des info-bulles'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'linkCornerSize',
+ 'type' => 'Integer',
+ 'label' => __('Taille des liens de coins de page'),
+ 'hint' => __('Pourcentage de la largeur de la page'),
+ 'default' => '10',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'linkTooltipMaxWidth',
+ 'type' => 'Integer',
+ 'label' => __('Largeur max des infobulles des liens de type "infobulle"'),
+ 'default' => '140',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'linkTracker',
+ 'type' => 'Text',
+ 'label' => __('Tracking des liens'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'linkTrackerRegexp',
+ 'type' => 'Text',
+ 'label' => __('Tracking des liens applicables aux liens du domaine'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'linkFilePrefix',
+ 'type' => 'Text',
+ 'label' => __('Préfixer les liens de téléchargement'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_multimedia',
+ 'type' => 'FormSection',
+ 'label' => 'Multimedia',
+ ]);
+ $this->addField([
+ 'name' => 'textPopupStylesheet',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Feuille de style des popups de texte'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.css',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'textPopupWidth',
+ 'type' => 'Integer',
+ 'label' => __('Largeur optimale des popups'),
+ 'default' => '600',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'iframePopupMaxWidth',
+ 'type' => 'Integer',
+ 'label' => __('Largeur maximale des popups iframe'),
+ 'default' => '0',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'OAMChromeFactor',
+ 'type' => 'Number',
+ 'label' => __('Facteur OAM Chrome'),
+ 'default' => '1',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'OAMIEFactor',
+ 'type' => 'Number',
+ 'label' => __('Facteur OAM IE11'),
+ 'default' => '1',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_slideshow',
+ 'type' => 'FormSection',
+ 'label' => 'Slideshow',
+ ]);
+ $this->addField([
+ 'name' => 'inlineSlideshowLibrary',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'dummy' => 'Simple (défaut)',
+ 'vacheron' => 'Vacheron',
+ ],
+ 'label' => __('Librarie utilisée pour les slideshow intégrés aux pages'),
+ 'default' => 'dummy',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'popupSlideshowLibrary',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'splide' => 'Splide (défaut)',
+ 'vacheron' => 'Vacheron',
+ ],
+ 'label' => __('Librarie utilisée pour les slideshow popup'),
+ 'default' => 'splide',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'slideshowCaptionSize',
+ 'type' => 'Text',
+ 'label' => __('Taille de police de la légende du diaporama'),
+ 'hint' => __('Laisser vide pour utiliser la valeur par défaut'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'inlineSlideshowTransitionDuration',
+ 'type' => 'Number',
+ 'label' => __('Durée de la transition des diaporamas intégrés aux pages(s)'),
+ 'default' => 0.75,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'inlineSlideshowDuration',
+ 'type' => 'Number',
+ 'label' => __('Temps d\'attente des diaporamas intégrés aux pages (s)'),
+ 'default' => 7,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_videos',
+ 'type' => 'FormSection',
+ 'label' => 'Vidéos',
+ ]);
+ $this->addField([
+ 'name' => 'mobileVideosPath',
+ 'type' => 'Text',
+ 'label' => __('Chemin vers les vidéos'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'brightcovePlayerId',
+ 'type' => 'Text',
+ 'label' => __('Brightcove Player Id'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'brightcovePlayerSecret',
+ 'type' => 'Text',
+ 'label' => __('Brightcove Player Secret'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'bigPlayImage',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Image pour le bouton "Big Play"'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.svg',
+ 1 => '*.jpg',
+ 2 => '*.png',
+ 3 => '*.gif',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_audio',
+ 'type' => 'FormSection',
+ 'label' => 'Lecteur audio',
+ ]);
+ $this->addField([
+ 'name' => 'audioPlayerTheme',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'native' => 'Apparence native du navigateur',
+ 'invisible' => 'Zone cliquable invisible',
+ 'redbull' => 'Red Bull',
+ ],
+ 'label' => __('Apparence du lecteur audio'),
+ 'default' => 'native',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_downloadportion',
+ 'type' => 'FormSection',
+ 'label' => 'Téléchargement d\'extraits',
+ ]);
+ $this->addField([
+ 'name' => 'downloadPortionPDF',
+ 'type' => 'FilesOrURL',
+ 'label' => __('PDF utilisé pour le téléchargement des extraits'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'downloadPortionZoom',
+ 'type' => 'Integer',
+ 'label' => __('Zoom des images extraites'),
+ 'default' => 8,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_product_zoom',
+ 'type' => 'FormSection',
+ 'label' => 'Zooms produits',
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_references',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Références produits'),
+ 'hint' => __('Fichier contenant les références produits'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.xml',
+ 1 => '*.xlsx',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_buttons_order',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'right' => 'De la droite vers la gauche',
+ 'left' => 'De la gauche vers la droite',
+ ],
+ 'label' => __('Order des boutons'),
+ 'default' => 'right',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_label_1',
+ 'type' => 'Text',
+ 'label' => __('Label du bouton 1'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_tooltip_1',
+ 'type' => 'Text',
+ 'label' => __('Label de l\'infobulle 1'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_icon_1',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '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',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_action_1',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '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',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_label_2',
+ 'type' => 'Text',
+ 'label' => __('Label du bouton 2'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_tooltip_2',
+ 'type' => 'Text',
+ 'label' => __('Label de l\'infobulle 2'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_icon_2',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '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',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_action_2',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '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',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_label_3',
+ 'type' => 'Text',
+ 'label' => __('Label du bouton 3'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_tooltip_3',
+ 'type' => 'Text',
+ 'label' => __('Label de l\'infobulle 3'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_icon_3',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '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',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_zoom_action_3',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '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',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'product_share_enabled',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer le bouton de partage'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_share_link',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'product' => 'Lien du produit',
+ 'page' => 'Lien vers la page du fluidbook',
+ ],
+ 'label' => __('Lien de partage'),
+ 'default' => 'product',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_email_title',
+ 'type' => 'Text',
+ 'label' => __('Titre de l\'email "Envoyer à un ami"'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_email_body',
+ 'type' => 'Textarea',
+ 'label' => __('Corps de l\'email "Envoyer à un ami"'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'product_tweet',
+ 'type' => 'Textarea',
+ 'label' => __('Contenu Partage court'),
+ 'hint' => __('Contenu du partagé sur les partages courts'),
+ 'default' => '%short%',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_accessibility',
+ 'type' => 'FormSection',
+ 'label' => 'Accessibilité',
+ ]);
+ $this->addField([
+ 'name' => 'audiodescriptionTexts',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Contenus textuels pour l\'audiodescription ou les lecteurs d\'écran'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.xlsx',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'audiodescriptionVoice',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '' => '',
+ 'festival:voice_cmu_us_slt_arctic_hts' => 'Festival (en-US)',
+ 'readspeaker:Sophie/en_us' => 'ReadSpeaker Sophie (en-US)',
+ 'readspeaker:Marc/en_us' => 'ReadSpeaker Marc (en-US)',
+ ],
+ 'label' => __('Voix pour l\'audiodescription'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_splash',
+ 'type' => 'FormSection',
+ 'label' => 'Ecran de chargement',
+ ]);
+ $this->addField([
+ 'name' => 'splashImage',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Image'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.jpg',
+ 1 => '*.jpeg',
+ 2 => '*.png',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'splashURL',
+ 'type' => 'Text',
+ 'label' => __('URL'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'splashTarget',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '_self' => 'Dans la fenêtre courrante',
+ '_blank' => 'Dans un nouvel onglet',
+ ],
+ 'label' => __('Ouvrir le lien'),
+ 'default' => '_self',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'splashMinimalTime',
+ 'type' => 'Number',
+ 'label' => __('Temps minimal d\'affichage'),
+ 'default' => '1',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_notes',
+ 'type' => 'FormSection',
+ 'label' => 'Notes',
+ ]);
+ $this->addField([
+ 'name' => 'notes',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer les notes'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_articles',
+ 'type' => 'FormSection',
+ 'label' => 'Articles',
+ ]);
+ $this->addField([
+ 'name' => 'articlesFile',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Articles'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.xml',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'articlesImages',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Images des articles'),
+ 'hint' => __('Les noms des fichiers doivent être les même que ceux des balises <image> du XML'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'articlesShare',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer le partage'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'articlesStyle',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'default' => 'Défaut',
+ 'atlantic' => 'Atlantic',
+ 'harmonie-mutuelle' => 'Harmonie Mutuelle',
+ 'business-immo' => 'Business Immo',
+ ],
+ 'label' => __('Style'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'articlesFont',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'OpenSans' => 'Open Sans (défaut)',
+ 'Montserrat' => 'Montserrat',
+ 'Arial' => 'Arial, Helvetica, sans-serif (police système)',
+ 'sans-serif' => 'Police système sans-serif',
+ ],
+ 'label' => __('Police des articles'),
+ 'default' => 'OpenSans',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_archives',
+ 'type' => 'FormSection',
+ 'label' => 'Archives',
+ ]);
+ $this->addField([
+ 'name' => 'externalArchives',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Archives'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.jpg',
+ 1 => '*.jpeg',
+ 2 => '*.png',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'archivesLabel',
+ 'type' => 'Text',
+ 'label' => __('Label'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_form',
+ 'type' => 'FormSection',
+ 'label' => 'Formulaire',
+ ]);
+ $this->addField([
+ 'name' => 'form',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '' => 'Aucun',
+ 'bulle' => 'Bulle Groupe',
+ 'bourbon' => 'Bourbon / Suggestions',
+ 'avery' => 'Avery',
+ ],
+ 'label' => __('Formulaire'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_privacy',
+ 'type' => 'FormSection',
+ 'label' => 'Respect de la vie privée',
+ ]);
+ $this->addField([
+ 'name' => 'cookieConsent',
+ 'type' => 'Checkbox',
+ 'label' => __('Message cookie'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'cookieConsentMessage',
+ 'type' => 'Textarea',
+ 'label' => __('Texte du consentement'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'cookieConsentAutoclose',
+ 'type' => 'Integer',
+ 'label' => __('Masquer automatiquement après x secondes'),
+ 'default' => '0',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_basket',
+ 'type' => 'FormSection',
+ 'label' => 'Panier',
+ ]);
+ $this->addField([
+ 'name' => 'basket',
+ 'type' => 'Checkbox',
+ 'label' => __('Panier activé'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'cartIcon',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'nav-basket' => 'Sac',
+ 'nav-cart-caddie' => 'Caddie',
+ 'nav-cart-wishlist' => 'Wishlist',
+ ],
+ 'label' => __('Icône'),
+ 'default' => 'nav-basket',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'basketManager',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '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',
+ ],
+ 'label' => __('Manager de panier'),
+ 'default' => 'classic',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'basketReferences',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Références produits'),
+ 'hint' => __('Fichier contenant les références produits'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.xml',
+ 1 => '*.xlsx',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'basketImages',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Images des produits'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'basketPDFBackground',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Fond du PDF (bon de commande)'),
+ 'hint' => __('Fond du bon de commande'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.ai',
+ 1 => '*.eps',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_offline',
+ 'type' => 'FormSection',
+ 'label' => 'Version offline',
+ ]);
+ $this->addField([
+ 'name' => 'offlineTitle',
+ 'type' => 'Text',
+ 'label' => __('Titre de l\'application'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'offlineLink',
+ 'type' => 'Text',
+ 'label' => __('URL du Fluidbook'),
+ 'hint' => __('URL du fluidbook utilisée pour la version Offline (CD-ROM, clé USB, Exécutables)'),
+ 'default' => 'http://',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'offlineEnableAdvancedPrinting',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer le menu d\'impression avancée'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_mobilefirst',
+ 'type' => 'FormSection',
+ 'label' => 'Mobile first',
+ ]);
+ $this->addField([
+ 'name' => 'mobilefirstFluidbookId',
+ 'type' => 'Text',
+ 'label' => __('Identifiant du fluidbook "Mobile first"'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'mobilefirstBreakpoint',
+ 'type' => 'Text',
+ 'label' => __('Breakpoint du passage à la version "Mobile first" (en pixels)'),
+ 'default' => '640',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_phonegap',
+ 'type' => 'FormSection',
+ 'label' => 'Applications mobile',
+ ]);
+ $this->addField([
+ 'name' => 'phonegapId',
+ 'type' => 'Text',
+ 'label' => __('Identifiant de l\'identifiant'),
+ 'hint' => __('De la forme com.fluidbook.phonegap.xxxxx'),
+ 'default' => 'com.fluidbook.phonegap.$id',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'phonegapVersion',
+ 'type' => 'Text',
+ 'label' => __('Version de l\'application'),
+ 'hint' => __('De la forme 1.2.3'),
+ 'default' => '1.0.0',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'phonegapPlugins',
+ 'type' => 'Textarea',
+ 'label' => __('Plugins Phonegap'),
+ 'default' => 'ChildBrowser',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'appScreenshots',
+ 'type' => 'Textarea',
+ 'label' => __('Générer les screenshots'),
+ '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))'),
+ 'default' => 'P,0
+L,2
+L,index',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_secure',
+ 'type' => 'FormSection',
+ 'label' => 'Sécurisation',
+ ]);
+ $this->addField([
+ 'name' => 'secureURL',
+ 'type' => 'Text',
+ 'label' => __('URL de sécurisation'),
+ 'hint' => __('URL intérrogé pour vérifier si le visiteur à les droits pour consulter la publication'),
+ 'default' => 'http://',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'secureURLRedirect',
+ 'type' => 'Text',
+ 'label' => __('Redirection'),
+ 'hint' => __('Si l\'authentification échoue, redirection vers cette adresse'),
+ 'default' => 'http://',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'secureClientSidePassword',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Sécurisation par mot de passe côté client'),
+ 'default' => '',
+ 'accept' => [
+ 0 => '*.html',
+ ],
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'secureClientSidePasswordCredentials',
+ 'type' => 'Textarea',
+ 'label' => __('Utilisateurs / mots de passe'),
+ 'hint' => __('Format user:password par ligne'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'preventRightClick',
+ 'type' => 'Checkbox',
+ 'label' => __('Essayer d\'empêcher le clic droit'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'restrictPrintDownload',
+ 'type' => 'Text',
+ 'label' => __('Paramètre de l\'url permettant de désactiver la restriction (non vide pour activer les restrictions)'),
+ 'hint' => __('Ne pas indiquer le ?'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'restrictPrint',
+ 'type' => 'Checkbox',
+ 'label' => __('Restreindre l\'impression'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'restrictDownload',
+ 'type' => 'Checkbox',
+ 'label' => __('Restreindre le téléchargement du pdf'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'restrictSendBookmark',
+ 'type' => 'Checkbox',
+ 'label' => __('Restreindre l\'envoi de marques-pages'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_multibrochure',
+ 'type' => 'FormSection',
+ 'label' => 'Multibrochure',
+ ]);
+ $this->addField([
+ 'name' => 'home',
+ 'type' => 'Text',
+ 'label' => __('Accueil de l\'interface multibrochure'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'country',
+ 'type' => 'Text',
+ 'label' => __('Pays de la brochure'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'multilangDisplay',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'lang' => 'Langue',
+ 'lang_country' => 'Langue (Pays)',
+ 'country_lang' => 'Pays (Langue)',
+ ],
+ 'label' => __('Affichage'),
+ 'default' => 'lang',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'multilang',
+ 'type' => 'Textarea',
+ 'label' => __('Langues'),
+ 'hint' => __('Code langue,Code pays,URL'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_plv',
+ 'type' => 'FormSection',
+ 'label' => 'Mode PLV',
+ ]);
+ $this->addField([
+ 'name' => 'plv',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer le mode PLV'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'plvTimer',
+ 'type' => 'Integer',
+ 'label' => __('Temps'),
+ 'min' => 1,
+ 'max' => 60,
+ 'default' => 5,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'plvMode',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ 'back' => 'Remonter vers la première page',
+ 'first' => 'Recommencer à la première page',
+ ],
+ 'label' => __('Arrivé à la dernière page'),
+ 'default' => 'first',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_theme',
+ 'type' => 'FormSection',
+ 'label' => 'Options du thème',
+ ]);
+ $this->addField([
+ 'name' => 'themeEnableAfterSearch',
+ 'type' => 'Checkbox',
+ 'label' => __('Afficher l\'image supplémentaire à droite du moteur de recherche'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_package',
+ 'type' => 'FormSection',
+ 'label' => 'Option d\'export',
+ ]);
+ $this->addField([
+ 'name' => 'htmlExtension',
+ 'type' => 'Text',
+ 'label' => __('Extension des fichiers html'),
+ 'hint' => __('Ex : php, htm, html, phtml, asp, aspx'),
+ 'default' => 'html',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'actualHtmlExtension',
+ 'type' => 'Text',
+ 'label' => __('Extension des fichiers html réellement appliquée au fluidbook'),
+ 'hint' => __('Ex : php, htm, html, phtml, asp'),
+ 'default' => 'html',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'htmlPrepend',
+ 'type' => 'Code',
+ 'label' => __('Code à insérer en tête des fichiers'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'baseUrl',
+ 'type' => 'Text',
+ 'label' => __('Base de l\'url'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'forceCompileOnDownload',
+ 'type' => 'Checkbox',
+ 'label' => __('Forcer la compilation lors du téléchargement'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_demo',
+ 'type' => 'FormSection',
+ 'label' => 'Lien de démo',
+ ]);
+ $this->addField([
+ 'name' => 'disableDemo',
+ 'type' => 'Checkbox',
+ 'label' => __('Désactiver le lien de démo'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'redirectDemo',
+ 'type' => 'Text',
+ 'label' => __('Rediriger le lien de démo vers'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_scorm',
+ 'type' => 'FormSection',
+ 'label' => 'SCORM',
+ ]);
+ $this->addField([
+ 'name' => 'scorm_enable',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer SCORM'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_version',
+ 'type' => 'SelectFromArray',
+ 'options' => [
+ '1.2' => 'SCORM 1.2',
+ 2004 => 'SCORM 2004 4th edition',
+ ],
+ 'label' => __('Version du standard SCORM'),
+ 'default' => '1.2',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_id',
+ 'type' => 'Text',
+ 'label' => __('Identifiant SCORM'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_org',
+ 'type' => 'Text',
+ 'label' => __('Organisation SCORM'),
+ 'default' => 'ACME-ORG-1350650111249',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_title',
+ 'type' => 'Text',
+ 'label' => __('Titre SCORM'),
+ 'hint' => __('Laisser vide pour utiliser le titre de la publication'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_variables',
+ 'type' => 'Textarea',
+ 'label' => __('Variables SCORM'),
+ 'hint' => __('Laisser vide pour utiliser le titre de la publication'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'scorm_complete_on_exit',
+ 'type' => 'Checkbox',
+ 'label' => __('Marquer le cours comme "Complete" à la fermeture de la fenêtre'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_complete_on_last_page',
+ 'type' => 'Checkbox',
+ 'label' => __('Marquer le cours comme "Complete" lorsque le visiteur atteint la dernière page'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'scorm_pass_on_complete',
+ 'type' => 'Checkbox',
+ 'label' => __('Marquer le cours comme Pass lorsqu\'il est terminé (SCORM 2004 seulement)'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_score100_on_complete',
+ 'type' => 'Checkbox',
+ 'label' => __('Marquer le cours comme réussi à 100% lorsqu\'il est terminé'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'scorm_quizdata',
+ 'type' => 'FilesOrURL',
+ 'label' => __('Données de quiz'),
+ 'default' => '',
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_score',
+ 'type' => 'Checkbox',
+ 'label' => __('Activer le support du score'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_score_min',
+ 'type' => 'Integer',
+ 'label' => __('Score minimal pour marquer le contenu comme réussi'),
+ 'min' => 0,
+ 'max' => 100,
+ 'default' => 50,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_quiz_as_questionnaire',
+ 'type' => 'Checkbox',
+ 'label' => __('Traiter les quiz comme des questionnaires (toutes les réponses sont considérées comme correctes)'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'type' => 'FormSeparator',
+ ]);
+ $this->addField([
+ 'name' => 'scorm_force_attempts',
+ 'type' => 'Checkbox',
+ 'label' => __('Forcer la création d\'un "attempt" à chaque ouverture'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'scorm_commit_immediately',
+ 'type' => 'Checkbox',
+ 'label' => __('Envoyer les données immédiatement au LMS (Peut provoquer des ralentissement sur certains LMS)'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'section_downloads',
+ 'type' => 'FormSection',
+ 'label' => 'Versions disponibles au téléchargement',
+ ]);
+ $this->addField([
+ 'name' => 'download_online',
+ 'type' => 'Checkbox',
+ 'label' => __('Version online - Version par défaut'),
+ 'default' => true,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'download_sharepoint',
+ 'type' => 'Checkbox',
+ 'label' => __('Version Sharepoint - Version par défaut'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'download_scorm',
+ 'type' => 'Checkbox',
+ 'label' => __('Version SCORM - Version par défaut'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'download_win-inss-html',
+ 'type' => 'Checkbox',
+ 'label' => __('Version offline - Executable Windows'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'download_win-ins-html',
+ 'type' => 'Checkbox',
+ 'label' => __('Version offline - Installeur Auto-executable Windows'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'download_win-exe-html',
+ 'type' => 'Checkbox',
+ 'label' => __('Version offline - ZIP Windows'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'download_mac-exe-html',
+ 'type' => 'Checkbox',
+ 'label' => __('Version offline - Exécutable Mac OS X'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'download_win-cd-html',
+ 'type' => 'Checkbox',
+ 'label' => __('Version offline - CD-ROM / Clé USB'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+ $this->addField([
+ 'name' => 'download_win-html',
+ 'type' => 'Checkbox',
+ 'label' => __('Version offline - HTML (Non adaptée à l\'installation sur un serveur web)'),
+ 'default' => false,
+ 'translatable' => false,
+ ]);
+
}
}