From 719bc917976268eeabaf910fe769864ebebcfc1d Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Mon, 15 May 2023 12:37:27 +0100 Subject: [PATCH] $column['values'] is never set anywhere Signed-off-by: Kamil Tekiela --- libraries/classes/InsertEdit.php | 12 ++++++------ phpstan-baseline.neon | 5 +++++ psalm-baseline.xml | 3 +-- templates/table/insert/column_row.twig | 4 ++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/libraries/classes/InsertEdit.php b/libraries/classes/InsertEdit.php index 818767892a..bce3006e36 100644 --- a/libraries/classes/InsertEdit.php +++ b/libraries/classes/InsertEdit.php @@ -1873,6 +1873,7 @@ class InsertEdit $textareaCols = $GLOBALS['cfg']['TextareaCols']; $maxlength = ''; $enumSelectedValue = ''; + $enumValues = []; $columnSetValues = []; $setSelectSize = 0; $isColumnProtectedBlob = false; @@ -1904,9 +1905,9 @@ class InsertEdit } if ($column['pma_type'] === 'enum') { - $column['values'] ??= $extractedColumnspec['enum_set_values']; + $enumValues = $extractedColumnspec['enum_set_values']; - foreach ($column['values'] as $enumValue) { + foreach ($enumValues as $enumValue) { if ( $data == $enumValue || ($data == '' && (! isset($_POST['where_clause']) || $column['Null'] !== 'YES') @@ -1917,10 +1918,8 @@ class InsertEdit } } } elseif ($column['pma_type'] === 'set') { - $columnSetValues = $column['values'] ?? $extractedColumnspec['enum_set_values']; - $setSelectSize = ! isset($column['values']) - ? min(4, count($extractedColumnspec['enum_set_values'])) - : $column['select_size']; + $columnSetValues = $extractedColumnspec['enum_set_values']; + $setSelectSize = min(4, count($extractedColumnspec['enum_set_values'])); } elseif ($column['is_binary'] || $column['is_blob']) { $isColumnProtectedBlob = ($GLOBALS['cfg']['ProtectBinary'] === 'blob' && $column['is_blob']) || ($GLOBALS['cfg']['ProtectBinary'] === 'all') @@ -1998,6 +1997,7 @@ class InsertEdit 'max_length' => $maxlength, 'longtext_double_textarea' => $GLOBALS['cfg']['LongtextDoubleTextarea'], 'enum_selected_value' => $enumSelectedValue, + 'enum_values' => $enumValues, 'set_values' => $columnSetValues, 'set_select_size' => $setSelectSize, 'is_column_protected_blob' => $isColumnProtectedBlob, diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index a30c940e57..ea4523a673 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -4545,6 +4545,11 @@ parameters: count: 1 path: libraries/classes/IndexColumn.php + - + message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + count: 1 + path: libraries/classes/InsertEdit.php + - message: "#^Cannot access offset string on mixed\\.$#" count: 3 diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 3ac8955e3d..6287095788 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -7697,7 +7697,6 @@ $columnSetValues - $currCellEditedValues @@ -7709,12 +7708,12 @@ $defaultValue $enumSelectedValue $enumValue + $enumValues $fieldsize $file $isUnsigned $maxlength $maxlength - $setSelectSize $singleQuery $specialChars $whereClause diff --git a/templates/table/insert/column_row.twig b/templates/table/insert/column_row.twig index 1dcdeb1c1a..75e1351a0c 100644 --- a/templates/table/insert/column_row.twig +++ b/templates/table/insert/column_row.twig @@ -70,12 +70,12 @@ {% if column.Type|length > 20 %} {% else %} - {% for enum_value in column.values %} + {% for enum_value in enum_values %} {% endfor %}