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