]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 14 Apr 2014 13:46:26 +0000 (13:46 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 14 Apr 2014 13:46:26 +0000 (13:46 +0000)
inc/ws/Metier/class.ws.book.parametres.php

index 46bea39690d4133b8b910f93440ba9280a02d579..86216371fbba9d2b62382f6174472da5d60da938 100644 (file)
-<?php\r
-\r
-class wsBookParametres extends wsParametres {\r
-\r
-       public function __construct($parent) {\r
-               parent::__construct($parent);\r
-       }\r
-\r
-       /**\r
-        * wsBookParametres::initFields()\r
-        *\r
-        * @return\r
-        */\r
-       protected function initFields() {\r
-               parent::initFields();\r
-               if (is_null($this->parent)) {\r
-                       return;\r
-               }\r
-\r
-               // .\r
-               $swfFilter = new stdClass();\r
-               $swfFilter->name = __('Animation SWF') . ' (*.swf)';\r
-               $swfFilter->extensions = '*.swf';\r
-\r
-               $pdfFilter = new stdClass();\r
-               $pdfFilter->name = __('Document PDF') . ' (*.pdf)';\r
-               $pdfFilter->extensions = '*.pdf';\r
-\r
-               $basketFilter = new stdClass();\r
-               $basketFilter->name = __('Liste de produits') . ' (*.xml)';\r
-               $basketFilter->extensions = '*.xml';\r
-\r
-               $imageFilter = new stdClass();\r
-               $imageFilter->name = __('Images') . ' (*.jpg, *.png)';\r
-               $imageFilter->extensions = '*.jpg;*.jpeg;*.png';\r
-\r
-               $epsFilter = new stdClass();\r
-               $epsFilter->name = __('Fichier vectoriel') . ' (*.ai, *.eps)';\r
-               $epsFilter->extensions = '*.ai;*.eps';\r
-\r
-               $this->fields['version'] = array('type' => 'combo', 'default' => '2', 'editable' => true, 'label' => __('Version'), 'datas' => array('1' => '1', '2' => '2'), 'grade' => 3);\r
-               $this->fields['title'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Titre de la publication"), 'embed' => false);\r
-               $this->fields['url_link'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => __("URL du lien de retour au site"));\r
-               $this->fields['signature'] = array('type' => 'combo', 'default' => '1', 'editable' => true, 'label' => __('Signature'), 'grade' => 3, 'datas' => wsDroits::getSignatures());\r
-               $this->forms['important'] = array('label' => __('Description de la publication'),\r
-                       'fieldsnames' => array('version', 'title', 'url_link', 'signature'));\r
-               // .\r
-               // .\r
-\r
-               $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'));\r
-               $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'));\r
-               $this->fields['email_editable'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Permettre au lecteur de modifier le corps de l'email"));\r
-               $this->fields['askAcknowledge'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Demander au destinataire un accusé de réception"), 'grade' => 3);\r
-\r
-               $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)'));\r
-               $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)'));\r
-               $this->fields['twitter_description'] = array('type' => 'textarea', 'default' => '%title% : %short%', 'editable' => true, 'label' => __("Contenu Partage court"), 'hint' => __('Contenu du partagé sur les partages courts'));\r
-               $this->fields['facebook_image'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('Miniature affichée'), 'fileFilter' => $imageFilter);\r
-\r
-               $this->fields['share'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer les fonctions de partage'));\r
-               $this->fields['friend'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('E-mail'));\r
-               $this->fields['facebook'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Facebook'));\r
-               $this->fields['twitter'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Twitter'));\r
-               $this->fields['googleplus'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Google +'));\r
-               $this->fields['linkedin'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('LinkedIn'));\r
-               $this->fields['viadeo'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Viadeo'));\r
-               $this->fields['customSharer'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Classe personnalisée de partage"), 'grade' => 5);\r
-               $this->fields['friendWidth'] = array('type' => 'integer', 'default' => 319, 'editable' => true, 'label' => __('Largeur du menu'), 'grade' => 5);\r
-               $this->fields['friendHeight'] = array('type' => 'integer', 'default' => 500, 'editable' => true, 'label' => __('Largeur du menu'), 'grade' => 5);\r
-               $this->forms['share'] = array('label' => __('Fonctions de partage'),\r
-                       'fieldsnames' => array('share', '|', 'email_title', 'email_body', 'email_editable', 'askAcknowledge', '|',\r
-                               'facebook_title', 'facebook_description', 'facebook_image', 'twitter_description', '|',\r
-                               'friend', 'facebook', 'twitter', 'googleplus', 'linkedin', 'viadeo', '|', 'customSharer', '|', 'friendWidth', 'friendHeight'));\r
-               // .\r
-               $this->fields['pages'] = array('type' => 'integer', 'default' => '', 'editable' => false, 'label' => __('Nombre de pages'));\r
-               $this->fields['width'] = array('type' => 'float', 'default' => '', 'editable' => false, 'label' => __('Largeur'));\r
-               $this->fields['height'] = array('type' => 'float', 'default' => '', 'editable' => false, 'label' => __('Hauteur'));\r
-               // .\r
-               $this->fields['visualisationMode'] = array('type' => 'combo', 'default' => '3', 'editable' => true, 'label' => __("Mode de visualisation 3D"),\r
-                       'datas' => array(__('Mode 3D') => '0',\r
-                               __('Mode 2D (caméra fixe et pages à plat)') => '1',\r
-                               __("Laisser le choix à l'utilisateur (mode 3D par défaut)") => '2',\r
-                               __("Laisser le choix à l'utilisateur (mode 2D par défaut)") => '3'));\r
-               $this->fields['viewMode'] = array('type' => 'combo', 'default' => '3', 'editable' => true, 'label' => __("Mode de visualisation (beta)"),\r
-                       'datas' => array(__('Classique') => '0',\r
-                               __("Diaporama") => '1'), 'grade' => 5);\r
-               $this->fields['antialiasReading'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Amélioration de la lisibilité en mode 2D"));\r
-               $this->fields['pagesBaseAngle'] = array('type' => 'integer', 'default' => '2', 'editable' => true, 'label' => __('Angle de base entre les pages'), 'grade' => 3,\r
-                       'hint' => __("0 : Publication à plat") . "\n" . __('2 : Valeur par défaut'));\r
-               $this->fields['extraXSpace'] = array('type' => 'integer', 'default' => '0', 'editable' => true, 'label' => __('Marge supplémentaire horizontale'), 'grade' => 3);\r
-               $this->fields['extraYSpace'] = array('type' => 'integer', 'default' => '0', 'editable' => true, 'label' => __('Marge supplémentaire verticale'), 'grade' => 3);\r
-               $this->fields['centerBook'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Centrer la publication sur les couvertures'), 'grade' => 2);\r
-               $this->fields['correctCenter'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Corriger les lignes blanches entre les pages'), 'grade' => 2);\r
-               $this->forms['3d_mode'] = array('label' => __('Options de visualisation'),\r
-                       'fieldsnames' => array('visualisationMode', 'antialiasReading', 'correctCenter', 'pagesBaseAngle', 'centerBook', '|', 'extraXSpace', 'extraYSpace', '|', 'viewMode'));\r
-\r
-               $this->fields['preload'] = array('type' => 'integer', 'default' => 16, 'editable' => true, 'label' => __('Nombre de pages à précharger'), 'grade' => 3);\r
-               $this->fields['fullscreen'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer le mode plein-écran'));\r
-               $this->fields['navOrder'] = array('type' => 'textarea', 'default' => 'index, chapters, print, friend, bookmark, pdf, archives, basket, fullscreen, sound, 3d, help', 'editable' => true, 'label' => __('Ordre des icônes dans la nav'), 'grade' => 3);\r
-               $this->fields['tooltipTimer'] = array('type' => 'float', 'default' => 3, "editable" => true, 'label' => __("Temps maximum d'apparition des infos-bulles (en secondes)"));\r
-               $this->forms['general'] = array('label' => __('Fonctionnalités générales'),\r
-                       'fieldsnames' => array('fullscreen', 'navOrder', 'tooltipTimer', 'preload', 'pages', 'width', 'height'));\r
-               //.\r
-               //\r
-\r
-               $this->fields['bookmark'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer les marques-pages'));\r
-               $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'));\r
-               $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'));\r
-               $this->fields['bookmarkCornerSize'] = array('type' => 'integer', 'default' => 10, 'editable' => true, 'label' => __("Taille des marques-pages"), 'hint' => __('Taille relative à la largeur de la page'));\r
-               $this->forms['bookmark'] = array('label' => __('Marques-pages'),\r
-                       'fieldsnames' => array('bookmark', '|', 'bookmark_email_title', 'bookmark_email_body', '|', 'bookmarkCornerSize'));\r
-\r
-               $this->fields['help'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer l'aide"));\r
-               $this->fields['helpBookmarks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Améliorer l'aide des marques-pages"));\r
-               $this->fields['helpStartup'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Afficher l'aide au démarrage"));\r
-               $this->fields['helpStartupTime'] = array('type' => 'integer', 'default' => 15, 'editable' => true, 'label' => __("Temps d'affichage en secondes"));\r
-               $this->fields['helpArrowTooltip'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Bulle affichée au niveau de la flèche de droite'), 'grade' => 5);\r
-               $this->forms['help'] = array('label' => __('Aide'),\r
-                       'fieldsnames' => array('help', '|', 'helpStartup', 'helpStartupTime', '|', 'helpBookmarks', '|', 'helpArrowTooltip'));\r
-               // .\r
-               //\r
-               $this->fields['indexAutoScroll'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Activer le scroll automatique'));\r
-               $this->forms['index'] = array('label' => __('Index'), 'fieldsnames' => array('indexAutoScroll'));\r
-\r
-               // .\r
-               //\r
-               $this->fields['print'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer l'impression"));\r
-               $this->fields['printMode'] = array('type' => 'combo', 'default' => 'vector', 'editable' => true, 'label' => __("Mode d'impression"),\r
-                       'datas' => array(__('Bitmap') => 'bitmap',\r
-                               __('Vectoriel') => 'vector',\r
-                               __('PDF') => 'pdf'));\r
-               $this->fields['printCoverWithMarks'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Imprimer les couvertures avec les pages marquées"), 'grade' => 3);\r
-               $this->forms['print'] = array('label' => __('Impression'),\r
-                       'fieldsnames' => array('print', 'printMode', 'printCoverWithMarks'));\r
-\r
-\r
-               $this->fields['search'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer le moteur de recherche'));\r
-               $this->fields['ignoreSearch'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Mots à ignorer'),\r
-                       'hint' => __('Liste des mots à ignorer séparés par des virgules'), 'grade' => 5);\r
-               $this->fields['ignoreSearchSeparators'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Caractères à ne pas considérer comme un séparateur de mot'));\r
-               $this->fields['textExtraction'] = array('type' => 'combo', 'default' => 'pdfbox', 'editable' => true, 'label' => __("Méthode d'extraction des textes"),\r
-                       'datas' => array(__('PDFBox') => 'pdfbox',\r
-                               __('Poppler') => 'poppler'));\r
-               $this->fields['searchShowNoResultsPages'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Afficher les pages sans résultats"));\r
-\r
-               $this->forms['search'] = array('label' => __('Moteur de recherche'),\r
-                       'fieldsnames' => array('search', 'searchShowNoResultsPages', '|', 'ignoreSearch', 'ignoreSearchSeparators', 'textExtraction'));\r
-\r
-               $this->fields['soundTheme'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __("Thème sonore"),\r
-                       'datas' => array(__('Pas de son') => '',\r
-                               __('Classique') => 'classic',\r
-                               __("Papier épais") => 'heavy',\r
-                               __("Papier fin") => 'light'));\r
-               $this->fields['soundOn'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer les effets sonores à l'ouverture"));\r
-               $this->forms['sound'] = array('label' => __('Effets sonores'),\r
-                       'fieldsnames' => array('soundTheme', 'soundOn'));\r
-               // .\r
-               $this->fields['pdf'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer les fonctions de téléchargement"));\r
-               $this->fields['pdfName'] = array('type' => 'text', 'default' => 'document.pdf', 'editable' => true, 'label' => __("Nom du fichier PDF"));\r
-               $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);\r
-               $this->fields['pdfCompress'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Compression du fichier PDF'));\r
-               $this->fields['pdfReplace'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('PDF de remplacement'), 'grade' => 3, 'fileFilter' => $pdfFilter);\r
-               $this->fields['offlineExport'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Téléchargement des versions offline'), "hint" => __('Valable si le téléchargement avancé est activé'), 'grade' => 3);\r
-               $this->forms['pdf'] = array('label' => __('Fonction de téléchargement'),\r
-                       'fieldsnames' => array('pdf', 'pdfName', 'pdfReplace', 'pdfCompress', 'pdfComplex', 'offlineExport'));\r
-               // .\r
-               $this->fields['zoomMode'] = array('type' => 'combo', 'default' => '0', 'editable' => true, 'label' => __("Mode de zoom"), 'grade' => 3,\r
-                       'datas' => array(__('Normal') => '0',\r
-                               __('Une page') => '1',\r
-                               __('Zoom désactivé') => '2'));\r
-               $this->fields['zoom'] = array('type' => 'integer', 'default' => 200, 'editable' => true, 'label' => __('Zoom par défaut (atteint au clic)'));\r
-               $this->fields['zoomw'] = array('type' => 'integer', 'default' => 300, 'editable' => true, 'label' => __("Zoom maximal (atteint à l'aide de la molette)"));\r
-               $this->forms['zoom'] = array('label' => __('Zoom'),\r
-                       'fieldsnames' => array('zoomMode', '|', 'zoom', 'zoomw'));\r
-               // .\r
-               $this->fields['stats'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer les statistiques Fluidbook'), 'grade' => 3);\r
-               $this->fields['stats_score'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher les scores dans les rapports'), 'grade' => 5);\r
-               $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'));\r
-               $this->fields['googleAnalytics'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Code Google Analytics'), 'size' => 10);\r
-               $this->fields['googleAnalyticsCustom'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Code Google Analytics personnalisé'));\r
-               $this->forms['stats'] = array('label' => __('Statistiques'),\r
-                       'fieldsnames' => array('stats', 'stats_score', 'stats_exclude_ip', '|', 'googleAnalytics', 'googleAnalyticsCustom'));\r
-\r
-               $this->fields['displayChaptersIcon'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Affiche l'icône du sommaire"), 'grade' => 1);\r
-               $this->fields['displayChaptersLine'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Affiche une ligne entre le label et le numéro de page"), 'grade' => 5);\r
-               $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);\r
-               $this->fields['displayChaptersAtStart'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Afficher le sommaire au chargement de la publication"), 'grade' => 3);\r
-               $this->fields['chaptersColumns'] = array('type' => 'integer', 'default' => 1, 'editable' => true, 'label' => __('Afficher le sommaire sur x colonne(s)'), 'grade' => 3);\r
-               $this->fields['chaptersColMaxWidth'] = array('type' => 'integer', 'default' => 300, 'editable' => true, 'label' => __("Largeur max d'une colonne"), 'grade' => 3);\r
-               $this->fields['chaptersLevelLimit'] = array('type' => 'integer', 'default' => 5, 'editable' => true, 'label' => __('Limiter à x niveaux'));\r
-               $this->fields['externalChapters'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('Sommaire personnalisé'), 'grade' => 3, 'fileFilter' => $swfFilter, 'hint' => __('Laisser vide pour utiliser le sommaire classique'));\r
-               $this->fields['fullExternalChapters'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Sommaire totalement personnalisé"), 'grade' => 3, 'hint' => __('Supprime la flèche de fermeture, titre prédéfini et couleur de fond'));\r
-               $this->fields['mobileChaptersStyle'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __('Style des chapîtres') . ' (' . __('version mobile') . ')'\r
-                       , 'datas' => array(__('Classique') => 'classic',\r
-                               __('INA') => 'ina'));\r
-\r
-               $this->fields['chaptersPosition'] = array('type' => 'combo', 'default' => 'center', 'editable' => true, 'label' => __("Position du sommaire"),\r
-                       'datas' => array(__('Centré') => 'center',\r
-                               __("Aligné sur l'icône") => 'chaptersIcon'));\r
-               $this->fields['chaptersCascade'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Sommaire en cascade"), 'grade' => 3);\r
-\r
-               $this->forms['sommaire'] = array('label' => __('Sommaire'),\r
-                       'fieldsnames' => array('displayChaptersIcon', 'displayChaptersAtStart', 'chaptersPage', 'chaptersPosition', 'chaptersLevelLimit', 'chaptersCascade', '|', 'chaptersColMaxWidth', 'chaptersColumns', 'displayChaptersLine', '|', 'externalChapters', 'fullExternalChapters', '|', 'mobileChaptersStyle'));\r
-               // .\r
-\r
-               $this->fields['ongletsXML'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('XML de configuration des onglets'), 'grade' => 5);\r
-               $this->fields['ongletsSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('SWF pour onglets personnalisés'), 'grade' => 3, 'fileFilter' => $swfFilter);\r
-\r
-               $this->fields['tabs2DSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('SWF pour onglets 2D'), 'grade' => 3, 'fileFilter' => $swfFilter);\r
-               $this->fields['flatTabsAbsolute'] = array('type' => 'boolean', 'default' => false, "editable" => true,\r
-                       'label' => __("Positionnement relatif à l'interface"), 'grade' => 5);\r
-\r
-               $this->forms['tabs'] = array('label' => __('Onglets'),\r
-                       'fieldsnames' => array('ongletsSWF', 'ongletsXML', '|', 'tabs2DSWF', 'flatTabsAbsolute'));\r
-\r
-               $this->fields['customLinkClass'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Classe pour les liens personnalisés'), 'grade' => 5);\r
-               $this->fields['permanentLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Liens visibles en permanence'), 'grade' => 3);\r
-               $this->fields['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);\r
-               $this->fields['linkBlinkTime'] = array('type' => 'float', 'default' => 1.0, 'editable' => true, 'label' => __("Temps d'apparition du lien à l'ouverture de la page (en secondes)"));\r
-               $this->fields['linkTooltipManager'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Gestionnaire des info-bulles"), 'grade' => 5);\r
-               $this->fields['linkTracker'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Tracking des liens'), 'grade' => 5);\r
-               $this->fields['linkTrackerRegexp'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Tracking des liens applicables aux liens du domaine'), 'grade' => 5);\r
-               $this->fields['linkMultimediaPerformanceMode'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Mode perfomance pour les liens multimédia'), 'grade' => 5);\r
-               $this->fields['linkMultimediaQuality'] = array('type' => 'float', 'default' => 1.0, 'editable' => true, 'label' => __('Qualité de rendu des animations'), 'grade' => 5);\r
-               $this->fields['linkCornerSize'] = array('type' => 'integer', 'default' => '10', 'editable' => true, 'label' => __('Taille des liens de coins de page'), 'hint' => __("Pourcentage de la largeur de la page"));\r
-               $this->fields['videoReset'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Réinitialiser les vidéos après la lecture'), 'grade' => 3);\r
-               $this->fields['videoBigPlay'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher le gros bouton Play'), 'grade' => 3);\r
-               $this->forms['multimedia'] = array('label' => __('Liens et multimédia'),\r
-                       'fieldsnames' => array('permanentLinks', 'linkBlinkTime', 'customLinkClass', 'ignoreLinksTypes', 'linkTooltipManager', 'linkCornerSize', '|', 'linkTracker', 'linkTrackerRegexp', '|', 'linkMultimediaPerformanceMode', 'linkMultimediaQuality', '|', 'videoReset', 'videoBigPlay'));\r
-               //.\r
-               $this->fields['externalArchives'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('Archives'), 'grade' => 3, 'fileFilter' => $imageFilter);\r
-               $this->fields['externalArchivesBack'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('Image de fond'), 'grade' => 3, 'fileFilter' => $imageFilter);\r
-               $this->fields['archivesLink'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Lien'), 'grade' => 5);\r
-               $this->fields['archivesLabel'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Label'), 'grade' => 5);\r
-\r
-               $this->forms['archives'] = array('label' => __('Archives'),\r
-                       'fieldsnames' => array('externalArchives', 'externalArchivesBack', '|', 'archivesLink', 'archivesLabel'));\r
-               // .\r
-               $this->fields['form'] = array('type' => 'combo', 'default' => '', 'editable' => true, 'grade' => 5, 'label' => __('Formulaire'), 'datas' => array(__('Aucun') => '', __('Bulle Groupe') => 'bulle'));\r
-               $this->forms['form'] = array('label' => __('Formulaire'),\r
-                       'fieldsnames' => array('form'));\r
-               //.\r
-               $this->fields['basket'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Panier activé'), 'grade' => 5);\r
-               $this->fields['basketManager'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __("Manager de panier"),\r
-                       'datas' => array(__('Classic') => 'com.fluidbook.player.basket.BasketManager',\r
-                               'Grdf' => 'com.fluidbook.player.basket.custom.grdf.GrdfBasketManager',\r
-                               'Grdf 2013' => 'com.fluidbook.player.basket.custom.grdf.grdf2013.GrdfBasketManager2013',\r
-                               'Essilor' => 'com.fluidbook.player.basket.custom.essilor.EssilorBasketManager',\r
-                               'Essilor Recap' => 'com.fluidbook.player.basket.cursor.essilorrecap.EssilorRecapBasketManager'), 'grade' => 5);\r
-               $this->fields['basketReferences'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('Références produits'), 'grade' => 5, 'fileFilter' => $basketFilter, 'hint' => __('Fichier contenant les références produits'), 'dir' => 'commerce');\r
-               $this->fields['basketImages'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('Images des produits'), 'grade' => 5, 'fileFilter' => $imageFilter, 'hint' => __('Chaque image doit avoir pour nom exact la référence du produit'),\r
-                       'multiple' => true, 'dir' => 'commerce');\r
-               $this->fields['basketPDFBackground'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('Fond du PDF (bon de commande)'), 'grade' => 5, 'fileFilter' => $epsFilter, 'hint' => __('Fond du bon de commande'), 'dir' => 'commerce');\r
-\r
-               $this->forms['basket'] = array('label' => __('Panier'),\r
-                       'fieldsnames' => array('basket', 'basketManager', 'basketReferences', 'basketImages', 'basketPDFBackground'));\r
-               // .\r
-               $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)'));\r
-               $this->fields['offlineTitle'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Titre de l'application"));\r
-               $this->forms['offline'] = array('label' => __('Version offline'),\r
-                       'fieldsnames' => array('offlineTitle', 'offlineLink'));\r
-\r
-               $this->fields['alwaysHTML5'] = array('type' => 'boolean', 'default' => 'false', 'editable' => true, 'label' => __('Toujours utiliser la version HTML5'), 'grade' => 3);\r
-               $this->fields['mobileVersion'] = array('type' => 'combo', 'default' => 'html5-images', 'editable' => true, 'label' => __('Version mobile'), 'grade' => 3,\r
-                       'datas' => array(__('Rediriger vers le PDF') => 'pdf',\r
-                               __('Version HTML5') => 'html5',\r
-                               __("Version HTML5 en images") => 'html5-images')\r
-               );\r
-\r
-               $this->fields['navOrderH'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Ordre des icônes dans la nav') . ' (' . __('Si différente') . ')', 'grade' => 3);\r
-\r
-               $this->fields['mobileLVersion'] = array('type' => 'combo', 'default' => 'stable', 'editable' => true, 'label' => __('Version logicielle'), 'grade' => 5,\r
-                       'datas' => array(__('Stable') => 'stable',\r
-                               __('En cours de développement') => 'dev')\r
-               );\r
-\r
-               $this->fields['mobileTransitions'] = array('type' => 'combo', 'default' => 'flip', 'editable' => true, 'label' => __('Transitions entre les pages'), 'grade' => 3,\r
-                       'datas' => array(__('Aucune transition') => 'none',\r
-                               __('Glisser') => 'slide',\r
-                               __('Tourner') => 'flip')\r
-               );\r
-               $this->fields['mobileNavigationType'] = array('type' => 'combo', 'default' => 'book', 'editable' => true, 'label' => __('Mode de navigation'), 'grade' => 5,\r
-                       'datas' => array(__('Normal (automatique)') => 'book',\r
-                               __('Normal (double page)') => 'landscape',\r
-                               __('Normal (une page)') => 'portrait',\r
-                               __('Magazine tablette') => 'tab')\r
-               );\r
-               $this->fields['mobileTransitionDuration'] = array('type' => 'float', 'default' => '1.0', 'editable' => true, 'label' => __('Durée de la transition'));\r
-\r
-               $this->fields['mobileIconVector'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Utiliser les icônes vectorielles'));\r
-               $this->fields['mobileServerConfig'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Inclure les fichiers de configuration serveur'), 'grade' => 3);\r
-\r
-               $this->fields['mobilePlugins'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Plugin'), 'grade' => 5);\r
-\r
-               $this->fields['mobileVideosPath'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Chemin vers les vidéos'), 'grade' => 5);\r
-               $this->fields['mobileExtraXSpace'] = array('type' => 'integer', 'default' => '0', 'editable' => true, 'label' => __('Marge supplémentaire horizontale'), 'grade' => 3);\r
-               $this->fields['mobileNavScale'] = array('type' => 'integer', 'default' => '100', 'editable' => true, 'label' => __('Taille du menu (en %)'), 'grade' => 3);\r
-\r
-               $this->forms['mobile'] = array('label' => __('Version mobile'),\r
-                       'fieldsnames' => array('alwaysHTML5','mobileLVersion', 'mobileVersion', 'mobileNavigationType', '|', 'mobileNavScale', '|', 'mobileTransitions', 'mobileTransitionDuration', '|', 'navOrderH', '|', 'mobileIconVector', 'mobileServerConfig', 'mobilePlugins', '|', 'mobileVideosPath', '|', 'mobileExtraXSpace'));\r
-\r
-               $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');\r
-               $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');\r
-               $this->fields['phonegapPlugins'] = array('type' => 'textarea', 'default' => 'ChildBrowser', 'editable' => true, 'label' => __('Plugins Phonegap'), 'grade' => 5);\r
-               $defaultScreenshots = "P,0\nL,2\nL,index";\r
-               $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))'));\r
-\r
-               $this->forms['phonegap'] = array('label' => __('Applications mobile'),\r
-                       'fieldsnames' => array('phonegapId', 'phonegapVersion', 'phonegapPlugins', 'appScreenshots'));\r
-\r
-               $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'));\r
-               $this->fields['secureURLRedirect'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => __('Redirection'), 'grade' => 5, 'hint' => __("Si l'authentification échoue, redirection vers cette adresse"));\r
-               $this->forms['secure'] = array('label' => __('Sécurisation'),\r
-                       'fieldsnames' => array('secureURL', 'secureURLRedirect'));\r
-\r
-               $this->fields['seoVersion'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Générer une version pour les moteurs de recherche'));\r
-               $this->fields['seoRobots'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Autoriser le parcours par les moteurs de recherche'));\r
-               $this->fields['seoDescription'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Meta tag Description'));\r
-               $this->fields['seoKeywords'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Meta tag Keywords'));\r
-\r
-               $this->forms['seo'] = array('label' => __('Optimisation pour les moteurs de recherche'),\r
-                       'fieldsnames' => array('seoVersion', 'seoRobots', 'seoDescription', "seoKeywords"));\r
-\r
-               $this->fields['home'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Accueil de l'interface multibrochure"), 'grade' => 5);\r
-               $this->fields['multilang'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Langues'), 'hint' => __('Code langue') . ',' . __('Code pays') . ',' . __('URL'));\r
-               $this->fields['country'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Pays de la brochure'));\r
-               $this->fields['multilangDisplay'] = array('type' => 'combo', 'default' => 'lang', 'editable' => true, 'label' => __('Affichage'),\r
-                       'datas' => array(__('Langue') => 'lang',\r
-                               __('Langue') . ' (' . __('Pays') . ')' => 'lang_country',\r
-                               __('Pays') . ' (' . __('Langue') . ')' => 'country_lang'));\r
-               $this->forms['multibrochure'] = array('label' => __('Multibrochure'),\r
-                       'fieldsnames' => array('home', 'country', 'multilangDisplay', 'multilang'));\r
-\r
-               $this->fields['plv'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Activer le mode PLV'), 'grade' => 3);\r
-               $this->fields['plvTimer'] = array('type' => 'integer', 'min' => 1, 'max' => 60, 'default' => 5, 'editable' => true, 'label' => __('Temps'), 'grade' => 3);\r
-               $this->fields['plvMode'] = array('type' => 'combo', 'default' => 'first', 'editable' => true, 'label' => __('Arrivé à la dernière page'), 'grade' => 3,\r
-                       'datas' => array(__('Remonter vers la première page') => 'back',\r
-                               __('Recommencer à la première page') => 'first'));\r
-               $this->forms['plv'] = array('label' => __('Mode PLV'),\r
-                       'fieldsnames' => array('plv', 'plvTimer', 'plvMode'));\r
-\r
-               $this->fields['widget'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Générer le widget'), 'grade' => 3);\r
-               $this->fields['widgetCover'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher la couverture') . ')', 'grade' => 3);\r
-               $this->fields['widgetSize'] = array('type' => 'integer', 'default' => 200, 'editable' => true, 'label' => __('Optimiser pour une hauteur de (en pixels)'), 'grade' => 3);\r
-               $this->fields['widgetQuality'] = array('type' => 'integer', 'default' => 85, 'min' => 0, 'max' => 100, 'editable' => true, 'label' => __('Qualité JPEG'), 'grade' => 3);\r
-               $this->fields['widgetStart'] = array('type' => 'integer', 'default' => 1, 'editable' => true, 'label' => __('Page de début'), 'grade' => 3);\r
-               $this->fields['widgetEnd'] = array('type' => 'integer', 'default' => 8, 'editable' => true, 'label' => __('Page de fin'), 'grade' => 3);\r
-               $this->forms['widget'] = array('label' => __('Widget') . ' (' . __('Mini Fluidbook') . ')',\r
-                       'fieldsnames' => array('widget', 'widgetCover', 'widgetSize', 'widgetQuality', 'widgetStart', 'widgetEnd'));\r
-\r
-               $this->fields['extras'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Extras'), 'grade' => 3);\r
-               $this->fields['v1SWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true,\r
-                       'label' => __('Index.swf spécifique'), 'grade' => 5, 'fileFilter' => $swfFilter);\r
-               $this->forms['v1'] = array('label' => __('Options spécifiques au fluidbook version 1'),\r
-                       'fieldsnames' => array('extras', 'v1SWF'));\r
-\r
-               $this->fields['themeEnableAfterSearch'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Afficher l'image supplémentaire à droite du moteur de recherche"), 'grade' => 3);\r
-               $this->forms['theme'] = array('label' => __('Options du thème'),\r
-                       'fieldsnames' => array('themeEnableAfterSearch'));\r
-\r
-               $this->fields['disableDemo'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Désactiver le lien de démo'), 'grade' => 5);\r
-               $this->fields['redirectDemo'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Rediriger le lien de démo vers'), 'grade' => 5);\r
-               $this->forms['demo'] = array('label' => __('Lien de démo'),\r
-                       'fieldsnames' => array('disableDemo', 'redirectDemo'));\r
-       }\r
-\r
-}\r
-\r
+<?php
+
+class wsBookParametres extends wsParametres {
+
+       public function __construct($parent) {
+               parent::__construct($parent);
+       }
+
+       /**
+        * wsBookParametres::initFields()
+        *
+        * @return
+        */
+       protected function initFields() {
+               parent::initFields();
+               if (is_null($this->parent)) {
+                       return;
+               }
+
+               // .
+               $swfFilter = new stdClass();
+               $swfFilter->name = __('Animation SWF') . ' (*.swf)';
+               $swfFilter->extensions = '*.swf';
+
+               $pdfFilter = new stdClass();
+               $pdfFilter->name = __('Document PDF') . ' (*.pdf)';
+               $pdfFilter->extensions = '*.pdf';
+
+               $basketFilter = new stdClass();
+               $basketFilter->name = __('Liste de produits') . ' (*.xml)';
+               $basketFilter->extensions = '*.xml';
+
+               $imageFilter = new stdClass();
+               $imageFilter->name = __('Images') . ' (*.jpg, *.png)';
+               $imageFilter->extensions = '*.jpg;*.jpeg;*.png';
+
+               $epsFilter = new stdClass();
+               $epsFilter->name = __('Fichier vectoriel') . ' (*.ai, *.eps)';
+               $epsFilter->extensions = '*.ai;*.eps';
+
+               $this->fields['version'] = array('type' => 'combo', 'default' => '2', 'editable' => true, 'label' => __('Version'), 'datas' => array('1' => '1', '2' => '2'), 'grade' => 3);
+               $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'),
+                       'fieldsnames' => array('version', 'title', 'url_link', 'signature'));
+               // .
+               // .
+
+               $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_editable'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Permettre au lecteur de modifier le corps de l'email"));
+               $this->fields['askAcknowledge'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Demander au destinataire un accusé de réception"), 'grade' => 3);
+
+               $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_image'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
+                       'label' => __('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['googleplus'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Google +'));
+               $this->fields['linkedin'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('LinkedIn'));
+               $this->fields['viadeo'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Viadeo'));
+               $this->fields['customSharer'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Classe personnalisée de partage"), 'grade' => 5);
+               $this->fields['friendWidth'] = array('type' => 'integer', 'default' => 319, 'editable' => true, 'label' => __('Largeur du menu'), 'grade' => 5);
+               $this->fields['friendHeight'] = array('type' => 'integer', 'default' => 500, 'editable' => true, 'label' => __('Largeur du menu'), 'grade' => 5);
+               $this->forms['share'] = array('label' => __('Fonctions de partage'),
+                       'fieldsnames' => array('share', '|', 'email_title', 'email_body', 'email_editable', 'askAcknowledge', '|',
+                               'facebook_title', 'facebook_description', 'facebook_image', 'twitter_description', '|',
+                               'friend', 'facebook', 'twitter', 'googleplus', 'linkedin', 'viadeo', '|', 'customSharer', '|', 'friendWidth', 'friendHeight'));
+               // .
+               $this->fields['pages'] = array('type' => 'integer', 'default' => '', 'editable' => false, 'label' => __('Nombre de pages'));
+               $this->fields['width'] = array('type' => 'float', 'default' => '', 'editable' => false, 'label' => __('Largeur'));
+               $this->fields['height'] = array('type' => 'float', 'default' => '', 'editable' => false, 'label' => __('Hauteur'));
+               // .
+               $this->fields['visualisationMode'] = array('type' => 'combo', 'default' => '3', 'editable' => true, '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['viewMode'] = array('type' => 'combo', 'default' => '3', 'editable' => true, 'label' => __("Mode de visualisation (beta)"),
+                       'datas' => array(__('Classique') => '0',
+                               __("Diaporama") => '1'), 'grade' => 5);
+               $this->fields['antialiasReading'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Amélioration de la lisibilité en mode 2D"));
+               $this->fields['pagesBaseAngle'] = array('type' => 'integer', 'default' => '2', 'editable' => true, 'label' => __('Angle de base entre les pages'), 'grade' => 3,
+                       'hint' => __("0 : Publication à plat") . "\n" . __('2 : Valeur par défaut'));
+               $this->fields['extraXSpace'] = 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' => false, 'editable' => true, 'label' => __('Corriger les lignes blanches entre les pages'), 'grade' => 2);
+               $this->forms['3d_mode'] = array('label' => __('Options de visualisation'),
+                       'fieldsnames' => array('visualisationMode', 'antialiasReading', 'correctCenter', 'pagesBaseAngle', 'centerBook', '|', 'extraXSpace', 'extraYSpace', '|', 'viewMode'));
+
+               $this->fields['preload'] = array('type' => 'integer', 'default' => 16, 'editable' => true, 'label' => __('Nombre de pages à précharger'), 'grade' => 3);
+               $this->fields['fullscreen'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer le mode plein-écran'));
+               $this->fields['navOrder'] = array('type' => 'textarea', 'default' => 'index, chapters, print, friend, bookmark, pdf, archives, basket, fullscreen, sound, 3d, help', 'editable' => true, 'label' => __('Ordre des icônes dans la nav'), 'grade' => 3);
+               $this->fields['tooltipTimer'] = array('type' => 'float', 'default' => 3, "editable" => true, 'label' => __("Temps maximum d'apparition des infos-bulles (en secondes)"));
+               $this->forms['general'] = array('label' => __('Fonctionnalités générales'),
+                       'fieldsnames' => array('fullscreen', 'navOrder', 'tooltipTimer', 'preload', 'pages', 'width', 'height'));
+               //.
+               //
+
+               $this->fields['bookmark'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer les 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' => 10, 'editable' => true, 'label' => __("Taille des marques-pages"), 'hint' => __('Taille relative à la largeur de la page'));
+               $this->forms['bookmark'] = array('label' => __('Marques-pages'),
+                       'fieldsnames' => array('bookmark', '|', 'bookmark_email_title', 'bookmark_email_body', '|', 'bookmarkCornerSize'));
+
+               $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->forms['help'] = array('label' => __('Aide'),
+                       'fieldsnames' => array('help', '|', 'helpStartup', 'helpStartupTime', '|', 'helpBookmarks', '|', 'helpArrowTooltip'));
+               // .
+               //
+               $this->fields['indexAutoScroll'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Activer le scroll automatique'));
+               $this->forms['index'] = array('label' => __('Index'), 'fieldsnames' => array('indexAutoScroll'));
+
+               // .
+               //
+               $this->fields['print'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer l'impression"));
+               $this->fields['printMode'] = array('type' => 'combo', 'default' => 'vector', 'editable' => true, 'label' => __("Mode d'impression"),
+                       'datas' => array(__('Bitmap') => 'bitmap',
+                               __('Vectoriel') => 'vector',
+                               __('PDF') => 'pdf'));
+               $this->fields['printCoverWithMarks'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Imprimer les couvertures avec les pages marquées"), 'grade' => 3);
+               $this->forms['print'] = array('label' => __('Impression'),
+                       'fieldsnames' => array('print', 'printMode', 'printCoverWithMarks'));
+
+
+               $this->fields['search'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer le moteur de recherche'));
+               $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['textExtraction'] = array('type' => 'combo', 'default' => 'pdfbox', 'editable' => true, 'label' => __("Méthode d'extraction des textes"),
+                       'datas' => array(__('PDFBox') => 'pdfbox',
+                               __('Poppler') => 'poppler'));
+               $this->fields['searchShowNoResultsPages'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Afficher les pages sans résultats"));
+
+               $this->forms['search'] = array('label' => __('Moteur de recherche'),
+                       'fieldsnames' => array('search', 'searchShowNoResultsPages', '|', 'ignoreSearch', 'ignoreSearchSeparators', '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'));
+               $this->fields['soundOn'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Activer les effets sonores à l'ouverture"));
+               $this->forms['sound'] = array('label' => __('Effets sonores'),
+                       'fieldsnames' => array('soundTheme', 'soundOn'));
+               // .
+               $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['pdfCompress'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Compression du fichier PDF'));
+               $this->fields['pdfReplace'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
+                       'label' => __('PDF de remplacement'), 'grade' => 3, 'fileFilter' => $pdfFilter);
+               $this->fields['offlineExport'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Téléchargement des versions offline'), "hint" => __('Valable si le téléchargement avancé est activé'), 'grade' => 3);
+               $this->forms['pdf'] = array('label' => __('Fonction de téléchargement'),
+                       'fieldsnames' => array('pdf', 'pdfName', 'pdfReplace', 'pdfCompress', 'pdfComplex', 'offlineExport'));
+               // .
+               $this->fields['zoomMode'] = array('type' => 'combo', 'default' => '0', 'editable' => true, 'label' => __("Mode de zoom"), 'grade' => 3,
+                       'datas' => array(__('Normal') => '0',
+                               __('Une page') => '1',
+                               __('Zoom désactivé') => '2'));
+               $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->forms['zoom'] = array('label' => __('Zoom'),
+                       'fieldsnames' => array('zoomMode', '|', 'zoom', 'zoomw'));
+               // .
+               $this->fields['stats'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer les statistiques Fluidbook'), 'grade' => 3);
+               $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['googleAnalytics'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Code Google Analytics'), 'size' => 10);
+               $this->fields['googleAnalyticsCustom'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Code Google Analytics personnalisé'));
+               $this->forms['stats'] = array('label' => __('Statistiques'),
+                       'fieldsnames' => array('stats', 'stats_score', 'stats_exclude_ip', '|', 'googleAnalytics', 'googleAnalyticsCustom'));
+
+               $this->fields['displayChaptersIcon'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Affiche l'icône du sommaire"), 'grade' => 1);
+               $this->fields['displayChaptersLine'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Affiche une ligne entre le label et le numéro de page"), 'grade' => 5);
+               $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['externalChapters'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
+                       'label' => __('Sommaire personnalisé'), 'grade' => 3, 'fileFilter' => $swfFilter, 'hint' => __('Laisser vide pour utiliser le sommaire classique'));
+               $this->fields['fullExternalChapters'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Sommaire totalement personnalisé"), 'grade' => 3, 'hint' => __('Supprime la flèche de fermeture, titre prédéfini et couleur de fond'));
+               $this->fields['mobileChaptersStyle'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __('Style des chapîtres') . ' (' . __('version mobile') . ')'
+                       , 'datas' => array(__('Classique') => 'classic',
+                               __('INA') => 'ina'));
+
+               $this->fields['chaptersPosition'] = array('type' => 'combo', 'default' => 'center', 'editable' => true, 'label' => __("Position du sommaire"),
+                       'datas' => array(__('Centré') => 'center',
+                               __("Aligné sur l'icône") => 'chaptersIcon'));
+               $this->fields['chaptersCascade'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Sommaire en cascade"), 'grade' => 3);
+
+               $this->forms['sommaire'] = array('label' => __('Sommaire'),
+                       'fieldsnames' => array('displayChaptersIcon', 'displayChaptersAtStart', 'chaptersPage', 'chaptersPosition', 'chaptersLevelLimit', 'chaptersCascade', '|', 'chaptersColMaxWidth', 'chaptersColumns', 'displayChaptersLine', '|', 'externalChapters', 'fullExternalChapters', '|', 'mobileChaptersStyle'));
+               // .
+
+               $this->fields['ongletsXML'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('XML de configuration des onglets'), 'grade' => 5);
+               $this->fields['ongletsSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
+                       'label' => __('SWF pour onglets personnalisés'), 'grade' => 3, 'fileFilter' => $swfFilter);
+
+               $this->fields['tabs2DSWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
+                       'label' => __('SWF pour onglets 2D'), 'grade' => 3, 'fileFilter' => $swfFilter);
+               $this->fields['flatTabsAbsolute'] = array('type' => 'boolean', 'default' => false, "editable" => true,
+                       'label' => __("Positionnement relatif à l'interface"), 'grade' => 5);
+
+               $this->forms['tabs'] = array('label' => __('Onglets'),
+                       'fieldsnames' => array('ongletsSWF', 'ongletsXML', '|', 'tabs2DSWF', 'flatTabsAbsolute'));
+
+               $this->fields['customLinkClass'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Classe pour les liens personnalisés'), 'grade' => 5);
+               $this->fields['permanentLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Liens visibles en permanence'), 'grade' => 3);
+               $this->fields['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['linkBlinkTime'] = array('type' => 'float', 'default' => 1.0, 'editable' => true, 'label' => __("Temps d'apparition du lien à l'ouverture de la page (en secondes)"));
+               $this->fields['linkTooltipManager'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Gestionnaire des info-bulles"), 'grade' => 5);
+               $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['linkMultimediaPerformanceMode'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Mode perfomance pour les liens multimédia'), 'grade' => 5);
+               $this->fields['linkMultimediaQuality'] = array('type' => 'float', 'default' => 1.0, 'editable' => true, 'label' => __('Qualité de rendu des animations'), 'grade' => 5);
+               $this->fields['linkCornerSize'] = array('type' => 'integer', 'default' => '10', 'editable' => true, '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' => true, 'label' => __('Réinitialiser les vidéos après la lecture'), 'grade' => 3);
+               $this->fields['videoBigPlay'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher le gros bouton Play'), 'grade' => 3);
+               $this->forms['multimedia'] = array('label' => __('Liens et multimédia'),
+                       'fieldsnames' => array('permanentLinks', 'linkBlinkTime', 'customLinkClass', 'ignoreLinksTypes', 'linkTooltipManager', 'linkCornerSize', '|', 'linkTracker', 'linkTrackerRegexp', '|', 'linkMultimediaPerformanceMode', 'linkMultimediaQuality', '|', 'videoReset', 'videoBigPlay'));
+               //.
+               $this->fields['externalArchives'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
+                       'label' => __('Archives'), 'grade' => 3, 'fileFilter' => $imageFilter);
+               $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['archivesLabel'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Label'), 'grade' => 5);
+
+               $this->forms['archives'] = array('label' => __('Archives'),
+                       'fieldsnames' => array('externalArchives', 'externalArchivesBack', '|', 'archivesLink', 'archivesLabel'));
+               // .
+               $this->fields['form'] = array('type' => 'combo', 'default' => '', 'editable' => true, 'grade' => 5, 'label' => __('Formulaire'), 'datas' => array(__('Aucun') => '', __('Bulle Groupe') => 'bulle'));
+               $this->forms['form'] = array('label' => __('Formulaire'),
+                       'fieldsnames' => array('form'));
+               //.
+               $this->fields['basket'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Panier activé'), 'grade' => 5);
+               $this->fields['basketManager'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __("Manager de panier"),
+                       'datas' => array(__('Classic') => 'com.fluidbook.player.basket.BasketManager',
+                               'Grdf' => 'com.fluidbook.player.basket.custom.grdf.GrdfBasketManager',
+                               'Grdf 2013' => 'com.fluidbook.player.basket.custom.grdf.grdf2013.GrdfBasketManager2013',
+                               'Essilor' => 'com.fluidbook.player.basket.custom.essilor.EssilorBasketManager',
+                               'Essilor Recap' => 'com.fluidbook.player.basket.cursor.essilorrecap.EssilorRecapBasketManager'), 'grade' => 5);
+               $this->fields['basketReferences'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
+                       'label' => __('Références produits'), 'grade' => 5, 'fileFilter' => $basketFilter, 'hint' => __('Fichier contenant les références produits'), 'dir' => 'commerce');
+               $this->fields['basketImages'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
+                       'label' => __('Images des produits'), 'grade' => 5, 'fileFilter' => $imageFilter, 'hint' => __('Chaque image doit avoir pour nom exact la référence du produit'),
+                       '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');
+
+               $this->forms['basket'] = array('label' => __('Panier'),
+                       'fieldsnames' => array('basket', 'basketManager', 'basketReferences', 'basketImages', 'basketPDFBackground'));
+               // .
+               $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->forms['offline'] = array('label' => __('Version offline'),
+                       'fieldsnames' => array('offlineTitle', 'offlineLink'));
+
+               $this->fields['alwaysHTML5'] = array('type' => 'boolean', 'default' => 'false', 'editable' => true, 'label' => __('Toujours utiliser la version HTML5'), 'grade' => 3);
+               $this->fields['mobileVersion'] = array('type' => 'combo', 'default' => 'html5-images', 'editable' => true, 'label' => __('Version mobile'), 'grade' => 3,
+                       'datas' => array(__('Rediriger vers le PDF') => 'pdf',
+                               __('Version HTML5') => 'html5',
+                               __("Version HTML5 en images") => 'html5-images')
+               );
+
+               $this->fields['navOrderH'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Ordre des icônes dans la nav') . ' (' . __('Si différente') . ')', 'grade' => 3);
+
+               $this->fields['mobileLVersion'] = array('type' => 'combo', 'default' => 'stable', 'editable' => true, 'label' => __('Version logicielle'), 'grade' => 5,
+                       'datas' => array(__('Stable') => 'stable',
+                               __('En cours de développement') => 'dev')
+               );
+
+               $this->fields['mobileTransitions'] = array('type' => 'combo', 'default' => 'flip', 'editable' => true, 'label' => __('Transitions entre les pages'), 'grade' => 3,
+                       'datas' => array(__('Aucune transition') => 'none',
+                               __('Glisser') => 'slide',
+                               __('Tourner') => 'flip')
+               );
+               $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',
+                               __('Magazine tablette') => 'tab')
+               );
+               $this->fields['mobileTransitionDuration'] = array('type' => 'float', 'default' => '1.0', 'editable' => true, 'label' => __('Durée de la transition'));
+
+               $this->fields['mobileIconVector'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Utiliser les icônes vectorielles'));
+               $this->fields['mobileServerConfig'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Inclure les fichiers de configuration serveur'), 'grade' => 3);
+
+               $this->fields['mobilePlugins'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Plugin'), 'grade' => 5);
+
+               $this->fields['mobileVideosPath'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Chemin vers les vidéos'), 'grade' => 5);
+               $this->fields['mobileExtraXSpace'] = array('type' => 'integer', 'default' => '0', 'editable' => true, 'label' => __('Marge supplémentaire horizontale'), 'grade' => 3);
+               $this->fields['mobileNavScale'] = array('type' => 'integer', 'default' => '100', 'editable' => true, 'label' => __('Taille du menu (en %)'), 'grade' => 3);
+
+               $this->fields['mobileIgnoreBackgroundLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Ignorer les liens de background'));
+
+               $this->forms['mobile'] = array('label' => __('Version mobile'),
+                       'fieldsnames' => array('alwaysHTML5', 'mobileLVersion', 'mobileVersion', 'mobileNavigationType', '|', 'mobileNavScale', '|', 'mobileTransitions', 'mobileTransitionDuration', '|', 'navOrderH', '|', 'mobileIconVector', 'mobileServerConfig', 'mobilePlugins', '|', 'mobileVideosPath', '|', 'mobileExtraXSpace', '|', 'mobileIgnoreBackgroundLinks'));
+
+               $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);
+               $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->forms['phonegap'] = array('label' => __('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->forms['secure'] = array('label' => __('Sécurisation'),
+                       'fieldsnames' => array('secureURL', 'secureURLRedirect'));
+
+               $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->forms['seo'] = array('label' => __('Optimisation pour les moteurs de recherche'),
+                       'fieldsnames' => array('seoVersion', 'seoRobots', 'seoDescription', "seoKeywords"));
+
+               $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'),
+                       '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'),
+                       'fieldsnames' => array('plv', 'plvTimer', 'plvMode'));
+
+               $this->fields['widget'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Générer le widget'), 'grade' => 3);
+               $this->fields['widgetCover'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher la couverture') . ')', 'grade' => 3);
+               $this->fields['widgetSize'] = array('type' => 'integer', 'default' => 200, 'editable' => true, 'label' => __('Optimiser pour une hauteur de (en pixels)'), 'grade' => 3);
+               $this->fields['widgetQuality'] = array('type' => 'integer', 'default' => 85, 'min' => 0, 'max' => 100, 'editable' => true, 'label' => __('Qualité JPEG'), 'grade' => 3);
+               $this->fields['widgetStart'] = array('type' => 'integer', 'default' => 1, 'editable' => true, 'label' => __('Page de début'), 'grade' => 3);
+               $this->fields['widgetEnd'] = array('type' => 'integer', 'default' => 8, 'editable' => true, 'label' => __('Page de fin'), 'grade' => 3);
+               $this->forms['widget'] = array('label' => __('Widget') . ' (' . __('Mini Fluidbook') . ')',
+                       'fieldsnames' => array('widget', 'widgetCover', 'widgetSize', 'widgetQuality', 'widgetStart', 'widgetEnd'));
+
+               $this->fields['extras'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Extras'), 'grade' => 3);
+               $this->fields['v1SWF'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
+                       'label' => __('Index.swf spécifique'), 'grade' => 5, 'fileFilter' => $swfFilter);
+               $this->forms['v1'] = array('label' => __('Options spécifiques au fluidbook version 1'),
+                       'fieldsnames' => array('extras', 'v1SWF'));
+
+               $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'),
+                       'fieldsnames' => array('themeEnableAfterSearch'));
+
+               $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'),
+                       'fieldsnames' => array('disableDemo', 'redirectDemo'));
+       }
+
+}
+
 ?>
\ No newline at end of file