fix: whitelist integration_id against known integrations in product update
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user