From 10065ece4637bbd6777302076effbacfd1685979 Mon Sep 17 00:00:00 2001 From: Terranom674 Date: Thu, 20 Aug 2026 19:40:29 +0200 Subject: [PATCH] Make WebDAV mapping lookup robust by webdav_path --- include/webdav_materialize_runtime.inc.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/include/webdav_materialize_runtime.inc.php b/include/webdav_materialize_runtime.inc.php index 06f8053..13a65b3 100644 --- a/include/webdav_materialize_runtime.inc.php +++ b/include/webdav_materialize_runtime.inc.php @@ -87,7 +87,18 @@ function bratonien_tools_webdav_materialize_source_info($image_id) $mapping = json_decode((string)file_get_contents($mapping_file), true); if (is_array($mapping) && isset($mapping['files']) && is_array($mapping['files'])) { - $entry = $mapping['files'][$resolved] ?? $mapping['files'][$normalized] ?? null; + $files = $mapping['files']; + $entry = $files[$resolved] ?? $files[$normalized] ?? null; + if (!is_array($entry)) + { + foreach ($files as $candidate) + { + if (!is_array($candidate) || (string)($candidate['kind'] ?? '') !== 'file') continue; + if (trim((string)($candidate['webdav_path'] ?? ''), '/') !== $webdav_path) continue; + $entry = $candidate; + break; + } + } if (is_array($entry) && (string)($entry['kind'] ?? '') === 'file') { $mapped_path = trim((string)($entry['webdav_path'] ?? ''), '/');