Add conditional Tika URL setting
This commit is contained in:
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
use Contao\CoreBundle\DataContainer\PaletteManipulator;
|
use Contao\CoreBundle\DataContainer\PaletteManipulator;
|
||||||
use Contao\System;
|
use Contao\System;
|
||||||
use Contao\Config;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* -------------------------------------------------
|
* -------------------------------------------------
|
||||||
@@ -85,22 +84,11 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_past_events'] = [
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* -------------------------------------------------
|
* -------------------------------------------------
|
||||||
* PDF / Office Indexierung
|
* Datei-Indexierung (Tika)
|
||||||
* -------------------------------------------------
|
* -------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_pdfs'] = [
|
$GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_files'] = [
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_pdfs'],
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => [
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'submitOnChange' => true,
|
|
||||||
],
|
|
||||||
'sql' => "char(1) NOT NULL default '1'",
|
|
||||||
];
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_office'] = [
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_office'],
|
|
||||||
'inputType' => 'checkbox',
|
'inputType' => 'checkbox',
|
||||||
'eval' => [
|
'eval' => [
|
||||||
'tl_class' => 'w50',
|
'tl_class' => 'w50',
|
||||||
@@ -109,32 +97,6 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_office'] = [
|
|||||||
'sql' => "char(1) NOT NULL default '0'",
|
'sql' => "char(1) NOT NULL default '0'",
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
|
||||||
* -------------------------------------------------
|
|
||||||
* Virtueller Sammel-Selector (intern)
|
|
||||||
* -------------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_documents'] = [
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => [
|
|
||||||
'doNotShow' => true,
|
|
||||||
],
|
|
||||||
'load_callback' => [
|
|
||||||
static function () {
|
|
||||||
return (Config::get('meilisearch_index_pdfs') || Config::get('meilisearch_index_office'))
|
|
||||||
? '1'
|
|
||||||
: '';
|
|
||||||
},
|
|
||||||
],
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* -------------------------------------------------
|
|
||||||
* Tika URL (GENAU EINMAL!)
|
|
||||||
* -------------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_tika_url'] = [
|
$GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_tika_url'] = [
|
||||||
'inputType' => 'text',
|
'inputType' => 'text',
|
||||||
'eval' => [
|
'eval' => [
|
||||||
@@ -150,9 +112,9 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_tika_url'] = [
|
|||||||
* -------------------------------------------------
|
* -------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_settings']['palettes']['__selector__'][] = 'meilisearch_index_documents';
|
$GLOBALS['TL_DCA']['tl_settings']['palettes']['__selector__'][] = 'meilisearch_index_files';
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_settings']['subpalettes']['meilisearch_index_documents']
|
$GLOBALS['TL_DCA']['tl_settings']['subpalettes']['meilisearch_index_files']
|
||||||
= 'meilisearch_tika_url';
|
= 'meilisearch_tika_url';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -170,24 +132,5 @@ PaletteManipulator::create()
|
|||||||
->addField('meilisearch_imagesize', 'meilisearch_legend')
|
->addField('meilisearch_imagesize', 'meilisearch_legend')
|
||||||
->addField('meilisearch_fallback_image', 'meilisearch_legend')
|
->addField('meilisearch_fallback_image', 'meilisearch_legend')
|
||||||
->addField('meilisearch_index_past_events', 'meilisearch_legend')
|
->addField('meilisearch_index_past_events', 'meilisearch_legend')
|
||||||
->addField('meilisearch_index_pdfs', 'meilisearch_legend')
|
->addField('meilisearch_index_files', 'meilisearch_legend')
|
||||||
->addField('meilisearch_index_office', 'meilisearch_legend')
|
|
||||||
->applyToPalette('default', 'tl_settings');
|
->applyToPalette('default', 'tl_settings');
|
||||||
|
|
||||||
/**
|
|
||||||
* -------------------------------------------------
|
|
||||||
* Absicherung beim Speichern
|
|
||||||
* -------------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_settings']['config']['onsubmit_callback'][] = static function () {
|
|
||||||
$pdf = (bool) Config::get('meilisearch_index_pdfs');
|
|
||||||
$office = (bool) Config::get('meilisearch_index_office');
|
|
||||||
$tika = Config::get('meilisearch_tika_url');
|
|
||||||
|
|
||||||
if (($pdf || $office) && !$tika) {
|
|
||||||
throw new \RuntimeException(
|
|
||||||
'Die Tika-URL ist erforderlich, wenn PDF- oder Office-Indexierung aktiviert ist.'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -28,14 +28,10 @@ $GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_past_events'][0]
|
|||||||
$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_past_events'][1]
|
$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_past_events'][1]
|
||||||
= 'Vergangene Kalender-Events werden ebenfalls in Meilisearch indexiert.';
|
= 'Vergangene Kalender-Events werden ebenfalls in Meilisearch indexiert.';
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_pdfs'] = [
|
$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_files'] = [
|
||||||
'PDFs indexieren',
|
'Dateien indexieren',
|
||||||
'Aktiviert die Indexierung von PDF-Dateien für die Suche.',
|
'Aktiviert die Indexierung von PDF-Dateien sowie DOCX, XLSX und PPTX.',
|
||||||
];
|
];
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_office']
|
|
||||||
= ['Office-Dateien indexieren', 'DOCX, XLSX und PPTX in die Suche aufnehmen.'];
|
|
||||||
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_settings']['meilisearch_tika_url']
|
$GLOBALS['TL_LANG']['tl_settings']['meilisearch_tika_url']
|
||||||
= ['Apache Tika URL', 'URL der Apache Tika Instanz (z. B. https://tika.domain.tld).'];
|
= ['Apache Tika URL', 'URL der Apache Tika Instanz (z. B. https://tika.domain.tld).'];
|
||||||
Reference in New Issue
Block a user