Bugfix
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
||||||
|
|
||||||
|
use Contao\Config;
|
||||||
use Contao\System;
|
use Contao\System;
|
||||||
use MummertMedia\ContaoMeilisearchBundle\Service\PdfIndexService;
|
use MummertMedia\ContaoMeilisearchBundle\Service\PdfIndexService;
|
||||||
|
|
||||||
@@ -11,7 +12,22 @@ class IndexPageListener
|
|||||||
|
|
||||||
public function onIndexPage(string $content, array &$data, array &$set): void
|
public function onIndexPage(string $content, array &$data, array &$set): void
|
||||||
{
|
{
|
||||||
// 🔑 Service einmal pro Crawl initialisieren + Reset ausführen
|
/*
|
||||||
|
* =====================================================
|
||||||
|
* PDF-Indexierung global deaktiviert?
|
||||||
|
* → sofort raus, nichts anfassen
|
||||||
|
* =====================================================
|
||||||
|
*/
|
||||||
|
if (!Config::get('meilisearch_index_pdfs')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* =====================================================
|
||||||
|
* PDF-Service einmal pro Crawl initialisieren
|
||||||
|
* + Tabelle initial leeren
|
||||||
|
* =====================================================
|
||||||
|
*/
|
||||||
if ($this->pdfIndexService === null) {
|
if ($this->pdfIndexService === null) {
|
||||||
$this->pdfIndexService = System::getContainer()->get(PdfIndexService::class);
|
$this->pdfIndexService = System::getContainer()->get(PdfIndexService::class);
|
||||||
$this->pdfIndexService->resetTableOnce();
|
$this->pdfIndexService->resetTableOnce();
|
||||||
@@ -127,7 +143,7 @@ class IndexPageListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* =====================================================
|
/* =====================================================
|
||||||
* PDF-Links im HTML finden
|
* PDF-Links + Linktext aus HTML extrahieren
|
||||||
* ===================================================== */
|
* ===================================================== */
|
||||||
private function findPdfLinks(string $content): array
|
private function findPdfLinks(string $content): array
|
||||||
{
|
{
|
||||||
@@ -143,7 +159,7 @@ class IndexPageListener
|
|||||||
|
|
||||||
foreach ($matches[1] as $i => $href) {
|
foreach ($matches[1] as $i => $href) {
|
||||||
$result[] = [
|
$result[] = [
|
||||||
'url' => html_entity_decode($href),
|
'url' => html_entity_decode($href),
|
||||||
'linkText' => trim(strip_tags($matches[2][$i])) ?: null,
|
'linkText' => trim(strip_tags($matches[2][$i])) ?: null,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,6 +69,15 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_fallback_image'] = [
|
|||||||
'sql' => "varbinary(16) NULL",
|
'sql' => "varbinary(16) NULL",
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_pdfs'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_pdfs'],
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Palette
|
* Palette
|
||||||
*/
|
*/
|
||||||
@@ -80,4 +89,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')
|
||||||
->applyToPalette('default', 'tl_settings');
|
->applyToPalette('default', 'tl_settings');
|
||||||
@@ -24,3 +24,8 @@ $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'] = [
|
||||||
|
'PDFs indexieren',
|
||||||
|
'Aktiviert die Indexierung von PDF-Dateien für die Suche.',
|
||||||
|
];
|
||||||
Reference in New Issue
Block a user