From 8b2246779905940695b69bb5a97d8911ddd9b2f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Mummert?= Date: Fri, 9 Jan 2026 11:58:52 +0100 Subject: [PATCH] Add conditional Tika URL setting --- src/Resources/contao/dca/tl_settings.php | 69 ++----------------- .../contao/languages/de/tl_settings.php | 10 +-- 2 files changed, 9 insertions(+), 70 deletions(-) diff --git a/src/Resources/contao/dca/tl_settings.php b/src/Resources/contao/dca/tl_settings.php index 8f779b0..d284ef3 100644 --- a/src/Resources/contao/dca/tl_settings.php +++ b/src/Resources/contao/dca/tl_settings.php @@ -2,7 +2,6 @@ use Contao\CoreBundle\DataContainer\PaletteManipulator; 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'] = [ - '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'], +$GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_files'] = [ 'inputType' => 'checkbox', 'eval' => [ 'tl_class' => 'w50', @@ -109,32 +97,6 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_office'] = [ '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'] = [ 'inputType' => 'text', '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'; /** @@ -170,24 +132,5 @@ PaletteManipulator::create() ->addField('meilisearch_imagesize', 'meilisearch_legend') ->addField('meilisearch_fallback_image', 'meilisearch_legend') ->addField('meilisearch_index_past_events', 'meilisearch_legend') - ->addField('meilisearch_index_pdfs', 'meilisearch_legend') - ->addField('meilisearch_index_office', 'meilisearch_legend') - ->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.' - ); - } -}; \ No newline at end of file + ->addField('meilisearch_index_files', 'meilisearch_legend') + ->applyToPalette('default', 'tl_settings'); \ No newline at end of file diff --git a/src/Resources/contao/languages/de/tl_settings.php b/src/Resources/contao/languages/de/tl_settings.php index bc6d5fd..e5bdaf3 100644 --- a/src/Resources/contao/languages/de/tl_settings.php +++ b/src/Resources/contao/languages/de/tl_settings.php @@ -28,14 +28,10 @@ $GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_past_events'][0] $GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_past_events'][1] = 'Vergangene Kalender-Events werden ebenfalls in Meilisearch indexiert.'; -$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_pdfs'] = [ - 'PDFs indexieren', - 'Aktiviert die Indexierung von PDF-Dateien für die Suche.', +$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_files'] = [ + 'Dateien indexieren', + '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'] = ['Apache Tika URL', 'URL der Apache Tika Instanz (z. B. https://tika.domain.tld).']; \ No newline at end of file