diff --git a/public/userarea/export_to_lims.php b/public/userarea/export_to_lims.php index 75cfb32..5ebdbba 100644 --- a/public/userarea/export_to_lims.php +++ b/public/userarea/export_to_lims.php @@ -199,19 +199,17 @@ try { $photos = $stmtPhotos->fetchAll(PDO::FETCH_ASSOC); - // 🔹 STEP 6.2: Upload photos to each Campione - // Photos document the overall test, so all photos are attached to every campione. - + // 🔹 STEP 6.2: Upload photos to the first (main) Campione only $photosUploaded = 0; $logContentPhotos = "Photos for CommessaWeb {$commessaId} (iddatadb={$iddatadb}):\n"; $logContentPhotos .= "Total photos found: " . count($photos) . ", campioni: " . count($campioni) . "\n\n"; if (!empty($campioni) && !empty($photos)) { - foreach ($campioni as $campione) { - $campioneId = (int)($campione['IdCampione'] ?? 0); - if ($campioneId <= 0) continue; + $mainCampione = $campioni[0]; + $campioneId = (int)($mainCampione['IdCampione'] ?? 0); - $logContentPhotos .= "=== Campione {$campioneId} ===\n"; + if ($campioneId > 0) { + $logContentPhotos .= "=== Campione {$campioneId} (main) ===\n"; foreach ($photos as $photo) { $photoPath = $uploadDir . '/' . ltrim($photo['file_path'], './'); @@ -231,6 +229,8 @@ try { $logContentPhotos .= "RESPONSE:\n" . json_encode($photoResult, JSON_PRETTY_PRINT) . "\n\n---\n"; $photosUploaded++; } + } else { + $logContentPhotos .= "SKIP: main campione has invalid IdCampione\n"; } } elseif (empty($campioni)) { $logContentPhotos .= "SKIP: no campioni created, cannot upload photos\n";