Bugfix
This commit is contained in:
@@ -20,7 +20,11 @@ class IndexPageListener
|
||||
* PDF: Reset genau 1× pro Crawl
|
||||
* =====================
|
||||
*/
|
||||
try {
|
||||
$this->pdfIndexService->resetTableOnce();
|
||||
} catch (\Throwable $e) {
|
||||
error_log('[ContaoMeilisearch] PDF reset failed: ' . $e->getMessage());
|
||||
}
|
||||
|
||||
/*
|
||||
* =====================
|
||||
@@ -28,7 +32,12 @@ class IndexPageListener
|
||||
* =====================
|
||||
*/
|
||||
if (str_contains($content, 'MEILISEARCH_JSON')) {
|
||||
try {
|
||||
$parsed = $this->extractMeilisearchJson($content);
|
||||
} catch (\Throwable $e) {
|
||||
error_log('[ContaoMeilisearch] Failed to extract MEILISEARCH_JSON: ' . $e->getMessage());
|
||||
$parsed = null;
|
||||
}
|
||||
|
||||
if (is_array($parsed)) {
|
||||
|
||||
@@ -97,6 +106,7 @@ class IndexPageListener
|
||||
* CHECKSUM-FIX
|
||||
* =====================
|
||||
*/
|
||||
try {
|
||||
$checksumSeed = (string) ($data['checksum'] ?? '');
|
||||
$checksumSeed .= '|' . ($set['keywords'] ?? '');
|
||||
$checksumSeed .= '|' . ($set['priority'] ?? '');
|
||||
@@ -104,6 +114,9 @@ class IndexPageListener
|
||||
$checksumSeed .= '|' . ($set['startDate'] ?? '');
|
||||
|
||||
$set['checksum'] = md5($checksumSeed);
|
||||
} catch (\Throwable $e) {
|
||||
error_log('[ContaoMeilisearch] Failed to generate checksum: ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,10 +129,14 @@ class IndexPageListener
|
||||
(bool) Config::get('meilisearch_index_pdfs')
|
||||
&& (int) ($data['protected'] ?? 0) === 0
|
||||
) {
|
||||
try {
|
||||
$pdfLinks = $this->findPdfLinks($content);
|
||||
if ($pdfLinks !== []) {
|
||||
$this->pdfIndexService->handlePdfLinks($pdfLinks);
|
||||
}
|
||||
} catch (\Throwable $e) {
|
||||
error_log('[ContaoMeilisearch] PDF indexing failed: ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -131,10 +148,14 @@ class IndexPageListener
|
||||
(bool) Config::get('meilisearch_index_office')
|
||||
&& (int) ($data['protected'] ?? 0) === 0
|
||||
) {
|
||||
try {
|
||||
$officeLinks = $this->findOfficeLinks($content);
|
||||
if ($officeLinks !== []) {
|
||||
$this->officeIndexService->handleOfficeLinks($officeLinks);
|
||||
}
|
||||
} catch (\Throwable $e) {
|
||||
error_log('[ContaoMeilisearch] Office indexing failed: ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,6 +171,11 @@ class IndexPageListener
|
||||
$json = preg_replace('/^\xEF\xBB\xBF/', '', trim($m[1]));
|
||||
$data = json_decode($json, true);
|
||||
|
||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||
error_log('[ContaoMeilisearch] Invalid MEILISEARCH_JSON: ' . json_last_error_msg());
|
||||
return null;
|
||||
}
|
||||
|
||||
return is_array($data) ? $data : null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user