Skip to content

Commit a91c4d8

Browse files
committed
flatten values already corrupted in db at display time
1 parent 4ee10c7 commit a91c4d8

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

inc/field.class.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1283,6 +1283,18 @@ public static function prepareHtmlFields(
12831283
$value = is_array($decoded) ? $decoded : [];
12841284
}
12851285

1286+
if ($field['multiple'] && is_array($value)) {
1287+
// Flatten any nested arrays caused by corrupted DB data (double-encoded values)
1288+
// so that Dropdown::show() always receives a flat list of scalars.
1289+
$value = array_values(array_filter(
1290+
array_merge(...array_map(
1291+
static fn($v) => is_array($v) ? array_values($v) : [$v],
1292+
$value,
1293+
)),
1294+
is_scalar(...),
1295+
));
1296+
}
1297+
12861298
$field['value'] = $value;
12871299
}
12881300

0 commit comments

Comments
 (0)