Drop getColumnEnumValues()

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
This commit is contained in:
Kamil Tekiela 2023-04-20 00:27:02 +01:00
parent aa689f04f3
commit 2d7617fe47
5 changed files with 8 additions and 56 deletions

View File

@ -480,24 +480,6 @@ class InsertEdit
. '</textarea>';
}
/**
* Get column values
*
* @param string[] $enumSetValues
*
* @return mixed[] column values as an associative array
* @psalm-return list<array{html: string, plain: string}>
*/
private function getColumnEnumValues(array $enumSetValues): array
{
$values = [];
foreach ($enumSetValues as $val) {
$values[] = ['plain' => $val, 'html' => htmlspecialchars($val)];
}
return $values;
}
/**
* Retrieve column 'set' value and select size
*
@ -2037,17 +2019,15 @@ class InsertEdit
}
if ($column['pma_type'] === 'enum') {
if (! isset($column['values'])) {
$column['values'] = $this->getColumnEnumValues($extractedColumnspec['enum_set_values']);
}
$column['values'] ??= $extractedColumnspec['enum_set_values'];
foreach ($column['values'] as $enumValue) {
if (
$data == $enumValue['plain'] || ($data == ''
$data == $enumValue || ($data == ''
&& (! isset($_POST['where_clause']) || $column['Null'] !== 'YES')
&& isset($column['Default']) && $enumValue['plain'] == $column['Default'])
&& isset($column['Default']) && $enumValue == $column['Default'])
) {
$enumSelectedValue = $enumValue['plain'];
$enumSelectedValue = $enumValue;
break;
}
}

View File

@ -4765,11 +4765,6 @@ parameters:
count: 1
path: libraries/classes/InsertEdit.php
-
message: "#^Parameter \\#1 \\$enumSetValues of method PhpMyAdmin\\\\InsertEdit\\:\\:getColumnEnumValues\\(\\) expects array\\<string\\>, mixed given\\.$#"
count: 1
path: libraries/classes/InsertEdit.php
-
message: "#^Parameter \\#1 \\$haystack of function mb_stripos expects string, mixed given\\.$#"
count: 1

View File

@ -7959,7 +7959,6 @@
<code>$data</code>
<code>$data</code>
<code><![CDATA[$extractedColumnspec['enum_set_values']]]></code>
<code><![CDATA[$extractedColumnspec['enum_set_values']]]></code>
<code><![CDATA[$extractedColumnspec['spec_in_brackets']]]></code>
<code><![CDATA[$foreignData['foreign_field']]]></code>
<code><![CDATA[$foreigner['foreign_db']]]></code>
@ -7996,9 +7995,6 @@
<MixedArrayAccess>
<code><![CDATA[$_SESSION['tmpval']['relational_display']]]></code>
<code>$currCellEditedValues[$columnName]</code>
<code><![CDATA[$enumValue['plain']]]></code>
<code><![CDATA[$enumValue['plain']]]></code>
<code><![CDATA[$enumValue['plain']]]></code>
</MixedArrayAccess>
<MixedArrayAssignment>
<code>$editedValues[$cellIndex][$columnName]</code>
@ -8034,6 +8030,7 @@
</MixedArrayOffset>
<MixedAssignment>
<code><![CDATA[$column['pma_type']]]></code>
<code><![CDATA[$column['values']]]></code>
<code>$currCellEditedValues</code>
<code><![CDATA[$currentRow[$column['Field']]]]></code>
<code><![CDATA[$currentRow[$column['Field']]]]></code>
@ -14896,7 +14893,6 @@
<code>$result</code>
<code>$result</code>
<code>$result</code>
<code>$result</code>
</MixedAssignment>
</file>
<file src="test/classes/InternalRelationsTest.php">

View File

@ -71,13 +71,13 @@
<select name="fields[multi_edit][{{ row_id }}][{{ column.Field_md5 }}]" class="textfield" id="field_{{ id_index }}_3" onchange="return verificationsAfterFieldChange('{{ column.Field_md5|escape('js') }}', '{{ row_id|escape('js') }}', '{{ column.pma_type }}')">
<option value=""></option>
{% for enum_value in column.values %}
<option value="{{ enum_value.plain }}"{{ enum_value.plain == enum_selected_value ? ' selected' }}>{{ enum_value.plain }}</option>
<option value="{{ enum_value }}"{{ enum_value == enum_selected_value ? ' selected' }}>{{ enum_value }}</option>
{% endfor %}
</select>
{% else %}
{% for enum_value in column.values %}
<input type="radio" name="fields[multi_edit][{{ row_id }}][{{ column.Field_md5 }}]" value="{{ enum_value.plain }}" class="textfield" id="field_{{ id_index }}_3_{{ loop.index0 }}" onchange="return verificationsAfterFieldChange('{{ column.Field_md5|escape('js') }}', '{{ row_id|escape('js') }}', '{{ column.pma_type }}')"{{ enum_value.plain == enum_selected_value ? ' checked' }}>
<label for="field_{{ id_index }}_3_{{ loop.index0 }}">{{ enum_value.plain }}</label>
<input type="radio" name="fields[multi_edit][{{ row_id }}][{{ column.Field_md5 }}]" value="{{ enum_value }}" class="textfield" id="field_{{ id_index }}_3_{{ loop.index0 }}" onchange="return verificationsAfterFieldChange('{{ column.Field_md5|escape('js') }}', '{{ row_id|escape('js') }}', '{{ column.pma_type }}')"{{ enum_value == enum_selected_value ? ' checked' }}>
<label for="field_{{ id_index }}_3_{{ loop.index0 }}">{{ enum_value }}</label>
{% endfor %}
{% endif %}
{% elseif column.pma_type == 'set' %}

View File

@ -619,25 +619,6 @@ class InsertEditTest extends AbstractTestCase
);
}
/**
* Test for getColumnEnumValues
*/
public function testGetColumnEnumValues(): void
{
$enumSetValues = ['<abc>', '"foo"'];
$result = $this->callFunction(
$this->insertEdit,
InsertEdit::class,
'getColumnEnumValues',
[$enumSetValues],
);
$this->assertEquals(
[['plain' => '<abc>', 'html' => '&lt;abc&gt;'], ['plain' => '"foo"', 'html' => '&quot;foo&quot;']],
$result,
);
}
/**
* Test for getColumnSetValueAndSelectSize
*/