fix: whitelist integration_id against known integrations in product update

This commit is contained in:
2026-02-27 18:26:34 +01:00
parent 5d192427ec
commit 33be5affa3

View File

@@ -456,11 +456,15 @@ final class ProductsController
} }
// Save per-integration content overrides // Save per-integration content overrides
$allowedIntegrationIds = array_map(
static fn (array $i): int => (int) ($i['id'] ?? 0),
$this->integrations->listByType('shoppro')
);
$integrationContent = $request->input('integration_content', []); $integrationContent = $request->input('integration_content', []);
if (is_array($integrationContent)) { if (is_array($integrationContent)) {
foreach ($integrationContent as $rawIntegrationId => $content) { foreach ($integrationContent as $rawIntegrationId => $content) {
$integrationId = (int) $rawIntegrationId; $integrationId = (int) $rawIntegrationId;
if ($integrationId <= 0 || !is_array($content)) { if ($integrationId <= 0 || !is_array($content) || !in_array($integrationId, $allowedIntegrationIds, true)) {
continue; continue;
} }
$this->products->upsertIntegrationTranslation( $this->products->upsertIntegrationTranslation(