diff --git a/public/userarea/export_to_lims.php b/public/userarea/export_to_lims.php index d9e0929..a8db866 100644 --- a/public/userarea/export_to_lims.php +++ b/public/userarea/export_to_lims.php @@ -276,21 +276,42 @@ try { } $photoEndpoint = "Campione({$campioneId})/UploadCampioneFile"; - $stampaNelRapporto = !empty($photo['StampaNelRapporto']) ? 'true' : 'false'; - $primaPagina = !empty($photo['PrimaPagina']) ? 'true' : 'false'; + $stampaNelRapporto = !empty($photo['StampaNelRapporto']); + $primaPagina = !empty($photo['PrimaPagina']); $logContentPhotos .= "curl --location --request POST '{$apiBaseUrl}{$photoEndpoint}' \\\n" . "--header 'Authorization: Bearer ••••••' \\\n" . - "--form 'file=@{$fullPath}' \\\n" . - "--form 'StampaNelRapporto={$stampaNelRapporto}' \\\n" . - "--form 'PrimaPagina={$primaPagina}'\n\n"; + "--form 'file=@{$fullPath}'\n\n"; - $extraFields = [ - 'StampaNelRapporto' => $stampaNelRapporto, - 'PrimaPagina' => $primaPagina, - ]; - $photoResult = $api->postMultipart($photoEndpoint, $fullPath, $photo['file_name'], $extraFields); - $logContentPhotos .= "RESPONSE:\n" . json_encode($photoResult, JSON_PRETTY_PRINT) . "\n\n---\n"; + // Step 1: Upload file (flags are ignored by API during upload) + $photoResult = $api->postMultipart($photoEndpoint, $fullPath, $photo['file_name']); + $logContentPhotos .= "UPLOAD RESPONSE:\n" . json_encode($photoResult, JSON_PRETTY_PRINT) . "\n\n"; + + // Step 2: PATCH CampioneFile to set flags (StampaNelRapporto, PrimaPagina) + $campioneFileId = (int)($photoResult['IdCampioneFile'] ?? 0); + if ($campioneFileId > 0 && ($stampaNelRapporto || $primaPagina)) { + $patchPayload = []; + + if ($stampaNelRapporto) { + $patchPayload['StampaNelRapporto'] = true; + } + + if ($primaPagina) { + $patchPayload['PrimaPagina'] = true; + } + + $patchEndpoint = "CampioneFile({$campioneFileId})"; + $patchJsonLog = json_encode($patchPayload, JSON_PRETTY_PRINT); + $logContentPhotos .= "curl --location --request PATCH '{$apiBaseUrl}{$patchEndpoint}' \\\n" . + "--header 'Content-Type: application/json' \\\n" . + "--header 'Authorization: Bearer ••••••' \\\n" . + "--data '{$patchJsonLog}'\n\n"; + + $patchResult = $api->patch($patchEndpoint, $patchPayload); + $logContentPhotos .= "PATCH RESPONSE:\n" . json_encode($patchResult, JSON_PRETTY_PRINT) . "\n\n"; + } + + $logContentPhotos .= "---\n"; $photosUploaded++; } } else {