From 7dd58f60f92fc18d1142bc9b6eb190e87eb2b900 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Fri, 15 Sep 2017 13:19:52 +0000 Subject: [PATCH] done #1667 @1 --- inc/ws/Metier/class.ws.book.parametres.php | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/inc/ws/Metier/class.ws.book.parametres.php b/inc/ws/Metier/class.ws.book.parametres.php index f944b0326..75660ae17 100644 --- a/inc/ws/Metier/class.ws.book.parametres.php +++ b/inc/ws/Metier/class.ws.book.parametres.php @@ -132,9 +132,9 @@ class wsBookParametres extends wsParametres { $this->fields['navOrder'] = array('type' => 'textarea', 'default' => 'index, chapters, print, friend, bookmark, pdf, archives, basket, fullscreen, sound, 3d, help, lang', '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->fields['navExtraImage'] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Nav extra image (desktop)'), 'fileFilter' => $svgFilter); - $this->fields['navExtraImageMobile'] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Nav extra image (mobile, optional)'), 'fileFilter' => $svgFilter); - $this->fields['navExtraLink'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("URL for Nav extra image")); + $this->fields['navExtraImage'] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Nav extra image (desktop)'), 'fileFilter' => $svgFilter); + $this->fields['navExtraImageMobile'] = array('type' => 'freefile', 'default' => '', 'editable' => true, 'label' => __('Nav extra image (mobile, optional)'), 'fileFilter' => $svgFilter); + $this->fields['navExtraLink'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("URL for Nav extra image")); $this->forms['general'] = array('label' => __('Fonctionnalités générales'), 'fieldsnames' => array('navOrder', 'navExtraImage', 'navExtraImageMobile', 'navExtraLink', 'tooltipTimer', 'preload', 'pages', 'width', 'height')); @@ -183,16 +183,27 @@ class wsBookParametres extends wsParametres { $this->fields['search'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer le moteur de recherche')); $this->fields['highlightResults'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Surligner les résultats')); + $this->fields['highlightAllOccurences'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Surligner toutes les occurences'), 'hint' => __('Même sur les pages non considérées comme un résultat')); $this->fields['ignoreSearch'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Mots à ignorer'), 'hint' => __('Liste des mots à ignorer séparés par des virgules'), 'grade' => 5); $this->fields['ignoreSearchSeparators'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Caractères à ne pas considérer comme un séparateur de mot')); + $this->fields['ignoreWordLimit'] = ['type' => 'integer', 'default' => 3, 'editable' => true, 'label' => __('Ignorer les mots de moins de X caractères')]; $this->fields['textExtraction'] = array('type' => 'combo', 'default' => 'pdfbox', 'editable' => true, 'label' => __("Méthode d'extraction des textes"), 'datas' => array(__('PDFBox') => 'pdfbox', __('Poppler') => 'poppler')); $this->fields['searchShowNoResultsPages'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Afficher les pages sans résultats")); + $this->fields['searchPageSelectionAlgorithm'] = array('type' => 'combo', 'editable' => true, 'default' => 'AND', + 'datas' => [__('les double-pages qui contiennent tous les mots recherchés (ET logique)') => 'AND', __('les double-page qui contiennent un des mots recherché (OU logique)') => 'OR'], 'label' => __('Algorithme de sélection des résultats')); + $this->fields['searchWordSelectionAlgorithm'] = array('type' => 'combo', 'editable' => true, 'default' => 'begins', + 'datas' => [__('mot commençant par la requête') => 'begins', __('mot correspondant exactement à la requête') => 'exact', __('mot contenant la requête') => 'contains'], + 'label' => __('Algorithme de sélection des occurences')); $this->forms['search'] = array('label' => __('Moteur de recherche'), - 'fieldsnames' => array('search', 'highlightResults', 'searchShowNoResultsPages', '|', 'ignoreSearch', 'ignoreSearchSeparators', 'textExtraction')); + 'fieldsnames' => array('search', '|', 'ignoreWordLimit', 'ignoreSearch', 'ignoreSearchSeparators', + '|', 'searchWordSelectionAlgorithm', 'searchPageSelectionAlgorithm', + '|', 'highlightResults', 'highlightAllOccurences', + '|', 'searchShowNoResultsPages', + '|', 'textExtraction')); $this->fields['soundTheme'] = array('type' => 'combo', 'default' => 'classic', 'editable' => true, 'label' => __("Thème sonore"), 'datas' => array(__('Pas de son') => '', -- 2.39.5