]> _ Git - cubeextranet.git/commitdiff
done #1667 @1
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 15 Sep 2017 13:19:52 +0000 (13:19 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 15 Sep 2017 13:19:52 +0000 (13:19 +0000)
inc/ws/Metier/class.ws.book.parametres.php

index f944b03264469d2f80fde583c32e1e54f48d2777..75660ae172f84e07206b0d3c8b9b596ac252ce08 100644 (file)
@@ -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') => '',